Jaki algorytm implementuje ward.D w hclust (), jeśli nie jest to kryterium Warda?

16

Ten używany przez opcję „ward.D” (odpowiednik jedynej opcji Ward „ward” w wersjach R <= 3.0.3) nie implementuje kryterium grupowania Warda (1963), natomiast opcja „ward.D2” implementuje to kryterium ( Murtagh i Legendre 2014).

( http://stat.ethz.ch/R-manual/R-pched/library/stats/html/hclust.html )

Najwyraźniej totem D. nie wdraża poprawnie kryterium totemu. Niemniej jednak wydaje się, że dobrze sobie radzi z tworzonymi przez siebie klastrami. Co implementuje metoda = „totem.D”, jeśli nie jest to kryterium totemu?

Bibliografia

Murtagh, F., i Legendre, P. (2014). Hierarchiczna metoda skupiania aglomeracyjnego Warda: które algorytmy implementują kryterium Warda ?. Journal of Classification , 31 (3), 274–295.

Raffael
źródło
Czy gazety Murthagh i Legendre mówią coś na ten temat?
cbeleites wspiera Monikę
Nie mam dostępu do tego artykułu
Raffael
Pierwszą rzeczą, która pojawia się dla mnie, jest pdf manuskryptu u montreal !?
cbeleites wspiera Monikę
więc co mówi gazeta? Nie mogę tego znaleźć
Raffael
Właśnie o to proszę.
cbeleites wspiera Monikę

Odpowiedzi:

11

Odpowiedni manuskrypt znajduje się tutaj .

Różnica między totemem D i totemem D2 jest różnicą między dwoma kryteriami grupowania, które w manuskrypcie nazywane są Totem1 i Totem2.

Zasadniczo sprowadza się to do tego, że algorytm totemu jest bezpośrednio poprawnie zaimplementowany tylko w totem2 (totem2), ale totem1 (totemowy) może być również użyty, jeśli odległości euklidesowe (od dist()) zostaną podniesione do kwadratu przed wprowadzeniem ich do hclust()za pomocą metody tot jako metody.

Na przykład SPSS również implementuje Ward1, ale ostrzega użytkowników, że odległości powinny być podniesione do kwadratu, aby uzyskać kryterium Totem. W takim sensie implementacja totem D nie jest przestarzała, ale dobrym pomysłem może być zachowanie go dla kompatybilności wstecznej.      

JTT
źródło
2
Z artykułu, do którego linkujesz, nie wynika Ward algorithm is directly correctly implemented in just Ward2, ale raczej, że: (1) aby uzyskać poprawne wyniki dla obu implementacji, użyj kwadratowych odległości euklidesowych z Totem1 i niekwadratowych odległości euklidesowych z Totem2; (2) w celu dalszego porównania ich wyjściowych dendrogramów (identycznych), zastosuj pierwiastek kwadratowy do poziomów fuzji po Ward1 lub kwadratowych poziomów fuzji po Ward2, przed skonstruowaniem dendrogramu.
ttnphns
Oczywiście masz rację. Dziękuję za wyjaśnienie. To, co rozumiem przez „bezpośrednio poprawnie zaimplementowane”, to to, że żadne dalsze kroki, takie jak pierwiastek kwadratowy z wysokości, nie są potrzebne, aby dojść do prawidłowego wyniku za pomocą metody ward.D2.
JTT
1
Maleńki niuans tutaj jest to, że metodą Warda, to nie definiuje, co jest „poprawne” lub prawdziwe przedstawienie poziomów Fusion - czy powinny być wykreślone „nonsquared” lub „kwadrat”. Przyczyną niezdecydowania jest to, że poziomy syntezy jądrowej na Oddziale nie są odległościami , lecz przyrostowymi dyspersjami.
ttnphns
9

Jedyną różnicą między ward.D& ward.D2jest parametr wejściowy.

hclust(dist(x)^2,method="ward.D") ~ hclust(dist(x)^2,method="ward")

które są równoważne: hclust(dist(x),method="ward.D2")

Możesz znaleźć artykuł ponownie: Hierarchiczna metoda grupowania Warda: kryterium klastrowania i algorytm aglomeracyjny

W Ward2 wartości kryterium są „ w skali od odległości ” natomiast Ward1 wartości kryterium są „ w skali od odległości do kwadratu ”.

Nilesh
źródło
Wolę tę odpowiedź, ponieważ druga sugeruje, że totem jest zły, nie jest. Po prostu inny.
Chris
6

Natknąłem się na artykuł badawczy, który odpowiada funkcji celu, która jest optymalizowana przez „Ward1 (ward.D)”: Hierarchiczne grupowanie poprzez wspólne odległości wewnątrz: Rozszerzanie metody minimalnej wariancji totemu . Okazuje się, że implementacja „Ward1 (ward.D)” R jest równoważna minimalizacji odległości energii między grupami klastrów.

2.1 klastrze i funkcja celue

Niech a B = { b 1 , ... , b n 2 } jest niepuste podzbiory R d . Określają między-na, lub e -odległość e ( , B ) pomiędzy A i B jako E ( A , B ) = N 1 n 2A={a1,,an1}B={b1,,bn2}Rdee(A,B)AB

e(A,B)=n1n2n1+n2(2n1n2i=1n1j=1n2aibj(1)1n12i=1n1j=1n1aiaj1n22i=1n2j=1n2bibj).
użytkownik3235207
źródło
e(2)ward.D2e(1)ward.D10<α<2e(α)1