¿Qué algoritmo implementa ward.D en hclust () si no es el criterio de Ward?

16

El utilizado por la opción "ward.D" (equivalente a la única opción Ward "ward" en las versiones R <= 3.0.3) no implementa el criterio de agrupación de Ward (1963), mientras que la opción "ward.D2" implementa ese criterio ( Murtagh y Legendre 2014).

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

Aparentemente, ward.D no implementa el criterio de Ward correctamente. No obstante, parece hacer un buen trabajo con respecto a las agrupaciones que produce. ¿Qué implementa method = "ward.D" si no es el criterio de Ward?

Referencias

Murtagh, F. y Legendre, P. (2014). Método de agrupamiento aglomerativo jerárquico de Ward: ¿qué algoritmos implementan el criterio de Ward? Diario de Clasificación , 31 (3), 274-295.

Raffael
fuente
¿El artículo de Murthagh y Legendre dice algo sobre esto?
cbeleites apoya a Monica el
No tengo acceso a ese documento
Raffael
Lo primero que me resulta una búsqueda es el pdf del manuscrito en u montreal !?
cbeleites apoya a Monica el
Entonces, ¿qué dice el periódico? No puedo encontrarlo
Raffael
Eso es lo que te pido que nos digas.
cbeleites apoya a Monica el

Respuestas:

11

El manuscrito relevante está aquí .

La diferencia entre ward.D y ward.D2 es la diferencia entre los dos criterios de agrupación que en el manuscrito se denominan Ward1 y Ward2.

Básicamente se reduce al hecho de que el algoritmo Ward se implementa directamente correctamente solo en Ward2 (ward.D2), pero Ward1 (ward.D) también se puede usar, si las distancias euclidianas (desde dist()) se cuadran antes de ingresarlas en el hclust()usando el ward.D como método.

Por ejemplo, SPSS también implementa Ward1, pero advierte a los usuarios que las distancias deben cuadrarse para obtener el criterio Ward. En tal sentido, la implementación de ward.D no está en desuso y, sin embargo, podría ser una buena idea retenerla por compatibilidad con versiones anteriores.      

JTT
fuente
2
Del documento que vincula a él no se sigue Ward algorithm is directly correctly implemented in just Ward2, sino que: (1) para obtener resultados correctos con ambas implementaciones, use distancias euclidianas cuadradas con Ward1 y distancias euclidianas no cuadradas con Ward2; (2) para hacer que sus dendrogramas de salida sean más comparables (idénticos), aplique la raíz cuadrada a los niveles de fusión después de Ward1 o los niveles de fusión cuadrados después de Ward2, antes de construir el dendrograma.
ttnphns
Estas en lo correcto, por su puesto. Gracias por la aclaración. Lo que quise decir con "implementado directamente correctamente" es que no se necesitan más pasos, como tomar una raíz cuadrada de las alturas, para llegar al resultado correcto con el método ward.D2.
JTT
1
El pequeño matiz aquí es que con el método de Ward, se no define lo que es "correcto" o verdadera presentación niveles de fusión - si deben ser trazados "nonsquared" o "cuadrado". La causa de la indecisión es que los niveles de fusión en Ward no son distancias , son dispersiones incrementales .
ttnphns
9

La única diferencia entre ward.D&ward.D2 es el parámetro de entrada.

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

que son equivalentes a: hclust(dist(x),method="ward.D2")

Puede encontrar el documento de investigación: Método de agrupación jerárquica de Ward: Criterio de agrupación y algoritmo de aglomeración

Los valores del criterio Ward2 están " en una escala de distancias ", mientras que los valores del criterio Ward1 están " en una escala de distancias al cuadrado ".

Nilesh
fuente
Prefiero esta respuesta ya que la otra implica que ward.D está mal, no lo está. Sólo diferente.
Chris
6

Me encontré con el artículo de investigación que corresponde a la función objetivo que está siendo optimizada por "Ward1 (ward.D)": Agrupación jerárquica a través de distancias conjuntas entre interiores: extender el método de variación mínima de Ward . Resulta que la implementación de R de "Ward1 (ward.D)" es equivalente a minimizar la distancia de energía entre los grupos de grupos.

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
fuente
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