Phân cụm theo phân cấp với dữ liệu loại hỗn hợp - khoảng cách / độ tương tự sẽ sử dụng?


34

Trong tập dữ liệu của tôi, chúng tôi có cả hai biến liên tục và tự nhiên rời rạc. Tôi muốn biết liệu chúng ta có thể thực hiện phân cụm theo phân cấp bằng cả hai loại biến không. Và nếu có, khoảng cách nào là phù hợp?


Phần mềm nào bạn đang sử dụng?
rolando2

@ rolando2: Tôi đang sử dụng R (gói hclus).
Beta

1
Có một lý do cho việc sử dụng phân cụm phân cấp?
suncoolsu

Na. Tôi chỉ hỏi câu hỏi này vì lợi ích của kiến ​​thức của tôi. Chúng ta có thể phân cấp khi chúng ta có kiểu dữ liệu hỗn hợp. Nếu có thì tại sao? Nếu không thì tại sao?
Beta

@ user4278 Vâng, mục tiêu của bạn là gì trong mỹ ? Bạn đang tìm cách xác định các cụm (của các cá nhân)?
chl

Câu trả lời:


45

Một cách là sử dụng hệ số tương tự Gower là thước đo tổng hợp ; nó cần các biến định lượng (như thang đánh giá), nhị phân (như hiện tại / vắng mặt) và các biến danh nghĩa (như worker / teacher / clerk). Sau đó Podani đã thêm một tùy chọn để nhận các biến số thứ tự.122

Hệ số được hiểu dễ dàng ngay cả khi không có công thức; bạn tính giá trị tương tự giữa các cá nhân theo từng biến, lấy loại biến đó vào tài khoản và sau đó tính trung bình trên tất cả các biến. Thông thường, một chương trình tính toán Gower sẽ cho phép bạn tính các biến trọng số, nghĩa là đóng góp của chúng, cho công thức tổng hợp. Tuy nhiên, trọng số chính xác của các biến thuộc loại khác nhau là một vấn đề , không có hướng dẫn rõ ràng nào tồn tại, điều này làm cho Gower hoặc các chỉ số "tổng hợp" khác của các điểm gần nhau phải đối mặt.

Các khía cạnh của sự tương tự Gower ( ):GS

  • Khi tất cả các biến là định lượng (khoảng) thì hệ số là khoảng cách Manhattan bình thường hóa phạm vi được chuyển đổi thành độ tương tự. Do các biến chuẩn hóa của các đơn vị khác nhau có thể được sử dụng một cách an toàn. Tuy nhiên, bạn không nên quên đi các ngoại lệ. (Bạn cũng có thể quyết định bình thường hóa bằng một biện pháp lây lan khác so với phạm vi.) Do sự chuẩn hóa nói trên của một thống kê, chẳng hạn như phạm vi, nhạy cảm với thành phần của các cá nhân trong tập dữ liệu Sự tương đồng của Gower giữa một số cá nhân có thể thay đổi giá trị của nó nếu bạn loại bỏ hoặc thêm một số cá nhân khác trong dữ liệu.
  • Khi tất cả các biến là thứ tự, thì chúng được xếp hạng đầu tiên và sau đó Manhattan được tính toán, như trên với các biến định lượng, nhưng với sự điều chỉnh đặc biệt cho các mối quan hệ.
  • Khi tất cả các biến là nhị phân (có ý nghĩa không đối xứng của các loại: thuộc tính "hiện tại" so với "vắng mặt") thì hệ số là hệ số phù hợp Jaccard (hệ số này xử lý khi cả hai cá nhân không có thuộc tính không khớp hoặc không khớp).
  • Khi tất cả các biến là danh nghĩa (cũng bao gồm ở đây phân đôi có ý nghĩa đối xứng: "this" vs "that") thì hệ số là hệ số khớp Dice mà bạn có được từ các biến danh nghĩa của mình nếu mã hóa chúng thành các biến giả (xem câu trả lời này để biết thêm) .

(Thật dễ dàng để mở rộng danh sách các loại. Ví dụ: người ta có thể thêm một triệu hồi cho các biến đếm, sử dụng khoảng cách bình phương chi bình thường được chuyển đổi thành tương tự.)

Hệ số nằm trong khoảng từ 0 đến 1.

