Quel algorithme ward.D dans hclust () implémente-t-il si ce n'est pas le critère de Ward?

16

Celui utilisé par l'option "ward.D" (équivalent à la seule option Ward "ward" dans les versions R <= 3.0.3) n'implémente pas le critère de regroupement de Ward (1963), tandis que l'option "ward.D2" implémente ce critère ( Murtagh et Legendre 2014).

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

Apparemment, ward.D n'implémente pas correctement le critère de Ward. Néanmoins, il semble faire du bon travail en ce qui concerne les clusters qu'il produit. Que met en œuvre method = "ward.D" si ce n'est pas le critère de Ward?

Les références

Murtagh, F. et Legendre, P. (2014). Méthode d'agrégation agglomérative hiérarchique de Ward: quels algorithmes mettent en œuvre le critère de Ward?. Journal of Classification , 31 (3), 274-295.

Raffael
la source
Le document de Murthagh et Legendre en dit-il quelque chose?
cbeleites prend en charge Monica
Je n'ai pas accès à ce document
Raffael
La première chose qu'une recherche se révèle pour moi est le pdf du manuscrit à u montreal !?
cbeleites prend en charge Monica le
alors que dit le journal? Je ne le trouve pas
Raffael
C'est ce que je vous demande de nous dire.
cbeleites prend en charge Monica

Réponses:

11

Le manuscrit pertinent est ici .

La différence entre ward.D et ward.D2 est la différence entre les deux critères de regroupement qui dans le manuscrit sont appelés Ward1 et Ward2.

Cela revient essentiellement au fait que l'algorithme de Ward est directement correctement implémenté dans seulement Ward2 (ward.D2), mais Ward1 (ward.D) peut également être utilisé, si les distances euclidiennes (de dist()) sont au carré avant de les entrer dans le hclust()en utilisant le ward.D comme méthode.

Par exemple, SPSS implémente également Ward1, mais avertit les utilisateurs que les distances doivent être au carré pour obtenir le critère Ward. Dans un tel sens, la mise en œuvre de ward.D n'est pas déconseillée, et il pourrait néanmoins être judicieux de la conserver pour une compatibilité descendante.      

JTT
la source
2
Le document Ward algorithm is directly correctly implemented in just Ward2auquel vous vous connectez ne suit pas , mais plutôt que: (1) pour obtenir des résultats corrects avec les deux implémentations, utilisez des distances euclidiennes carrées avec Ward1 et des distances euclidiennes non carrées avec Ward2; (2) pour rendre leurs dendrogrammes de sortie comparables (identiques), appliquez la racine carrée aux niveaux de fusion après Ward1 ou les niveaux de fusion carrés après Ward2, avant de construire le dendrogramme.
ttnphns
Vous avez raison, bien sûr. Merci pour la clarification. Ce que j'entendais par «directement correctement mis en œuvre», c'est qu'aucune autre étape, comme prendre une racine carrée des hauteurs, n'est nécessaire pour arriver au résultat correct avec la méthode ward.D2.
JTT
1
La petite nuance ici est qu'avec la méthode de Ward, il n'est pas défini ce qui est une présentation "correcte" ou vraie des niveaux de fusion - s'ils doivent être tracés "non carrés" ou "carrés". La cause de l'indécision est que les niveaux de fusion dans Ward ne sont pas des distances , ce sont des dispersions incrémentales .
ttnphns
9

La seule différence entre ward.D& ward.D2est le paramètre d'entrée.

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

qui équivalent à: hclust(dist(x),method="ward.D2")

Vous pouvez trouver le document de recherche: Méthode de regroupement hiérarchique de Ward: critère de regroupement et algorithme d'agglomération

Les valeurs des critères Ward2 sont « sur une échelle de distances » alors que les valeurs des critères Ward1 sont « sur une échelle de distances au carré ».

Nilesh
la source
Je préfère cette réponse car l'autre implique que ward.D est faux, ce n'est pas le cas. Juste différent.
Chris
6

Je suis tombé sur le document de recherche qui correspond à la fonction objective qui est optimisée par "Ward1 (ward.D)": Regroupement hiérarchique via des distances inter-intra communes: Extension de la méthode de variance minimale de Ward . Il s'avère que la mise en œuvre par R de "Ward1 (ward.D)" équivaut à minimiser la distance énergétique entre les groupes de grappes.

e

A={a1,,an1}B={b1,,bn2}Rdee(A,B)AB

e(A,B)=n1n2n1+n2(2n1n2i=1n1j=1n2aibj(1)1n12i=1n1j=1n1aiaj1n22i=1n2j=1n2bibj).
user3235207
la source
Are you sure that that is the correct interpretation of the contents of that paper? It seems to me that e(2) corresponds to ward.D2, but I don't think it is stated anywhere that e(1) corresponds to ward.D1. In fact, on page 161–162, it is stated that for 0<α<2, e(α) does not correspond to any power of Euclidean distance, assuming cluster size is greater than 1 . Interesting paper none the less.
Jonas Dahlbæk