Est-il acceptable d'utiliser la distance de Manhattan avec la liaison inter-cluster de Ward dans le clustering hiérarchique?


15

J'utilise le clustering hiérarchique pour analyser les données de séries chronologiques. Mon code est implémenté à l'aide de la fonction MathematicaDirectAgglomerate[...] , qui génère des clusters hiérarchiques compte tenu des entrées suivantes:

  • une matrice de distance D

  • le nom de la méthode utilisée pour déterminer la liaison inter-cluster.

J'ai calculé la matrice de distance D en utilisant la distance de Manhattan:

d(x,y)=i|xiyi|

où et est le nombre de points de données dans ma série chronologique.n 150i=1,,nn150

Ma question est, est-il correct d'utiliser la liaison inter-cluster de Ward avec une matrice de distance de Manhattan? Certaines sources suggèrent que le couplage de Ward ne devrait être utilisé qu'avec la distance euclidienne.

Notez que DirectAgglomerate[...]calcule le lien de Ward en utilisant la matrice de distance uniquement, et non les observations originales. Malheureusement, je ne sais pas comment Mathematica modifie l'algorithme original de Ward, qui (d'après ma compréhension) a fonctionné en minimisant la somme d'erreur des carrés des observations, calculée par rapport à la moyenne du cluster. Par exemple, pour un cluster constitué d'un vecteur d'observations univariées, Ward a formulé la somme d'erreur des carrés comme suit:c

(j||cjmean(c)||2)2

(D'autres outils logiciels tels que Matlab et R implémentent également le clustering de Ward en utilisant uniquement une matrice de distance, de sorte que la question n'est pas spécifique à Mathematica.)


J'ai récemment analysé un assez grand ensemble de données en utilisant la méthode Ward. Dans mon cas spécifique, la distance de Manatthan a donné essentiellement le même regroupement que la distance euclidienne. Je ne peux pas vous donner de preuve mathématique en faveur d'une combinaison de méthodes, mais -au moins dans mon cas- le clustering n'a pas été affecté par la méthode de la distance
nico

Toutes les fonctions R n'attendent pas nécessairement une matrice de distance. Voir, par exemple, l'aide en ligne de agnesdans le package de cluster .
chl

Il est en fait correct d'utiliser n'importe quelle distance. Vérifiez vlado.fmf.uni-lj.si/pub/preprint/ward.pdf Le seul hic, c'est que la moyenne dont nous parlons n'est plus la moyenne arithmétique mais la moyenne de Frechet.
Randy Lai

mais pouvons-nous utiliser la distance de manhattan pour une liaison complète ??
Payel Banerjee

Réponses:


8

L'algorithme de clustering de Ward est une méthode de clustering hiérarchique qui minimise un critère d '«inertie» à chaque étape. Cette inertie quantifie la somme des résidus au carré entre le signal réduit et le signal initial: c'est une mesure de la variance de l'erreur dans un sens l2 (euclidien). En fait, vous en parlez même dans votre question. C'est pourquoi, je crois, cela n'a aucun sens de l'appliquer à une matrice de distance qui n'est pas une distance euclidienne l2.

En revanche, une liaison moyenne ou une grappe hiérarchique à liaison unique conviendrait parfaitement à d'autres distances.


2
Merci pour votre commentaire; Je pense que vous avez raison. Cependant, dans la pratique, il semble que la liaison de Ward soit souvent utilisée avec des distances non euclidiennes. Je ne sais toujours pas quelles pourraient en être les implications.
Rachel

Il provient probablement de personnes utilisant Ward simplement parce qu'il est bien connu. Je dirais que Ward n'apporte aucun gain par rapport à une liaison moyenne dans ces paramètres. Cependant, il est plus coûteux en termes de calcul (vous devez calculer les deux premiers moments pour chaque fusion ou les précalculer). Ainsi, d'un point de vue pragmatique, je choisirais simplement un lien moyen.
Gael Varoquaux

1
En fait, l'inertie serait définie en utilisant la somme de la distance au carré (pas nécessaire d'être euclidien) voir vlado.fmf.uni-lj.si/pub/preprint/ward.pdf
Randy Lai

5

Je ne vois aucune raison pour laquelle Ward devrait privilégier une métrique. La méthode de Ward n'est qu'une autre option pour décider quels clusters fusionner ensuite pendant l'agglomération. Ceci est réalisé en trouvant les deux clusters dont la fusion minimisera une certaine erreur ( source exemplaire pour la formule ).

Elle repose donc sur deux concepts:

  1. La moyenne des vecteurs qui (pour les vecteurs numériques) est généralement calculée en faisant la moyenne de chaque dimension séparément.
  2. La métrique de distance elle-même c'est-à-dire le concept de similitude exprimé par cette métrique.

Donc: tant que les propriétés de la métrique choisie (comme par exemple la rotation, la traduction ou l'invariance d'échelle) satisfont vos besoins (et que la métrique correspond à la façon dont la moyenne du cluster est calculée), je ne vois aucune raison de ne pas l'utiliser .

Je soupçonne que la plupart des gens suggèrent la métrique euclidienne parce qu'ils

  • veulent augmenter le poids des différences entre une moyenne de cluster et un seul vecteur d'observation (ce qui se fait par quadration)
  • ou parce qu'il est ressorti comme la meilleure mesure dans la validation en fonction de leur données
  • ou parce qu'il est utilisé en général.

Merci pour votre réponse. J'ai clarifié un peu ma question pour souligner que l'algorithme «DirectAgglomerate [...]» ne prend qu'une matrice de distance. Compte tenu de cela, la mise en œuvre modifiée du couplage de Ward serait-elle basée sur l'hypothèse que la matrice de distance est euclidienne? Par exemple, l'implémentation de la liaison de Ward par Matlab note qu'elle convient uniquement aux distances euclidiennes ( mathworks.com/help/toolbox/stats/linkage.html ).
Rachel

1
@Rachel: aaah, je vois. Toute mise en œuvre de salle doit calculer la distance entre les membres du cluster et le centroïde. Intuitivement, il est clair que la métrique utilisée pour cela devrait être équivalente à la métrique utilisée pour calculer les distances entre les observations ... donc matlab nécessite une distmatrix euclidienne. Mais maintenant la question se pose pourquoi les implémentations ne demandent pas une fonction au lieu d'une matrice de distance? Combien de dégâts est-il fait lorsque l'on utilise différentes métriques pour les deux tâches? J'avoue, je ne le sais pas bien savoir.
steffen

bonjour l'exemple supprimé. tout autre site Web?
MonsterMMORPG

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.