Puis-je utiliser PCA pour effectuer une sélection de variables pour l'analyse de cluster?


12

Je dois réduire le nombre de variables pour effectuer une analyse de cluster. Mes variables sont fortement corrélées, j'ai donc pensé faire une analyse factorielle PCA (analyse en composantes principales). Cependant, si j'utilise les scores obtenus, mes grappes ne sont pas tout à fait correctes (par rapport aux classifications précédentes dans la littérature).

Question:

Puis-je utiliser la matrice de rotation pour sélectionner les variables avec les charges les plus importantes pour chaque composant / facteur et utiliser uniquement ces variables pour mon clustering?

Toute référence bibliographique serait également utile.

Mise à jour:

Quelques clarifications:

  • Mon objectif: je dois exécuter une analyse de clusters avec un algorithme en deux étapes par SPSS, mais mes variables ne sont pas indépendantes, j'ai donc pensé à en supprimer certaines.

  • Mon jeu de données: je travaille sur 15 paramètres scalaires (mes variables) de 100 000 cas. Certaines variables sont fortement corrélées ( Pearson)>0.9

  • Mon doute: comme je n'ai besoin que de variables indépendantes, j'ai pensé à exécuter une analyse des composants principaux (désolé: j'ai parlé à tort de l'analyse factorielle dans ma question d'origine, mon erreur) et de sélectionner uniquement les variables avec les plus grandes charges pour chaque composant. Je sais que le processus PCA présente des étapes arbitraires, mais j'ai découvert que cette sélection est en fait similaire à la " méthode B4 " proposée par IT Jolliffe (1972 & 2002) pour sélectionner les variables et suggérée également par JR King & DA Jackson en 1999 .

    Je pensais donc sélectionner de cette manière des sous-groupes de variables indépendantes. J'utiliserai ensuite les groupes pour exécuter différentes analyses de grappes et je comparerai les résultats.


1
Si vous connaissez la bonne réponse, pourquoi faire l'analyse?
StasK

1
Sur une autre note, pourquoi pensez-vous que vous devez réduire le nombre de variables pour l'analyse de cluster? Je ne pense pas qu'aucun des outils modernes d'analyse de grappe n'ait de limites quant au nombre de variables d'entrée. Bien sûr, si vous avez un test avec 120 éléments, les choses se compliqueront.
StasK


Il me semble que l'ajout de l'aspect analyse en grappes de ce Q le rend suffisamment distinct pour rester ouvert.
gung - Rétablir Monica

Vous semblez appliquer des critères plus stricts aux doublons que moi, @gung; vous avez peut-être raison (et le vote ne se passe pas bien sur celui-ci non plus). Cependant, dans ce cas particulier, l'OP posait des questions sur la sélection de fonctionnalités basée sur PCA la plus simple (telle que clarifiée dans sa mise à jour) qui est couverte dans le fil que j'ai suggéré. D'un autre côté, StasK a publié ici une réponse intéressante qui concerne spécifiquement le clustering ...
amibe dit Reinstate Monica

Réponses:


7

Je vais, comme c'est ma coutume, prendre du recul et demander exactement ce que vous essayez de faire. L'analyse factorielle est conçue pour trouver des variables latentes. Si vous voulez trouver des variables latentes et les regrouper, alors ce que vous faites est correct. Mais vous dites que vous voulez simplement réduire le nombre de variables - ce qui suggère plutôt une analyse en composantes principales.

Cependant, avec l'un ou l'autre, vous devez interpréter l'analyse de grappe sur de nouvelles variables, et ces nouvelles variables sont simplement des sommes pondérées des anciennes.

Combien de variables avez-vous? Quelle est leur corrélation? S'il y en a beaucoup trop et qu'ils sont très fortement corrélés, vous pouvez rechercher toutes les corrélations sur un nombre très élevé et supprimer au hasard une variable de chaque paire. Cela réduit le nombre de variables et laisse les variables telles quelles.

Permettez-moi également de faire écho à @StasK sur la nécessité de le faire, et à @ rolando2 sur l'utilité de trouver quelque chose de différent de ce qui a été trouvé auparavant. Comme mon professeur préféré à l’université disait: «Si vous n’êtes pas surpris, vous n’avez rien appris».


1
tout d'abord, je suis désolé: je me réfère en fait à une analyse en composantes principales, pas à une analyse factorielle, mon erreur. De plus, je cherchais un moyen de ne pas sélectionner arbitrairement la variable corrélée que je conserverais. J'ajoute plus d'informations sur le problème ci-dessus .. merci encore
fr.

5

Un moyen d'effectuer simultanément l'analyse factorielle et l'analyse en grappes consiste à utiliser des modèles de mélange d'équations structurelles. Dans ces modèles, vous postulez qu'il existe des modèles distincts (dans ce cas, des modèles factoriels) pour chaque cluster. Vous auriez besoin d'avoir l'analyse moyenne avec l'analyse de covariance, et de vous préoccuper davantage de l'identification que dans l'analyse du facteur vanille ordinaire. L'idée abordée du côté SEM apparaît dans Jedidi et. Al. (1997) , et du côté du clustering, dans le clustering basé sur des modèles par Adrian Raftery . Ce type d'analyse est apparemment disponible dans Mplus .


1
merci pour les entrées, spécialement pour les références, mais je me suis référé à tort à l'analyse factorielle: je pensais en fait aux composants principaux afin de réduire mon ensemble de variables à un sous-groupe de variables indépendantes. mon erreur
fr.

2

Je ne pense pas que ce soit une question de «rectitude» pure et simple, mais plutôt de savoir si cela accomplira ce que vous cherchez à faire. L'approche que vous décrivez finira par se regrouper selon certains facteurs, de manière édulcorée, puisque vous n'utiliserez qu'un seul indicateur pour représenter chaque facteur. Chacun de ces indicateurs représente un remplacement imparfait du facteur latent sous-jacent. Voilà un problème.

Un autre problème est que l’analyse factorielle elle-même, comme moi (et beaucoup d’autres personnes) raconté , est pleine de décisions subjectives impliquant comment traiter les données manquantes, le nombre de facteurs à extraire, comment extraire, si et comment faire pivoter, etc. sur. Il est donc peut-être loin d'être clair que les facteurs que vous avez pu extraire de manière rapide et par défaut (comme je pense que vous l'avez laissé entendre) sont les "meilleurs" dans tous les sens.

