Conclusions de la sortie d'une analyse en composantes principales

9

J'essaie de comprendre la sortie de l'analyse des composants principaux effectuée comme suit:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> res = prcomp(iris[1:4], scale=T)
> res
Standard deviations:
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971
> 
> summary(res)
Importance of components:
                          PC1    PC2     PC3     PC4
Standard deviation     1.7084 0.9560 0.38309 0.14393
Proportion of Variance 0.7296 0.2285 0.03669 0.00518
Cumulative Proportion  0.7296 0.9581 0.99482 1.00000
> 

J'ai tendance à conclure de la sortie ci-dessus:

  1. La proportion de variance indique la part de variance totale dans la variance d'une composante principale particulière. Par conséquent, la variabilité PC1 explique 73% de la variance totale des données.

  2. Les valeurs de rotation indiquées sont les mêmes que les «charges» mentionnées dans certaines descriptions.

  3. En considérant les rotations de PC1, on peut conclure que Sepal.Length, Petal.Length et Petal.Width sont directement liés, et ils sont tous inversement liés à Sepal.Width (qui a une valeur négative en rotation de PC1)

  4. Il peut y avoir un facteur dans les plantes (certains systèmes fonctionnels chimiques / physiques, etc.) qui peut affecter toutes ces variables (Sepal.Length, Petal.Length et Petal.Width dans un sens et Sepal.Width dans le sens opposé).

  5. Si je veux montrer toutes les rotations dans un graphique, je peux montrer leur contribution relative à la variation totale en multipliant chaque rotation par la proportion de variance de cette composante principale. Par exemple, pour PC1, les rotations de 0,52, -0,26, 0,58 et 0,56 sont toutes multipliées par 0,73 (variance proportionnelle pour PC1, indiquée dans la sortie récapitulative (res).

Ai-je raison des conclusions ci-dessus?

Modifier concernant la question 5: Je veux afficher toutes les rotations dans un simple diagramme à barres comme suit: entrez la description de l'image ici

Étant donné que PC2, PC3 et PC4 ont progressivement moins de contribution à la variation, est-il sensé d'y ajuster (réduire) les chargements des variables?

rnso
la source
Re (5): ce que vous appelez des "chargements" ne sont en fait pas des chargements, mais des vecteurs propres de la matrice de covariance, alias directions principales, alias axes principaux. Les "charges" sont des vecteurs propres multipliés par les racines carrées de leurs valeurs propres, c'est-à-dire par les racines carrées de la proportion de variance expliquée. Les chargements ont de nombreuses propriétés intéressantes et sont utiles pour l'interprétation, voir par exemple ce fil: Chargements vs vecteurs propres dans PCA: quand utiliser l'un ou l'autre? Alors oui, il est très logique de mettre à l'échelle vos vecteurs propres, utilisez simplement des racines carrées de variance expliquée.
amibe du
@amoeba: Qu'est-ce qui est tracé dans le biplot de l'ACP, des rotations ou des chargements?
rnso
Le plus souvent, les chargements sont tracés, voir ma réponse ici pour plus de détails .
amoeba

Réponses:

9
  1. Oui. Telle est l'interprétation correcte.
  2. Oui, les valeurs de rotation indiquent les valeurs de chargement des composants. Ceci est confirmé par la prcomp documentation , mais je ne sais pas pourquoi ils étiquettent cette partie de l'aspect "Rotation", car cela implique que les chargements ont été tournés en utilisant une méthode orthogonale (probable) ou oblique (moins probable).
  3. Bien qu'il semble que Sepal.Length, Petal.Length et Petal.Width soient tous positivement associés, je ne mettrais pas autant de stock dans le petit chargement négatif de Sepal.Width sur PC1; il se charge beaucoup plus fortement (presque exclusivement) sur PC2. Pour être clair, Sepal.Width est toujours probablement associé négativement aux trois autres variables, mais il ne semble tout simplement pas être fortement lié au premier composant principal.
  4. Sur la base de cette question, je me demande si vous seriez mieux servi en utilisant une analyse de facteur commun (CF), plutôt qu'une analyse en composantes principales (PCA). La mucoviscidose est plus une technique appropriée de réduction des données lorsque votre objectif est de découvrir des dimensions théoriques significatives - telles que le facteur végétal qui, selon vous, peut affecter Sepal.Length, Petal.Length et Petal.Width. J'apprécie que vous soyez issu d'une sorte de science biologique - la botanique peut-être - mais il y a de bons écrits dans Psychology on the PCA v. CF distinction by Fabrigar et al., 1999, Widaman, 2007, et d'autres. La distinction fondamentale entre les deux est que l'ACP suppose que toutes les variances sont une variance de score vrai - aucune erreur n'est supposée - tandis que CF divise la vraie variance de score de la variance d'erreur, avant que les facteurs ne soient extraits et les charges de facteur estimées. En fin de compte, vous pourriez obtenir une solution similaire - les gens le font parfois - mais quand ils divergent, il arrive que la PCA surestime les valeurs de chargement et sous-estime les corrélations entre les composants. Un avantage supplémentaire de l'approche CF est que vous pouvez utiliser l'estimation du maximum de vraisemblance pour effectuer des tests de signification des valeurs de chargement, tout en obtenant également des indices de la façon dont votre solution choisie (1 facteur, 2 facteurs, 3 facteurs ou 4 facteurs) explique votre Les données.
  5. Je tracerais les valeurs de charge factorielle comme vous l'avez fait, sans pondérer leurs barres par la proportion de variance pour leurs composants respectifs. Je comprends ce que vous voulez essayer de montrer par une telle approche, mais je pense que cela conduirait probablement les lecteurs à mal comprendre les valeurs de chargement des composants de votre analyse. Cependant, si vous vouliez un moyen visuel de montrer l'ampleur relative de la variance représentée par chaque composant, vous pourriez envisager de manipuler l'opacité des barres de groupes (si vous utilisez ggplot2, je crois que cela se fait avec lealphaesthétique), basé sur la proportion de variance expliquée par chaque composant (c.-à-d., plus de couleurs unies = plus de variance expliquée). Cependant, d'après mon expérience, votre chiffre n'est pas une manière typique de présenter les résultats d'une ACP - je pense qu'un tableau ou deux (chargements + variance expliqués dans un, corrélations des composants dans un autre) serait beaucoup plus simple.

Références

Fabrigar, LR, Wegener, DT, MacCallum, RC et Strahan, EJ (1999). Évaluer l'utilisation de l'analyse factorielle exploratoire dans la recherche psychologique. Psychological Methods , 4 , 272-299.

Widaman, KF (2007). Facteurs communs versus composants: principes et principes, erreurs et idées fausses . Dans R. Cudeck & RC MacCallum (Eds.), Factor analysis at 100: Historic events and future directions (pp. 177-203). Mahwah, NJ: Lawrence Erlbaum.

jsakaluk
la source
2
+1, beaucoup de bons points ici. Re (2): les vecteurs propres de la matrice de covariance sont appelés ici "Rotation", car PCA est essentiellement une rotation du système de coordonnées de sorte que le nouveau système de coordonnées est aligné avec les vecteurs propres. Cela n'a rien à voir avec la "rotation orthogonale / oblique des facteurs" dans l'analyse factorielle. Re (5): Je ne suis pas sûr de comprendre ce que vous vouliez dire ici, et je ne comprends pas non plus comment OP veut "montrer" les vecteurs propres "dans un graphique". Peut-être que OP a quelque chose comme un biplot en tête. Alors oui, les vecteurs propres sont souvent mis à l'échelle par les valeurs propres, mais par leurs racines carrées.
amoeba
Bien qu'une belle intrigue sur le thème floral pour votre sujet, @rnso :)
jsakaluk
1
  1. Non, pas la variance totale des données. La variance totale des données données vous voulez l'exprimer en 4 composantes principales. Vous pouvez toujours trouver plus de variance totale en ajoutant plus de composants principaux. Mais cela se désintègre rapidement.
Brad
la source