Bạn có thể sử dụng khoảng cách Manhattan với liên kết giữa các cụm của Ward trong phân cụm theo cấp bậc không?


15

Tôi đang sử dụng phân cụm theo phân cấp để phân tích dữ liệu chuỗi thời gian. Mã của tôi được triển khai bằng hàm MathicalaDirectAgglomerate[...] , tạo ra các cụm phân cấp cho các đầu vào sau:

  • một ma trận khoảng cách D

  • tên của phương thức được sử dụng để xác định liên kết giữa các cụm.

Tôi đã tính ma trận khoảng cách D bằng khoảng cách Manhattan:

d(x,y)= =ΣTôi|xTôi-yTôi|

nơi n 150 là số điểm dữ liệu trong chuỗi thời gian của tôi.Tôi= =1,,nn150

Câu hỏi của tôi là, có ổn không khi sử dụng liên kết giữa các cụm của Ward với ma trận khoảng cách Manhattan? Một số nguồn cho rằng liên kết của Ward chỉ nên được sử dụng với khoảng cách Euclide.

Lưu ý rằng DirectAgglomerate[...]tính toán liên kết của Ward chỉ bằng ma trận khoảng cách, không phải các quan sát ban đầu. Thật không may, tôi không chắc chắn như thế nào Mathematica sẽ thay đổi thuật toán gốc Phường, mà (từ hiểu biết của tôi) làm việc bằng cách giảm thiểu số tiền lỗi bình phương của các quan sát, tính toán liên quan đến giá trị trung bình cluster với. Ví dụ, đối với một cụm bao gồm một vectơ quan sát đơn biến, Ward đã lập công thức tổng các lỗi bình phương là:c

(j||cjmean(c)||2)2

(Các công cụ phần mềm khác như Matlab và R cũng triển khai phân cụm của Ward chỉ bằng cách sử dụng ma trận khoảng cách để câu hỏi không dành riêng cho Mathicala.)


Gần đây tôi đã phân tích một tập hợp dữ liệu khá lớn bằng phương pháp Ward. Trong trường hợp cụ thể của tôi, khoảng cách Manatthan về cơ bản giống với khoảng cách Euclide. Tôi không thể cung cấp cho bạn bất kỳ bằng chứng toán học nào có lợi cho bất kỳ phương pháp kết hợp nào, nhưng - ít nhất trong trường hợp của tôi - việc phân cụm không bị ảnh hưởng bởi phương pháp khoảng cách
nico

Tất cả các hàm R không nhất thiết phải đợi một ma trận khoảng cách. Xem ví dụ, trợ giúp trực tuyến agnestrong gói cụm .
chl

Nó thực sự ổn khi sử dụng bất kỳ khoảng cách. Kiểm tra vlado.fmf.uni-lj.si/pub/preprint/ward.pdf Điều hấp dẫn duy nhất là, ý nghĩa mà chúng ta đang nói đến không còn là ý nghĩa số học mà là ý nghĩa của Frechet.
Randy Lai

Nhưng chúng ta có thể sử dụng khoảng cách manhattan để liên kết hoàn toàn không ??
Payel Banerjee

Câu trả lời:


8

Thuật toán phân cụm Ward là một phương pháp phân cụm theo cấp bậc nhằm giảm thiểu tiêu chí 'quán tính' ở mỗi bước. Quán tính này định lượng tổng số dư bình phương giữa tín hiệu giảm và tín hiệu ban đầu: đó là thước đo phương sai của sai số trong cảm giác l2 (Euclide). Trên thực tế, bạn thậm chí đề cập đến nó trong câu hỏi của bạn. Đây là lý do tại sao, tôi tin rằng, sẽ không có ý nghĩa gì khi áp dụng nó vào ma trận khoảng cách không phải là khoảng cách E2 l2.

Mặt khác, một liên kết trung bình hoặc một cụm phân cấp liên kết đơn sẽ hoàn toàn phù hợp cho các khoảng cách khác.


2
Cám ơn bạn đã góp ý; Tôi nghĩ rằng bạn là chính xác. Tuy nhiên, trong thực tế, dường như mối liên kết của Ward thường được sử dụng với khoảng cách không phải là Euclide. Tôi vẫn không chắc ý nghĩa của việc này có thể là gì.
Rachel