Dans l'ensemble, vous avez peut-être utilisé des versions édulcorées de facteurs qui sont eux-mêmes discutables comme étant les meilleurs moyens de caractériser les thèmes sous-jacents à vos données. Je ne m'attendrais pas à ce que les clusters résultant de telles variables d'entrée soient les plus informatifs ou les plus distincts.

Sur une autre note, il semble intéressant que vous considérez comme un problème d'avoir des appartenances / profils de cluster qui ne correspondent pas à ce que d'autres chercheurs ont trouvé. Parfois, des résultats déconfirmants peuvent être très sains!


merci beaucoup, j'ai ajouté plus d'informations ci-dessus pour préciser mes doutes
fr.

0

Ce qui pourrait se produire dans votre cas, c'est que les facteurs extraits dans l'analyse factorielle compensent les charges positives et négatives des variables d'origine. Cela réduirait la différenciabilité qui est le but du clustering.

Pouvez-vous diviser chaque facteur extrait en 2 - l'un ayant uniquement les charges positives, l'autre uniquement les charges négatives?

Remplacez les scores des facteurs pour chaque cas pour chaque facteur par des scores positifs et négatifs et essayez de regrouper sur ce nouvel ensemble de scores.

Veuillez déposer une ligne si cela fonctionne pour vous.


0

Vous pouvez rechercher à la fois des valeurs élevées et des valeurs faibles et laisser toutes les variables dans les facteurs. De cette façon, il n'est pas nécessaire de couper les facteurs. Si vous divisez le facteur 1 (disons) d'une certaine manière en fonction des signes des chargements, dans le facteur 2, les signes peuvent être très différents. Souhaitez-vous alors découper le facteur 2 différemment du facteur 1? Cela semble déroutant.

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.