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.
la source
Réponses:
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 lehclust()
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.
la source
Ward algorithm is directly correctly implemented in just Ward2
auquel 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.La seule différence entre
ward.D
&ward.D2
est 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é ».
la source
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.
la source
ward.D2
, but I don't think it is stated anywhere thatward.D1
. In fact, on page 161–162, it is stated that for