Có lẽ nó đến từ những người sử dụng Ward đơn giản vì nó được nhiều người biết đến. Tôi sẽ nói rằng Ward không mang lại lợi ích so với một liên kết trung bình trong cài đặt này. Tuy nhiên, nó đắt hơn về mặt tính toán (bạn cần tính hai khoảnh khắc đầu tiên cho mỗi lần hợp nhất hoặc để tính toán trước chúng). Do đó, từ quan điểm thực dụng, tôi chỉ đơn giản là đi liên kết trung bình.
Gael Varoquaux

1
Trên thực tế, quán tính sẽ được xác định bằng cách sử dụng tổng khoảng cách bình phương (không cần thiết phải là euclid) xem vlado.fmf.uni-lj.si/pub/preprint/ward.pdf
Randy Lai

5

Tôi không thể nghĩ ra bất kỳ lý do nào khiến Ward nên ủng hộ bất kỳ số liệu nào. Phương pháp của Ward chỉ là một tùy chọn khác để quyết định cụm nào sẽ hợp nhất tiếp theo trong quá trình kết tụ. Điều này đạt được bằng cách tìm hai cụm có sự hợp nhất sẽ giảm thiểu một lỗi nhất định ( nguồn kiểm tra cho công thức ).

Do đó, nó dựa trên hai khái niệm:

  1. Giá trị trung bình của các vectơ (đối với vectơ số) thường được tính bằng cách tính trung bình trên mỗi chiều riêng biệt.
  2. Bản thân số liệu khoảng cách tức là khái niệm về độ tương tự được biểu thị bằng số liệu này.

Vì vậy: Miễn là các thuộc tính của số liệu được chọn (như ví dụ xoay, dịch hoặc tỷ lệ bất biến) thỏa mãn nhu cầu của bạn (và số liệu phù hợp với cách tính của cụm sao), tôi không thấy bất kỳ lý do nào để không sử dụng nó .

Tôi nghi ngờ rằng hầu hết mọi người đề xuất số liệu euclid vì họ

  • muốn tăng trọng số của sự khác biệt giữa giá trị trung bình của cụm và một vectơ quan sát đơn (được thực hiện bằng phương pháp bậc hai)
  • hoặc bởi vì nó được đưa ra dưới dạng số liệu tốt nhất trong xác thực dựa trên dữ liệu của họ
  • hoặc bởi vì nó được sử dụng nói chung.

Cám ơn phản hồi của bạn. Tôi đã làm rõ câu hỏi của mình một chút để làm nổi bật rằng thuật toán 'DirectAgglom Cả [...]' chỉ lấy một ma trận khoảng cách. Vì điều này, việc triển khai sửa đổi liên kết của Ward sẽ dựa trên giả định rằng Ma trận khoảng cách là Euclide? Ví dụ, việc triển khai liên kết của Ward của Matlab lưu ý rằng nó chỉ phù hợp với khoảng cách Euclide ( mathworks.com/help/toolbox/stats/linkage.html ).
Rachel

1
@Rachel: aaah, tôi hiểu rồi. Bất kỳ phường thực hiện phải tính khoảng cách giữa các thành viên cụm và trung tâm. Theo trực giác, rõ ràng số liệu được sử dụng cho điều này phải tương đương với số liệu được sử dụng để tính khoảng cách giữa các lần quan sát ... do đó matlab yêu cầu một distmatrix euclid. Nhưng bây giờ câu hỏi đặt ra tại sao việc triển khai không yêu cầu một hàm thay vì ma trận khoảng cách? Bao nhiêu thiệt hại được thực hiện khi một người sử dụng các số liệu khác nhau cho cả hai nhiệm vụ? Tôi thừa nhận, tôi không biết điều đó đúng.
steffen

xin chào ví dụ loại bỏ. có trang web nào khác không?
MonsterMMORPG

2

Một cách nghĩ khác về điều này, có thể cho vay để thích nghi với 1là sự lựa chọn của giá trị trung bình xuất phát từ thực tế là giá trị trung bình là điểm giảm thiểu tổng khoảng cách Euclide bình phương. Nếu bạn đang sử dụng1 để đo khoảng cách giữa các chuỗi thời gian, sau đó bạn nên sử dụng một trung tâm để giảm thiểu tổng bình phương 1 khoảng cách.

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.