Utilisation de composants PCA à rotation varimax comme prédicteurs dans la régression linéaire

8

Après avoir fait l'ACP, le premier composant décrit la plus grande partie de la variabilité. Ceci est important, par exemple dans l'étude des mesures corporelles où il est communément connu (Jolliffe, 2002) que l'axe PC1 capture la variation de taille. Ma question est de savoir si les scores PCA après rotation varimax conservent les mêmes propriétés ou sont-ils différents comme mentionné dans cette rubrique ?

Étant donné que j'ai besoin de scores PCA pour d'autres analyses statistiques, je me demande si varimax est nécessaire et perturbe-t-il en fait la représentation de la variabilité réelle de l'échantillon afin que les scores individuels sur des axes tournés ne soient pas informatifs ou conduisent à une mauvaise interprétation de la réalité?

Quelqu'un pourrait-il également suggérer d'autres références sur ce sujet?

Workflows dans R:

  1. PCA ( FactoMineRou prcomp) -> Extraire les scores individuels -> Entrer les scores dans lelm
  2. PCA ( FactoMinerou prcomp) -> Varimax sur la matrice de charges -> calculer les scores individuels -> entrer les scores dans lelm
  3. FA ( psych, méthode d'extraction varimax et pca) -> extraire les scores individuels -> Entrer les scores dans lelm

Maintenant, sans rotation (1), les pourcentages de variabilité expliquée sont à savoir 29,32, 5,6, 3,2, sur les trois premiers axes. 2. et 3. les solutions donnent des pourcentages similaires sur les trois premiers facteurs, c'est-à-dire 12.2, 12.1, 8.2. Bien sûr, la solution a tendance à pousser toutes les charges variables élevées sur le premier axe, tandis que les solutions 2. et 3. ont tendance à répartir les charges entre les axes (ce qui est la raison de la rotation). Je voulais savoir si ces trois workflows sont essentiels de la même manière car les scores individuels sont différents sur les axes tournés et non tournés?

Fedja Blagojevic
la source
Le but de la rotation est de partager la variabilité entre les composants, donc ce n'est plus vrai. Je ne sais pas ce que vous entendez par «perturber la représentation de la variabilité réelle de l'échantillon», mais la rotation ne change pas la proportion de variance expliquée dans chaque élément par les composantes.
Jeremy Miles
2
La rotation est effectuée uniquement dans un souci d'interprétation des composants. L'interprétation n'est nécessaire que dans le contexte du "modèle de variable latente", c'est-à-dire lorsque vous traitez une composante comme un facteur , = vous prenez l'ACP comme analyse factorielle [une décision autorisée mais controversée]. Est-ce votre cas?
ttnphns
1
Comme cela a été correctement cité ici , après la rotation, les composants peuvent ne plus être hiérarchisés (le 1er est le plus fort, le 2e est le suivant derrière ...). Mais dans son ensemble (multivarié), aucune information n'est perdue en rotation; les scores de tous les composants extraits ensemble sont donc aussi précieux après rotation qu'avant rotation.
ttnphns
Je voulais juste être sûr de quelque chose et j'ai publié mon flux de travail dans R.
Fedja Blagojevic
Oui en effet j'utilise PCA comme EFA, mais j'ai aussi essayé avec EFA.
Fedja Blagojevic

Réponses:

7

Les composantes principales normalisées (à la variance unitaire) après une rotation orthogonale, comme le varimax, sont simplement des composantes principales standardisées tournées (par «composante principale», j'entends les scores PC). Dans la régression linéaire, la mise à l'échelle des prédicteurs individuels n'a aucun effet et le remplacement des prédicteurs par leurs combinaisons linéaires (par exemple via une rotation) n'a aucun effet non plus. Cela signifie que l'utilisation de l'un des éléments suivants dans une régression:

  • composantes principales "brutes" (projections sur les vecteurs propres à matrice cov.),
  • composants principaux standardisés,
  • composants principaux tournés [normalisés],
  • composants principaux [normalisés] tournés à l'échelle arbitraire,

conduirait exactement au même modèle de régression avec identique R2, puissance prédictive, etc. (Les coefficients de régression individuels dépendront bien sûr du choix de normalisation et de rotation.)

La variance totale capturée par les PC bruts et par les PC en rotation est la même.

Cela répond à votre question principale. Cependant, vous devez être prudent avec vos flux de travail, car il est très facile de se perdre et de gâcher les calculs. La façon la plus simple d'obtenir des scores PC standardisés en rotation est d'utiliser la psych::principalfonction:

 psych::principal(data, rotate="varimax", nfactors=k, scores=TRUE)

Votre flux de travail # 2 peut être plus délicat que vous ne le pensez, car les chargements après rotation varimax ne sont pas orthogonaux, donc pour obtenir les scores, vous ne pouvez pas simplement projeter les données sur les chargements tournés. Voir ma réponse ici pour plus de détails:

Votre flux de travail # 3 est probablement également faux, du moins si vous vous référez à la psych::fafonction. Il ne fait pas PCA; la fm="pa"méthode d'extraction fait référence à la méthode du «facteur principal» qui est basée sur l'ACP, mais qui n'est pas identique à l'ACP (il s'agit d'une méthode itérative). Comme je l'ai écrit ci-dessus, vous devez psych::principalexécuter PCA.

Voir ma réponse dans le fil suivant pour un compte rendu détaillé sur PCA et varimax:

amibe
la source
Merci pour les aimables paroles, @Cbhihe. Je suis à peu près sûr que les mods ne peuvent marquer aucune réponse comme acceptée. Si vous voulez atteindre l'OP (Fedja), vous devez commenter sous sa question et non sous ma réponse; il sera alors informé de votre commentaire. Il semble qu'il soit toujours actif sur SE ("vu pour la dernière fois" sur SO aujourd'hui).
amoeba
@Mods, pouvez-vous rendre cette réponse «acceptée» sans accumuler de points OP (pour faire bonne mesure, car OP a négligé de le faire)? Ce serait un service à la communauté. S'il n'est pas possible pour les mods de le faire, je vais commencer un thread en méta pour discuter de ce genre de situation où une TRÈS bonne réponse est négligée par OP et donc rendue moins visible. Dernier point mais non le moindre: merci, amibe. +1
Cbhihe
@Cbhihe Ce n'est vraiment pas possible. Donc, si vous voulez démarrer un fil Meta, vous pouvez aller de l'avant, cela pourrait être une discussion intéressante.
amoeba
vous avez raison sur les mods qui ne sont pas prêts à agir au lieu de OP dans ce cas. Il existe de nombreux Meta-posts sur ce sujet et le problème persiste depuis aussi longtemps que SE existe, pour autant que je sache. Un vrai problème sans une bonne solution. Pitié. À votre santé.
Cbhihe