ACP sur la corrélation ou la covariance: est-ce que l'ACP sur la corrélation a un sens? [fermé]

32

En analyse en composantes principales (ACP), on peut choisir la matrice de covariance ou la matrice de corrélation pour trouver les composantes (à partir de leurs vecteurs propres respectifs). Ceux-ci donnent des résultats différents (chargements et scores PC), car les vecteurs propres entre les deux matrices ne sont pas égaux. Ma compréhension est que cela est dû au fait qu'un vecteur de données brutes X et sa normalisation Z ne peuvent pas être liés via une transformation orthogonale. Mathématiquement, des matrices similaires (c'est-à-dire liées par transformation orthogonale) ont les mêmes valeurs propres, mais pas nécessairement les mêmes vecteurs propres.

Cela soulève quelques difficultés dans mon esprit:

  1. L'ACP a-t-elle réellement un sens, si vous pouvez obtenir deux réponses différentes pour le même ensemble de données de départ, essayant toutes deux d'atteindre la même chose (= trouver des directions de variance maximale)?

  2. Lorsque vous utilisez l'approche matricielle de corrélation, chaque variable est normalisée (mise à l'échelle) par son propre écart-type individuel, avant de calculer les PC. Comment, alors, est-il encore logique de trouver les directions de la variance maximale si les données ont déjà été mises à l'échelle / compressées différemment au préalable? Je sais que cette ACP basée sur la corrélation est très pratique (les variables standardisées sont sans dimension, donc leurs combinaisons linéaires peuvent être ajoutées; d'autres avantages sont également basés sur le pragmatisme), mais est-ce correct?

Il me semble que l'ACP basée sur la covariance est la seule vraiment correcte (même lorsque les variances des variables diffèrent considérablement), et que chaque fois que cette version ne peut pas être utilisée, l'ACP basée sur la corrélation ne devrait pas être utilisée non plus.

Je sais qu'il y a ce fil: PCA sur la corrélation ou la covariance? - mais il semble se concentrer uniquement sur la recherche d'une solution pragmatique, qui peut ou non être également une solution algébriquement correcte.

Lucozade
la source
4
Je vais être honnête et vous dire que j'ai arrêté de lire votre question à un moment donné. L'ACP est logique. Oui, les résultats peuvent être différents selon que vous choisissez d'utiliser la matrice de corrélation ou de variance / covariance. L'ACP basée sur la corrélation est préférable si vos variables sont mesurées à différentes échelles, mais vous ne voulez pas que cela domine le résultat. Imaginez que si vous avez une série de variables allant de 0 à 1, puis certaines qui ont de très grandes valeurs (relativement parlant, comme 0 à 1000), la grande variance associée au deuxième groupe de variables dominera.
Patrick
4
Mais c'est aussi le cas avec de nombreuses autres techniques et je pense que le point de Patrick est raisonnable. De plus, ce n'était qu'un commentaire, pas besoin de devenir agressif. De manière générale, pourquoi supposeriez-vous qu'il devrait y avoir une seule façon correcte «algébriquement» d'aborder le problème?
Gala
5
Vous pensez peut-être à l'ACP dans le mauvais sens: ce n'est qu'une transformation, il n'est donc pas question qu'elle soit correcte ou incorrecte, ou qu'elle repose sur des hypothèses sur le modèle de données - contrairement, disons, à la régression ou à l'analyse factorielle.
Scortchi - Réintégrer Monica
5
Le nœud de cette question semble reposer sur une mauvaise compréhension de ce que fait la normalisation et du fonctionnement de l'ACP. Cela est compréhensible, car une bonne compréhension de l'ACP nécessite la visualisation de formes de dimensions supérieures. Je soutiens que cette question, comme beaucoup d'autres questions fondées sur une sorte de mauvaise compréhension, est donc bonne et devrait rester ouverte, car sa ou ses réponses peuvent révéler des vérités que beaucoup de gens n'auraient peut-être pas pleinement appréciées auparavant.
whuber
6
L'APC ne «revendique» rien. Les gens revendiquent l'APC et l'utilisent en fait très différemment selon le domaine. Certaines de ces utilisations peuvent être idiotes ou discutables, mais il ne semble pas très instructif de supposer qu'une seule variante de la technique doit être «algébriquement correcte» sans référence au contexte ou au but de l'analyse.
Gala