" Khoảng cách Gower ". Không có các biến số thứ tự (nghĩa là sử dụng tùy chọn của Podani) hoạt động như khoảng cách Euclide, nó hỗ trợ đầy đủ không gian euclide. Nhưng chỉ là số liệu (hỗ trợ bất đẳng thức tam giác), không phải Euclide. Với các biến số thứ tự hiện tại (sử dụng tùy chọn của Podani) chỉ là số liệu, không phải là Euclide; và không phải là số liệu. Xem thêm .1GS1GS1GS1GS

Với khoảng cách euclide (khoảng cách hỗ trợ không gian Euclide), hầu như bất kỳ kỹ thuật phân cụm cổ điển nào cũng sẽ làm được. Bao gồm cả phương tiện K (nếu chương trình K-mean của bạn có thể xử lý ma trận khoảng cách, tất nhiên) và bao gồm các phương pháp phân cụm phân cấp của Ward, centroid, trung vị . Có thể sử dụng phương tiện K hoặc các phương pháp khác dựa trên khoảng cách Euclide với khoảng cách số liệu không phải là euclide có thể được chấp nhận theo phương pháp heuristur, có thể được chấp nhận. Với khoảng cách không số liệu, không có phương pháp nào có thể được sử dụng.

Đoạn trước nói về việc K-mean hoặc Ward hoặc cụm như vậy có hợp pháp hay không với khoảng cách Gower về mặt toán học (về mặt hình học). Từ quan điểm của thang đo ("tâm lý"), người ta không nên tính độ lệch trung bình hoặc độ lệch khoảng cách từ nó trong bất kỳ dữ liệu phân loại (danh nghĩa, nhị phân, cũng như thứ tự) nào; do đó, từ lập trường này, bạn chỉ có thể không xử lý hệ số Gower bằng K-mean, Ward, v.v. Quan điểm này cảnh báo rằng ngay cả khi có không gian Euclide, nó có thể được tạo hạt, không trơn tru ( xem liên quan ).


1 Gower JC Một hệ số tương tự chung và một số tính chất của nó // Biometrics, 1971, 27, 857-872

2 Podani, J. Kéo dài hệ số tương tự chung của Gower với các ký tự thứ tự // Taxon, 1999, 48, 331-340


Cảm ơn ttnphns! Bạn có thể vui lòng cho tôi biết "Hệ số tương tự Gower" được tích hợp trong gói hclus trong R không? Có gói nào trong R có chức năng này không.
Beta

Tôi không phải là người dùng R nên không biết và không nghĩ rằng bạn sẽ tìm thấy nó trong hclus. Nhưng nếu bạn Google "Gower tương tự R", bạn chắc chắn sẽ tìm thấy những gì bạn cần!
ttnphns

user4278, Chỉ trong trường hợp bạn không trốn tránh SPSS, tôi có một macro cho sự tương tự Gower trên trang web của tôi. Nó chấp nhận trọng số và thiếu dữ liệu.
ttnphns

@ user4278 Giới thiệu về R cụ thể, bắt đầu tại đây: cran.r-project.org/web/view/Envirmetrics.html
chl

@ttnphns: Cảm ơn bạn! Tôi đã truy cập trang web của bạn và đó là một tài nguyên tuyệt vời cho SPSS. Nhưng thật không may, tôi không sử dụng SPSS quá nhiều. Nhưng tôi chắc chắn sẽ sử dụng nó nếu tôi không nhận được bất cứ điều gì trong R. @ chl: Cảm ơn bạn! Nhưng đó là một danh sách lớn. Tôi đọc được ở đâu đó rằng Daisy, trong gói cụm, có chức năng tương tự Gower.
Beta

15

Nếu bạn vấp phải câu hỏi này và đang băn khoăn không biết nên tải gói nào để sử dụng số liệu Gower trong R , thì clustergói đó có một hàm có tên là daisy () , theo mặc định sử dụng số liệu của Gower mỗi khi sử dụng các loại biến hỗn hợp. Hoặc bạn có thể tự đặt nó để sử dụng số liệu của Gower.

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))

4
Hơn nữa để trả lời Zhubarb của , nếu bạn muốn khoảng cách Gower giữa tất cả các cặp từ hai tập hợp dữ liệu, sau đó xem các gói R StatMatch.
James Hirschorn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.