Attribuer des poids aux variables dans l'analyse de cluster

11

Je veux attribuer des poids différents aux variables dans mon analyse de cluster, mais mon programme (Stata) ne semble pas avoir d'option pour cela, donc je dois le faire manuellement.

Imaginez 4 variables A, B, C, D. Les poids de ces variables devraient être

w(A)=50%
w(B)=25%
w(C)=10%
w(D)=15%

Je me demande si l'une des deux approches suivantes ferait vraiment l'affaire:

  1. Tout d'abord, je standardise toutes les variables (par exemple par leur plage). Ensuite, je multiplie chaque variable standardisée par leur poids. Faites ensuite l'analyse de cluster.
  2. Je multiplie toutes les variables par leur poids et les standardise ensuite. Faites ensuite l'analyse de cluster.

Ou les deux idées sont-elles complètement absurdes?

[EDIT] Les algorithmes de clustering (j'en essaie 3 différents) que je souhaite utiliser sont les k-moyennes, la liaison moyenne pondérée et la liaison moyenne. J'ai l'intention d'utiliser une liaison moyenne pondérée pour déterminer un bon nombre de grappes que je brancherai ensuite sur k-means.

SPi
la source
1
Les deux façons ne sont généralement pas correctes. La multiplication des valeurs des variables n'est pas équivalente à la pondération de l'importance des variables pour le regroupement. Si le programme n'a pas d'option de pondération, vous pouvez parfois le faire avec des données comme vous le souhaitez - mais cela dépend de la nature exacte de votre clustering. Décrivez donc (dans votre question) les détails de votre clustering: quel algorithme et quelle méthode vous allez utiliser.
ttnphns
2
Notez que le moyen le plus simple et universel de pondérer les variables (et que les poids sont des entiers ou peuvent être des entiers) serait simplement de propager les variables fois ces poids. Dans votre exemple, vous pouvez prendre 50 As, 25 Bs, 10 Cs, 15 Ds dans votre clustering.
ttnphns
8
Ou, l'alternative: si vous utilisez un clustering basé sur une mesure euclidienne ou que vous utilisez k-means, multipliez chaque variable par la racine carrée de son poids. Cette multipication doit, bien entendu, être effectuée après tout prétraitement (tel que la standardisation) que vous voudrez peut-être effectuer avant le clustering.
ttnphns

Réponses:

7

Une façon d'attribuer un poids à une variable consiste à modifier son échelle. L'astuce fonctionne pour les algorithmes de clustering que vous mentionnez, à savoir. k-moyennes, liaison moyenne pondérée et liaison moyenne.

Kaufman, Leonard et Peter J. Rousseeuw. " Trouver des groupes dans les données: une introduction à l'analyse de cluster ." (2005) - page 11:

Le choix des unités de mesure donne lieu à des poids relatifs des variables. L'expression d'une variable en unités plus petites entraînera une plus grande plage pour cette variable, ce qui aura alors un effet important sur la structure résultante. D'un autre côté, en standardisant, on essaie de donner à toutes les variables un poids égal, dans l'espoir d'atteindre l'objectivité. En tant que tel, il peut être utilisé par un praticien qui ne possède aucune connaissance préalable. Cependant, il se pourrait bien que certaines variables soient intrinsèquement plus importantes que d'autres dans une application particulière, et l'attribution des poids devrait alors être basée sur la connaissance du sujet (voir, par exemple, Abrahamowicz, 1985).

D'un autre côté, des tentatives ont été faites pour concevoir des techniques de regroupement indépendantes de l'échelle des variables (Friedman et Rubin, 1967). La proposition de Hardy et Rasson (1982) est de rechercher une cloison qui minimise le volume total des coques convexes des grappes. En principe, une telle méthode est invariante par rapport aux transformations linéaires des données, mais malheureusement aucun algorithme n'existe pour sa mise en œuvre (à l'exception d'une approximation limitée à deux dimensions). Par conséquent, le dilemme de la normalisation semble inévitable à l'heure actuelle et les programmes décrits dans ce livre laissent le choix à l'utilisateur

Abrahamowicz, M. (1985), The use of non-numerical a pnon information for measure dissimilarities, article présenté à la quatrième réunion européenne de la Psychometric Society and the Classification Societies, 2-5 juillet, Cambridge (UK).

Friedman, HP et Rubin, J. (1967), Sur certains critères invariants pour regrouper les données. J. Amer. Statist. ASSOC6., 2, 1159-1178.

Hardy, A. et Rasson, JP (1982), Une nouvelle approche des problèmes de classification automatique, Statist. Anal. Donnies, 7, 41-56.

Franck Dernoncourt
la source
1
Votre première référence est déformée d'une manière ou d'une autre: Leonard Kaufman et Peter J. Rousseeuw sont les auteurs du livre que vous liez.
Nick Cox
Oh merci d'avoir signalé cela ... Je me suis fait baiser par Lavoisier, qui a fait une erreur sur leur page "Auteurs: SEWELL Grandville, ROUSSEEUW Peter J.", qui à son tour a foutu Gscholar que j'utilisais pour obtenir la référence.
Franck Dernoncourt
Merci @FranckDernoncourt! Si l'échelle (et donc la plage) de la variable détermine son poids, l'approche 1.) dans ma question initiale ne serait-elle pas une solution correcte?
SPi
2
Oui, l'approche 1 est la bonne et correspond à ce que disent Kaufman, Leonard et Peter J. Rousseeuw dans les paragraphes que j'ai cités dans la réponse. L'approche 2 serait inutile car la standardisation supprime les poids :)
Franck Dernoncourt