Réponses:

29

J'espère que ces réponses à vos deux questions calmeront votre inquiétude:

  1. Une matrice de corrélation est une matrice de covariance des données standardisées (c'est-à-dire non seulement centrées mais également redimensionnées); c'est-à-dire une matrice de covariance (comme si) d' un autre ensemble de données différent. Il est donc naturel et cela ne devrait pas vous déranger que les résultats diffèrent.
  2. Oui, il est logique de trouver les directions de la variance maximale avec des données standardisées - ce sont les directions - pour ainsi dire - de la "corrélation" et non de la "covariabilité"; c'est-à-dire, après que l'effet des variances inégales - des variables d'origine - sur la forme du nuage de données multivariées a été supprimé.

Texte et images suivants ajoutés par @whuber (je le remercie. Voir aussi mon commentaire ci-dessous)

Voici un exemple en deux dimensions montrant pourquoi il est toujours logique de localiser les principaux axes des données standardisées (illustrées à droite). Notez que dans le graphique de droite, le nuage a toujours une "forme" même si les variances le long des axes de coordonnées sont maintenant exactement égales (à 1,0). De même, dans des dimensions supérieures, le nuage de points normalisé aura une forme non sphérique même si les variances le long de tous les axes sont exactement égales (à 1,0). Les axes principaux (avec leurs valeurs propres correspondantes) décrivent cette forme. Une autre façon de comprendre cela est de noter que tous les recadrages et décalages qui se produisent lors de la standardisation des variables se produisent uniquement dans les directions des axes de coordonnées et non dans les directions principales elles-mêmes.

Figure

Ce qui se passe ici est géométriquement si intuitif et clair qu'il serait difficile de caractériser cela comme une "opération de boîte noire": au contraire, la standardisation et l'ACP sont parmi les choses les plus élémentaires et routinières que nous faisons avec les données afin pour les comprendre.


Continué par @ttnphns

Quand préférerait-on effectuer l'ACP (ou l'analyse factorielle ou un autre type d'analyse similaire) sur les corrélations (c'est-à-dire sur des variables normalisées z) au lieu de le faire sur des covariances (c'est-à-dire sur des variables centrées)?

  1. Lorsque les variables sont différentes unités de mesure. C'est clair.
  2. Quand on veut que l'analyse reflète juste et uniquement linéaire . Pearson r n'est pas seulement la covariance entre les variables non variées (variance = 1); c'est soudain la mesure de la force de la relation linéaire, alors que le coefficient de covariance habituel est réceptif à la fois à la relation linéaire et monotone.
  3. Quand on veut que les associations reflètent la loupe qui "rétrécit" ou "étire" l'échelle de cotation pour une. la co-déviation relative (par rapport à la moyenne) plutôt que la co-déviation brute. La corrélation est basée sur les distributions, leurs écarts, tandis que la covariance est basée sur l'échelle de mesure d'origine. Si je devais analyser par facteurs les profils psychopathologiques des patients tels qu'évalués par les psychiatres sur un questionnaire clinique composé d'éléments de type Likert, je préférerais les covariances. Parce que les professionnels ne devraient pas fausser l'échelle de notation par voie intrapsychique. Si, en revanche, je devais analyser les auto-évaluations des patients par ce même questionnaire, je choisirais probablement des corrélations. Parce que l'évaluation du profane devrait être relative "d'autres personnes", "la majorité" "déviation admissible"
tnphns
la source
1
1. Désolé, mais cela dérange beaucoup. Pour un individu externe, la standardisation est une opération boîte noire, qui fait partie du préconditionnement des données PCA (également dans ICA). Il veut une réponse pour ses données d'entrée (brutes), surtout si elles concernent des données physiques (dimensionnées) pour lesquelles la sortie PCA doit également être interprétée physiquement (c'est-à-dire en termes de variables non normalisées).
Lucozade
1
Votre dernière révision semble être une réaffirmation que "l'ACP basée sur la covariance est la seule vraiment correcte". Comme l'intégralité des réponses jusqu'à présent est essentiellement «non; mauvaise façon d'y penser; et voici pourquoi», il est difficile de savoir comment vous vous attendez à orienter la discussion contre un désaccord aussi écrasant.
Nick Cox
4
@Lucozade: J'étais confus quant à la description de votre candidature: - Comment l'APC recommande- t-elle quoi que ce soit? Comment avez-vous mesuré la performance ? De même pour votre dernier commentaire: - L' optimum pour quoi?
Scortchi - Réintégrer Monica
5
@Lucozade: En effet, écoutez s'il vous plaît ce que Scortchi a dit, vous semblez continuer à traquer les fantômes. PCA est simplement une forme spéciale de rotation des données dans l'espace. Il fait toujours de manière optimale ce qu'il fait avec les données d'entrée. Le dilemme cov-corr est pragmatique, enraciné dans le prétraitement des données et résolu à ce niveau, pas au niveau de l'ACP.
ttnphns
1
@Lucozade: Ce serait mon avis (non expert) basé sur votre réponse à moi que dans votre besoin spécifique, vous avez raison de vouloir une PCA basée sur cov. Encore une fois, vos variables sont toutes homogènes en termes de données / type de mesure (même type de machine et toutes les données en volts). Pour moi, votre exemple est clairement un cas où cov-PCA est correct, mais veuillez noter que ce n'est pas toujours le cas, et je pense que c'est le point important de ce fil tout (le choix de cor v. Cov est spécifique au cas et nécessite à déterminer par la personne qui comprend le mieux les données et l'application). Bonne chance dans vos recherches!
Patrick
6

Parlant d'un point de vue pratique - peut-être impopulaire ici - si vous avez des données mesurées à différentes échelles, optez pour la corrélation (`` échelle UV '' si vous êtes chimiométricien), mais si les variables sont à la même échelle et leur taille est importante (par exemple avec des données spectroscopiques), alors la covariance (centrage des données uniquement) a plus de sens. L'ACP est une méthode dépendante de l'échelle et la transformation des journaux peut également aider avec des données très asymétriques.

À mon humble avis, basé sur 20 ans d'application pratique de la chimiométrie, vous devez expérimenter un peu et voir ce qui fonctionne le mieux pour votre type de données. À la fin de la journée, vous devez être en mesure de reproduire vos résultats et essayer de prouver la prévisibilité de vos conclusions. Comment y arriver est souvent un cas d'essais et d'erreurs, mais l'important est que ce que vous faites soit documenté et reproductible.

marque
la source
4
L'approche pratique que vous semblez préconiser ici se résume à - lorsque les covariances et les corrélations sont justifiées - "essayez les deux et voyez ce qui fonctionne le mieux". Cette position empirique pure masque le fait que tout choix va de pair avec ses propres hypothèses ou paradigmes sur la réalité dont le chercheur devrait être conscient à l'avance, même s'il comprend qu'il préfère l'une d'entre elles de manière totalement arbitraire. Sélectionner "ce qui fonctionne le mieux", c'est capitaliser sur le sentiment de plaisir, la narcomanie.
ttnphns
-2

xis2(x1/s1)+(x2/s2)=(x1+x2)/sx1+x2s1s2degrés. Il ne semble donc guère utile de maximiser la variance de leur combinaison linéaire. Dans ce cas, PCA fournit une solution pour un ensemble de données différent, chaque variable étant mise à l'échelle différemment. Si vous ne standardisez pas ensuite (lors de l'utilisation de corr_PCA), cela peut être OK et nécessaire; mais si vous prenez simplement la solution corr_PCA brute telle quelle et que vous vous arrêtez là, vous obtiendrez une solution mathématique, mais pas une solution liée aux données physiques. Étant donné que la normalisation par la suite semble alors obligatoire au minimum (c'est-à-dire «désétirer» les axes par les écarts-types inverses), cov_PCA aurait pu être utilisé pour commencer. Si vous lisez encore maintenant, je suis impressionné! Pour l'instant, je termine en citant le livre de Jolliffe, p. 42, qui est la partie qui me concerne:`` Il ne faut cependant pas oublier que les PC à matrice de corrélation, lorsqu'ils sont ré-exprimés en termes de variables d'origine, sont toujours des fonctions linéaires de x qui maximisent la variance par rapport aux variables standardisées et non par rapport aux variables d'origine. '' Si vous pensez que j'interprète incorrectement ceci ou ses implications, cet extrait peut être un bon point de discussion pour une discussion plus approfondie.

Lucozade
la source
3
C'est tellement amusant que votre propre réponse, qui est en phase avec tout ce que les gens ici essayaient de vous transmettre, reste instable pour vous. Vous discutez toujours There seems little pointen PCA sur les corrélations. Eh bien, si vous devez rester proche des données brutes ("données physiques", comme vous l'appelez étrangement), vous ne devriez vraiment pas utiliser de corrélations car elles correspondent à d'autres données ("déformées").
ttnphns
2
(Suite) La citation de Jolliffe déclare que les PC obtenus sur les corrélations seront jamais eux-mêmes et ne peuvent pas être "retournés" en PC sur les covariances même si vous pouvez les ré-exprimer sous forme de combinaisons linéaires des variables d'origine. Ainsi, Jolliffe souligne l'idée que les résultats de l'ACP dépendent entièrement du type de prétraitement utilisé et qu'il n'existe aucun ordinateur "vrai", "authentique" ou "universel" ...
ttnphns
2
(Suite) Et en fait, plusieurs lignes ci-dessous Jolliffe parle encore d'une autre "forme" de PCA - PCA sur X'Xmatrice. Cette forme est même "plus proche" des données originales que cov-PCA car aucun centrage des variables n'est effectué. Et les résultats sont généralement complètement différents . Vous pouvez également faire du PCA sur des cosinus. Les gens font de l'ACP sur toutes les versions de la matrice SSCP , bien que les covariances ou corrélations soient utilisées le plus souvent.
ttnphns
3
Cette réponse repose sur l'hypothèse implicite que les unités dans lesquelles les données sont mesurées ont une signification intrinsèque. C'est rarement le cas: nous pouvons choisir de mesurer la longueur en angströms, parsecs ou autre chose, et le temps en picosecondes ou millénaires, sans modifier la signification des données un iota. Les changements apportés au passage de la covariance à la corrélation ne sont que des changements d'unités (qui, soit dit en passant, sont particulièrement sensibles aux données périphériques). Cela suggère que le problème n'est pas la covariance contre la corrélation, mais plutôt de trouver des moyens fructueux d'exprimer les données pour l'analyse.
whuber
3
@ttnphns Je m'en tiendrai aux remerciements "simplement". Que les implications soient ou non «profondes», il n'en demeure pas moins que la standardisation d'une variable est littéralement une ré-expression affine de ses valeurs: un changement dans ses unités de mesure. L'importance de cette observation réside dans ses implications pour certaines affirmations apparaissant dans ce fil, dont la plus importante est "l'ACP basée sur la covariance est la seule vraiment correcte". Toute conception de l'exactitude qui dépend finalement d'un aspect essentiellement arbitraire des données - comment nous les écrivons - ne peut pas être correcte.
whuber