Quelles sont les principales différences entre effectuer une analyse en composantes principales (ACP) sur la matrice de corrélation et sur la matrice de covariance? Est-ce qu'ils donnent les mêmes résultats?
Quelles sont les principales différences entre effectuer une analyse en composantes principales (ACP) sur la matrice de corrélation et sur la matrice de covariance? Est-ce qu'ils donnent les mêmes résultats?
Réponses:
Vous avez tendance à utiliser la matrice de covariance lorsque les échelles de variable sont similaires et la matrice de corrélation lorsque les variables sont à différentes échelles.
L'utilisation de la matrice de corrélation équivaut à la normalisation de chacune des variables (moyenne égale à 0 et écart type 1). En général, une ACP avec et sans standardisation donnera des résultats différents. Surtout quand les échelles sont différentes.
À titre d'exemple, jetez un coup d'œil à cet heptathlon
ensemble de données R. Certaines des variables ont une valeur moyenne d’environ 1,8 (le saut en hauteur), alors que d’autres (parcours 800 m) sont d’environ 120.
library(HSAUR)
heptathlon[,-8] # look at heptathlon data (excluding 'score' variable)
Cela génère:
hurdles highjump shot run200m longjump javelin run800m
Joyner-Kersee (USA) 12.69 1.86 15.80 22.56 7.27 45.66 128.51
John (GDR) 12.85 1.80 16.23 23.65 6.71 42.56 126.12
Behmer (GDR) 13.20 1.83 14.20 23.10 6.68 44.54 124.20
Sablovskaite (URS) 13.61 1.80 15.23 23.92 6.25 42.78 132.24
Choubenkova (URS) 13.51 1.74 14.76 23.93 6.32 47.46 127.90
...
Parlons maintenant de la covariance et de la corrélation:
# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)
biplot(hep.PC.cov)
biplot(hep.PC.cor)
Notez que PCA sur la covariance est dominé par run800m
et javelin
: PC1 est presque égal à run800m
(et explique de la variance) et PC2 est presque égal à (ensemble, ils expliquent ). PCA sur la corrélation est beaucoup plus informatif et révèle une certaine structure dans les données et les relations entre les variables (mais notez que les variances expliquées tombent à et ).97 % 64 % 71 %javelin
Notez également que les individus éloignés (dans cet ensemble de données) sont des éléments aberrants, que la matrice de covariance ou de corrélation soit utilisée ou non.
Bernard Flury, dans son excellent livre introduisant l'analyse multivariée, a décrit cela comme une anti-propriété des composants principaux. C'est en fait pire que de choisir entre corrélation ou covariance. Si vous avez changé les unités (par exemple, gallons de style américain, pouces, etc. et litres de style européen, centimètres), vous obtiendrez des projections de données sensiblement différentes.
L'argument contre l'utilisation automatique de matrices de corrélation est qu'il s'agit d'un moyen assez brutal de normaliser vos données. Le problème avec l’utilisation automatique de la matrice de covariance, qui est très évident avec ces données heptathalon, est que les variables avec la variance la plus élevée dominent la première composante principale (la propriété maximisant la variance).
La "meilleure" méthode à utiliser repose donc sur un choix subjectif, une réflexion approfondie et une certaine expérience.
DONNÉES NON TRANSFORMÉES (RAW): Si vous disposez de variables avec des échelles très variables pour les données brutes non transformées, c’est-à-dire, apport calorique par jour, expression génique, ELISA / Luminex en unités de ug / dl, ng / dl, en fonction de plusieurs ordres de valeurs. magnitude de l’expression des protéines, puis utilise la corrélation comme entrée de la PCA. Cependant, si toutes vos données sont basées, par exemple, sur l'expression génique de la même plate-forme avec une étendue et une échelle similaires, ou si vous travaillez avec des rendements d'actifs logaraires, l'utilisation de la corrélation produira une énorme quantité d'informations.
En fait, vous n'avez pas besoin de penser à la différence d'utiliser la matrice de corrélation ou la matrice de covariance comme entrée de la CPA, mais regardez plutôt les valeurs diagonales de et . Vous pouvez observer une variance de pour une variable et de pour une autre - qui sont sur la diagonale de . Toutefois, lorsque vous examinez les corrélations, la diagonale en contient toutes des unités, de sorte que la variance de chaque variable est essentiellement remplacée par lorsque vous utilisez la matrice .
TRANSFORME DES DONNÉES: Si les données ont été transformées par la normalisation, percentiles, ou moyenne zéro normalisation (c. -scores), de sorte que la portée et l' échelle de toutes les variables continues est la même, alors vous pouvez utiliser la matrice de covariance sans aucun problème. (corrélation signifiera zéro standardiser les variables). Rappelez-vous toutefois que ces transformations ne suppriment pas l'asymétrie (c'est-à-dire les queues gauche ou droite dans les histogrammes) de vos variables avant l'exécution de PCA . Une analyse PCA typique n’implique pas la suppression de l’asymétrie; Cependant, certains lecteurs peuvent avoir besoin de supprimer l'asymétrie pour répondre à de strictes contraintes de normalité.
En résumé, utilisez la matrice de corrélation lorsque la plage et l’échelle d’une variable diffèrent considérablement et utilisez la matrice de covariance pour préserver la variance si la plage et l’échelle des variables sont similaires ou dans les mêmes unités de valeur. mesure.
VARIABLES CACHÉES: Si l'une des variables est asymétrique avec une queue gauche ou droite dans son histogramme, c'est-à-dire que le test de normalité de Shapiro-Wilk ou de Lilliefors est significatif , il peut alors y avoir des problèmes si vous devez appliquer la normalité supposition. Dans ce cas, utilisez les scores de van der Waerden (transformés) déterminés à partir de chaque variable. Le score de van der Waerden (VDW) pour une seule observation est simplement la cartographie normale cumulative inverse (standard) de la valeur de centile de l'observation. Par exemple, supposons que vous avez observations pour une variable continue, vous pouvez déterminer les scores VDW en utilisant:
Par exemple, si vous connectez une valeur de 0.025, vous obtiendrez . Il en va de même pour une valeur de plugin de , vous obtiendrez .
L'utilisation des scores VDW est très populaire en génétique, où de nombreuses variables sont transformées en scores VDW, puis intégrées dans des analyses. L'avantage d'utiliser les scores VDW est que les effets d'asymétrie et de valeurs aberrantes sont supprimés des données et peuvent être utilisés si l'objectif est d'effectuer une analyse sous les contraintes de la normalité - et chaque variable doit être purement standard distribuée et normale sans asymétrie. ou des valeurs aberrantes.
Une réponse courante consiste à suggérer que la covariance est utilisée lorsque les variables sont sur la même échelle et la corrélation lorsque leurs échelles sont différentes. Cependant, cela n’est vrai que lorsque l’échelle des variables n’est pas un facteur. Sinon, pourquoi quelqu'un ferait-il jamais une covariance PCA? Il serait plus sûr de toujours effectuer une ACP par corrélation.
Imaginez que vos variables aient différentes unités de mesure, telles que les mètres et les kilogrammes. Peu importe que vous utilisiez des mètres ou des centimètres dans ce cas, vous pouvez donc faire valoir que la matrice de corrélation devrait être utilisée.
Considérons maintenant la population de différents états. Les unités de mesure sont les mêmes - nombre (nombre) de personnes. Maintenant, les échelles pourraient être différentes: DC a 600K et CA - 38M personnes. Devrions-nous utiliser la matrice de corrélation ici? Ça dépend. Dans certaines applications, nous souhaitons ajuster la taille de l'état. L'utilisation de la matrice de covariance est un moyen de créer des facteurs qui tiennent compte de la taille de l'État.
Par conséquent, ma réponse est d'utiliser la matrice de covariance lorsque la variance de la variable d'origine est importante et d'utiliser la corrélation lorsque ce n'est pas le cas.
Je trouve personnellement très utile de discuter de ces options à la lumière du modèle d'analyse en composantes principales du maximum de vraisemblance (MLPCA) [1,2]. En MLPCA, on applique une mise à l'échelle (ou même une rotation) telle que les erreurs de mesure dans les variables mesurées soient indépendantes et réparties selon la distribution normale standard. Cette mise à l'échelle est également connue sous le nom de mise à l'échelle du maximum de vraisemblance (MALS) [3]. Dans certains cas, le modèle PCA et le paramètre définissant la mise à l'échelle / rotation du MALS peuvent être estimés ensemble [4].
Pour interpréter une ACP basée sur la corrélation et la covariance, on peut alors avancer que:
Comme souligné plus haut, le choix ultime dépend des hypothèses que vous avancez. De plus, l'utilité d'un modèle particulier dépend également du contexte et du but de votre analyse. Pour citer George EP Box: "Tous les modèles ont tort, mais certains sont utiles".
[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. et Kowalski, BR (1997). Analyse en composantes principales du maximum de vraisemblance. Journal of Chemometrics, 11 (4), 339-366.
[2] Wentzell, PD et Lohnes, MT (1999). Analyse en composantes principales du maximum de vraisemblance avec erreurs de mesure corrélées: considérations théoriques et pratiques. Chemometrics and Intelligent Laboratory Systems, 45 (1-2), 65-85.
[3] Hoefsloot, HC, Verouden, député, Westerhuis, JA et Smilde, AK (2006). Mise à l'échelle de vraisemblance maximale (MALS). Journal of Chemometrics, 20 (3‐4), 120-127.
[4] Narasimhan, S. et Shah, SL (2008). Identification de modèle et estimation de la matrice de covariance d'erreur à partir de données bruitées à l'aide de PCA. Techniques de contrôle, 16 (1), 146-155.
[5] Tipping, ME et Bishop, CM (1999). Analyse probabiliste en composantes principales. Journal de la Société royale de statistique: Série B (Méthodologie statistique), 61 (3), 611-622.
Droit et simple: si les balances sont similaires, utilisez cov-PCA, sinon corr-PCA; sinon, il vaut mieux avoir une défense pour ne pas. En cas de doute, utilisez un test F pour l’égalité des variances (ANOVA). Si le test F échoue, utilisez corr; sinon, utilisez cov.
Les arguments basés sur l'échelle (pour les variables exprimées dans les mêmes unités physiques) semblent plutôt faibles. Imaginez un ensemble de variables (sans dimension) dont les écarts-types varient entre 0,001 et 0,1. Comparées à une valeur standardisée de 1, elles semblent toutes les deux être de «faibles» et comparables niveaux de fluctuations. Cependant, lorsque vous les exprimez en décibels, cela donne une plage de -60 dB contre -10 et 0 dB, respectivement. Ceci serait alors probablement classé dans la catégorie "grande plage", en particulier si vous incluez un écart type proche de 0, c'est-à-dire moins l'infini dB.
Ma suggestion serait de faire À LA FOIS une ACP basée sur la corrélation et la covariance. Si les deux donnent le même (ou très semblable, quoi que cela puisse dire), vous pouvez être rassuré que vous avez une réponse qui a du sens. S'ils donnent des PC très différents, n'utilisez pas PCA, car deux réponses différentes à un problème ne constituent pas un moyen judicieux de résoudre des questions.