Jakie kryteria zatrzymania dla aglomeracyjnego hierarchicznego grupowania są stosowane w praktyce?

32

Znalazłem obszerną literaturę proponującą wszelkiego rodzaju kryteria (np. Glenn i in. 1985 (pdf) i Jung i in. 2002 (pdf)). Jednak większość z nich nie jest tak łatwa do wdrożenia (przynajmniej z mojej perspektywy). Korzystam z scipy.cluster.hierarchy, aby uzyskać hierarchię klastrów, a teraz próbuję zdecydować, jak utworzyć z tego płaskie klastry. Moim celem jest odkrycie wspólnych wzorców w moich obserwacjach, więc nie mam odniesienia do porównania uzyskanego skupienia. Czy ktoś może zaproponować pragmatyczne rozwiązanie?

Björn Pollex
źródło
Na mojej stronie internetowej znajduje się kolekcja zip „Kryteria klastrowania” z opisem (i funkcjami SPSS) wielu popularnych wewnętrznych kryteriów klastrowania (reguły zatrzymywania). Dla Twojej wiadomości.
ttnphns

Odpowiedzi:

18

Poniższy wpis w Wikipedii naprawdę całkiem dobrze wyjaśnia najbardziej popularne i stosunkowo proste metody:

Metoda Elbow heurystyczny opisany jest prawdopodobnie najbardziej popularny ze względu na jego proste wyjaśnienie (ilość wariancji wyjaśnia liczby klastrów) w połączeniu z kontroli wzrokowej. Informacje metoda teoretycznie nie jest trudne do realizacji i czy strona ma pewne Pseudokod można użyć, aby rozpocząć. To ostatnie jest podobne do karanego prawdopodobieństwa opartego na złożoności modelu, jak w dobrze znanych kryteriach informacyjnych, takich jak AIC, BIC itp.

ars
źródło
Dzięki! Artykuł w Wikipedii na temat hierarchicznego klastrowania nie zawiera linku do tego.
Björn
2
No tak. Naprawiono teraz pod linkami „zobacz także”, dziękuję za zwrócenie na to uwagi!
ars
W metodzie łokciowej co zrobić, jeśli obiekty do skupienia są dość „złożone”? Mam na myśli, że nie są to proste punkty, lecz złożone zbiory danych. Doszedłem do wniosku, że jest to odległość parami (odległość zdefiniowana przez siebie). Jak obliczyć tutaj tak zwaną „wariancję”, aby zastosować metodę łokcia?
Sibbs Gambling
17

Trudno jest podać jednoznaczne rozwiązanie dotyczące wyboru „najlepszej” liczby klastrów w danych, niezależnie od stosowanej metody klastrowania, ponieważ Analiza skupień ma na celu wyodrębnienie grup jednostek statystycznych (niezależnie od tego, czy są to jednostki, czy zmienne ) zasadniczo w celach eksploracyjnych lub opisowych. Dlatego też musisz zinterpretować wyniki swojego schematu klastrowania, a kilka rozwiązań klastrowych może być równie interesujących.

Teraz, w odniesieniu do zwykłych kryteriów statystycznych używanych do decydowania o tym, kiedy przestać agregować dane, jak wskazuje @ars, większość to kryteria wizualne , w tym analiza dendrogramu lub kontrola profili klastrów, zwanych również wykresami sylwetki (Rousseeuw, 1987) . Zaproponowano również kilka kryteriów numerycznych , znanych również jako wskaźniki trafności, np. Wskaźnik trafności Dunna, wskaźnik trafności Daviesa-Bouldina, wskaźnik C, gamma Huberta, aby wymienić tylko kilka. Klastrowanie hierarchiczne jest często uruchamiane razem z k-średnich (w rzeczywistości kilka instancji k-średnich, ponieważ jest to algorytm stochastyczny), dzięki czemu dodaje obsługę znalezionych rozwiązań klastrowych. Nie wiem, czy wszystkie te rzeczy są łatwo dostępne w Pythonie, ale ogromna liczba metod jest dostępna w języku R (zobaczWidok zadania klastra , cytowany już przez @mbq na powiązane pytanie: Jakie narzędzia można zastosować do zastosowania algorytmów klastrowania w MovieLens? ). Inne podejścia obejmują grupowanie rozmyte i oparte na modelach (zwane również analizą cech ukrytych w społeczności psychometrycznej), jeśli poszukujesz bardziej niezawodnego sposobu wyboru liczby klastrów w swoich danych.

BTW, właśnie natknąłem się na tę stronę, klastra Scipy , który jest rozszerzeniem Scipy do generowania, wizualizacji i analizy hierarchicznych klastrów . Może zawiera inne funkcjonalności? Słyszałem również o PyChem, który oferuje całkiem niezłe rzeczy do analizy wielowymiarowej.

Pomocne mogą być również następujące odniesienia:

Steinley, D. i Brusco, MJ (2008). Wybór zmiennych w analizie skupień: empiryczne porównanie ośmiu procedur. Psychometrika , 73 , 125-144.

chl
źródło
Dzięki za tę doskonałą odpowiedź! W rzeczywistości hierarchiczny moduł klastrowania, który pokazałeś, jest już częścią scipy. Ponadto scipy zapewnia implementację k-średnich, więc mogłem z łatwością tego użyć.
Björn Pollex,
Ok, nie zagłębiałem się w szczegóły. W przypadku k-średnich, musisz zwrócić uwagę na fakt, że generalnie potrzebujemy dwóch zewnętrznych pętli do sprawdzania poprawności rozwiązania klastrowego (jedna, w której zmieniasz liczbę klastrów, a druga, aby zmieniać ziarno - celem jest zminimalizowanie RSS); możesz użyć statystyki Gap, aby wybrać optymalną liczbę klastrów.
chl
5

Niedawno stałem się fundatorem metody wizualizacji klastrergramu (wdrożonej w R).

Używam go jako dodatkowej metody oceny „dobrej” liczby klastrów. Rozszerzenie go na inne metody klastrowania nie jest tak trudne (tak naprawdę to zrobiłem, po prostu nie opublikowałem kodu)

alt text

Tal Galili
źródło