Il semble quun certain nombre des packages statistiques que jutilise englobent ces deux concepts ensemble. Cependant, je me demande sil existe différentes hypothèses ou « formalités » de données qui doivent être vraies pour être utilisées lune sur lautre. Un exemple réel serait incroyablement utile.
Commentaires
- Les chapitres sur lanalyse des principales composantes et lanalyse factorielle du livre suivant, disponible dans la plupart des bibliothèques universitaires, répondent exactement à votre question: apa.org/ pubs / books / 4316510.aspx
- En plus des réponses ci-dessous, vous pouvez lire également ceci et ce de la mienne.
- Et une autre bonne question comme » devrais-je utiliser PCA ou FA « : stats.stackexchange.com/q/123063/3277 .
- @ttnphns: Je vous encourage à publier une réponse dans ce fil, peut-être consistant en une liste annotée de vos réponses dans dautres fils connexes. Cela pourrait remplacer vos commentaires ci-dessus (actuellement quatre co mments avec des liens), et serait plus pratique, surtout si vous annotiez brièvement chaque lien. Par exemple. regardez ici pour lexplication de ce problème, cherchez là pour une explication de ce problème, etc. Cest juste une suggestion, mais je crois que ce fil en bénéficierait grandement! Un avantage particulier est que vous pouvez toujours ajouter plus de liens vers cette réponse.
- Une question similaire a été posée sur MathOverflow, et a reçu ce que je considérerais comme une excellente réponse: mathoverflow.net/questions/40191/ …
Réponse
Lanalyse en composantes principales implique lextraction de composites linéaires de variables observées.
Lanalyse factorielle est basée sur un modèle formel prédisant les variables observées à partir de facteurs latents théoriques.
En psychologie, ces deux des techniques sont souvent appliquées dans la construction de tests multi-échelles pour déterminer quels éléments chargent sur quelles échelles. Ils aboutissent généralement à des conclusions de fond similaires (pour une discussion, voir Comrey (1988) Factor-Analytic Methods of Scale Development in Personality and Clinical Psychology). Cela aide à expliquer pourquoi certains progiciels de statistiques semblent les regrouper. Jai également vu des situations où « analyse en composantes principales » est incorrectement étiquetée « analyse factorielle ».
En termes de règle empirique simple , je vous suggère de:
-
Exécutez une analyse factorielle si vous supposez ou souhaitez tester un modèle théorique de facteurs latents à lorigine des variables observées.
-
Exécutez une analyse en composantes principales Si vous voulez simplement réduire vos variables observées corrélées à un ensemble plus petit de variables composites indépendantes importantes.
Commentaires
- La règle empirique est très utile. Merci pour cela.
- Concernant la règle empirique (1): Ne serait pas ‘ t Je teste un modèle théorique de facteurs latents avec une analyse factorielle confirmatoire plutôt quune fa exploratoire?
- @roman Oui. Un CFA vous donne beaucoup plus de contrôle sur le modèle que EFA. Par exemple, vous pouvez contraindre les chargements à zéro; assimiler les chargements; avoir des résidus corrélés ls; ajouter des facteurs dordre supérieur; etc.
- @Jeromy Anglim Est-il vraiment correct de dire que PCA fait un » ensemble plus petit de variables composites indépendantes importantes. » Ou devriez-vous vraiment dire » ensemble plus petit de variables composites non corrélées importantes « . Si les données sous-jacentes utilisées dans PCA ne sont pas (multivariées) normalement distribuées, les données dimensionnelles réduites ne seront que décorrélées?
- La deuxième règle générale est facile à obtenir, mais comment appliquer la première? Cela semble peut-être étrange, mais quand puis-je savoir que je veux ‘ exécuter un modèle factoriel par rapport aux variables observées?
Réponse
Daprès ma réponse ici:
La PCA suivie dune rotation (telle que varimax) est-elle toujours PCA?
Lanalyse en composantes principales (ACP) et lanalyse en facteurs communs (CFA) sont des méthodes distinctes. Souvent, ils produisent des résultats similaires et lACP est utilisée comme méthode dextraction par défaut dans les routines danalyse factorielle SPSS. Cela entraîne sans aucun doute beaucoup de confusion sur la distinction entre les deux.
En fin de compte, ce sont deux modèles différents, conceptuellement. En ACP, les composantes sont des combinaisons linéaires orthogonales réelles qui maximisent la variance totale.En FA, les facteurs sont des combinaisons linéaires qui maximisent la partie partagée de la variance – les «constructions latentes» sous-jacentes. Cest pourquoi FA est souvent appelée « analyse des facteurs communs ». FA utilise une variété de routines doptimisation et le résultat, contrairement à lACP, dépend de la routine doptimisation utilisée et des points de départ de ces routines. Simplement, il ny a pas une seule solution unique.
Dans R, la fonction factanal () fournit à CFA une extraction au maximum de vraisemblance. Donc, vous ne devriez pas vous attendre à ce quelle reproduise un résultat SPSS basé sur une extraction PCA. Ce nest tout simplement pas le même modèle ou la même logique. Je ne suis pas sûr que vous obteniez le même résultat si vous utilisiez lextraction du maximum de vraisemblance de SPSS car ils nutilisent peut-être pas le même algorithme.
Pour mieux ou pour le pire dans R, vous pouvez cependant reproduire l « analyse factorielle » mélangée que SPSS fournit par défaut. Voici le processus dans R. Avec ce code, je « suis capable de reproduire le composant principal de SPSS » Analyse factorielle « en utilisant cet ensemble de données. (À lexception du signe, qui est indéterminé). Ce résultat pourrait également être tourné en utilisant lune des méthodes de rotation disponibles de R ».
data(attitude) # Compute eigenvalues and eigenvectors of the correlation matrix. pfa.eigen <- eigen(cor(attitude)) # Print and note that eigenvalues are those produced by SPSS. # Also note that SPSS will extract 2 components as eigenvalues > 1 = 2. pfa.eigen$values # Set a value for the number of factors (for clarity) kFactors <- 2 # Extract and transform two components. pfa.eigen$vectors[, seq_len(kFactors)] %*% diag(sqrt(pfa.eigen$values[seq_len(kFactors)]), kFactors, kFactors)
Commentaires
- Notez que vous obtiendrez les mêmes résultats avec
principal(attitude, 2, rotate="none")
à partir dupsych
et que la règle de Kayser ‘ (ev > 1) nest pas le moyen le plus recommandé de tester pour la dimensionnalité (il surestime le nombre de facteurs). - Oui, je sais psych p rincipal résume cela. Mon but était de montrer ce que SPSS » analyse factorielle » faisait lors de lutilisation de la méthode dextraction des composants principaux. Je conviens que la règle des valeurs propres est une mauvaise façon de sélectionner le nombre de facteurs. Mais cest exactement ce que fait SPSS par défaut et cest ce que je voulais démontrer.
-
factanal()
fournit lEFA et non le CFA. De plus, daprès mon expérience, lextraction du maximum de vraisemblance SPSS ‘ s devrait donner le même résultat quefactanal()
étant donné quil ny a pas de rotation oblique. - Que signifie: ‘ En FA, les facteurs sont des combinaisons linéaires qui maximisent la partie partagée de la variance – sous-jacent » constructions latentes « . ‘?
- Notez également que CFA peut signifier FA confirmatoire (par opposition à FA explicative ) au lieu de FA commun .
Réponse
Il existe de nombreuses définitions suggérées sur le la toile. En voici un extrait dun glossaire en ligne sur lapprentissage statistique :
Composante principale Analyse
Construire de nouvelles fonctionnalités qui sont les principaux composants dun ensemble de données. Les principales composantes sont des variables aléatoires de variance maximale construites à partir de combinaisons linéaires des caractéristiques dentrée. De manière équivalente, ce sont les projections sur les axes des composants principaux, qui sont des lignes qui minimisent la distance quadratique moyenne à chaque point de lensemble de données. Pour garantir lunicité, tous les axes des composants principaux doivent être orthogonaux. LACP est une technique de maximum de vraisemblance pour la régression linéaire en présence de bruit gaussien sur les entrées et les sorties. Dans certains cas, PCA correspond à une transformée de Fourier, comme le DCT utilisé dans la compression dimage JPEG. Voir « Les faces propres pour la reconnaissance » (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, « Probabilistic Principal Component Analysis », et « Automatic choice of dimensality for PCA « .choix de la dimensionnalité pour lACP ».
Analyse factorielle
Une généralisation de lACP qui est explicitement basée sur le maximum de vraisemblance. Comme lACP, chaque point de données est supposé provenir de léchantillonnage un point dans un sous-espace, puis le perturbant avec un bruit gaussien pleine dimension. La différence est que lanalyse factorielle permet au bruit davoir une matrice de covariance diagonale arbitraire, tandis que lACP suppose que le bruit est sphérique. En plus destimer le sous-espace, lanalyse factorielle estime la matrice de covariance du bruit. Voir « Lalgorithme EM pour les mélanges danalyseurs de facteurs ». Choix de la dimensionnalité pour lACP « .
Commentaires
- La description de lanalyse factorielle obtient le point principal (covariance diagonale), mais historiquement wa nest pas développé comme une généralisation de lACP.
- Donc, fondamentalement, dans lACP, un svd ‘ est la matrice de covariance et en FA la matrice de corrélation? Cest toujours difficile pour moi de trouver les mathématiques réelles après que les méthodes aient accumulé beaucoup de terminologie à partir du domaine où elles sont appliquées.(hors sujet: il ma fallu un après-midi entier pour comprendre ce quest la modélisation de chemin jusquà ce que je trouve un (1) article parmi les 70 ‘ s qui énonçaient léquation matricielle derrière cela. )
Réponse
Vous avez raison sur votre premier point, même si en FA vous travaillez généralement avec les deux (unicité et communauté). Le choix entre lACP et lAF est un débat de longue date parmi les psychométriciens. Cependant, je ne suis pas tout à fait ce que vous dites. La rotation des axes principaux peut être appliquée quelle que soit la méthode utilisée pour construire les facteurs latents. En fait, la plupart du temps, cest la rotation VARIMAX (rotation orthogonale, compte tenu des facteurs non corrélés) qui est utilisé, pour des raisons pratiques (interprétation la plus simple, règles de notation les plus simples ou interprétation des scores factoriels, etc.), bien que la rotation oblique (par exemple PROMAX) puisse probablement mieux refléter la réalité (les constructions latentes sont souvent corrélées les unes aux autres), du moins dans le tradition de FA où vous supposez quune construction latente est vraiment au cœur des inter-corrélations observées entre vos variables. Le fait est que lACP suivie dune rotation VARIMAX fausse quelque peu linterprétation des combinaisons linéaires des variables originales dans les » analyse « (voir les travaux de Michel Tenenhaus). Dun point de vue psychométrique, les modèles FA sont à privilégier car ils rendent compte explicitement de lerreur de mesure s, alors que PCA ne se soucie pas de cela. En bref, en utilisant lACP, vous exprimez chaque composante (facteur) comme une combinaison linéaire des variables, alors quen FA, ce sont les variables qui sont exprimées sous forme de combinaisons linéaires des facteurs (y compris les composantes de communautés et dunicité, comme vous lavez dit).
Je vous recommande de lire dabord les discussions suivantes sur ce sujet:
- Quelles sont les différences entre lanalyse factorielle et le principal Analyse des composants
- Sur lutilisation de la rotation oblique après PCA – voir référence ici
Commentaires
- Juste pour dire que ma réponse peut sembler un peu hors sujet puisque cette question a été fusionnée avec une autre, stats.stackexchange.com/questions/3369/… (je réponds initialement à ce dernier).
- Ah, Je me demandais pourquoi vous avez lié à cette quête, dans cette question … 🙂
- . Chl, pouvez-vous lexpliquer? Cette ‘ est intéressante.
Réponse
La meilleure réponse dans ce fil suggère que lACP est plus une technique de réduction de dimensionnalité, alors que lAF est plus une technique de variable latente. Ceci est sensu stricto correct. Mais de nombreuses réponses ici et de nombreux traitements ailleurs présentent lACP et lAF comme deux méthodes complètement différentes, avec des objectifs, des méthodes et des résultats différents sinon opposés. Je ne suis pas daccord; Je pense que lorsque lACP est considérée comme une technique à variable latente, elle est assez proche de lAF, et il vaut mieux les considérer comme des méthodes très similaires.
Jai fourni mon propre compte rendu des similitudes et des différences entre PCA et FA dans le fil suivant: Y a-t-il une bonne raison dutiliser PCA au lieu dEFA? Aussi, lACP peut-elle être un substitut à lanalyse factorielle? Là, je soutiens que, pour de simples raisons mathématiques, le résultat de lACP et de lAF peut être assez similaire, étant donné seulement que le nombre de variables nest pas très petit (peut-être plus dune douzaine). Voir ma réponse [longue!] Dans le fil lié pour les détails mathématiques et les simulations de Monte Carlo. Pour une version beaucoup plus concise de mon argument, voir ici: Dans quelles conditions lACP et lAF donnent-ils des résultats similaires?
Ici, je voudrais pour le montrer sur un exemple. Je vais analyser lensemble de données sur le vin du référentiel UCI Machine Learning. Cest un jeu de données assez connu avec $ n = 178 $ vins de trois cépages différents décrits par des variables $ p = 13 $. Voici à quoi ressemble la matrice de corrélation:
Jai exécuté les analyses PCA et FA et montre Projections 2D des données sous forme de biplots pour les deux sur la figure ci-dessous (PCA à gauche, FA à droite). Les axes horizontaux et verticaux montrent les scores des 1er et 2ème composants / facteurs. Chacun des $ n = 178 $ points correspond à un vin, et les points sont colorés en fonction du groupe (voir légende):
Les chargements du 1er et du 2ème composant / facteur sur chacune des variables originales $ p = 13 $ sont représentés par des lignes noires. Ils sont égaux aux corrélations entre chacune des variables originales et les deux composantes / facteurs.Bien entendu, les corrélations ne peuvent pas dépasser 1 $, donc toutes les lignes de chargement sont contenues à lintérieur du « cercle de corrélation » montrant la corrélation maximale possible. Tous les chargements et le cercle sont arbitrairement mis à léchelle dun facteur de 3 $, sinon ils seraient trop petits pour être vus (donc le rayon du cercle est de 3 $ et non de 1 $).
Notez quil y a il ny a pratiquement aucune différence entre PCA et FA! Il y a de petits écarts ici et là, mais limage générale est presque identique, et tous les chargements sont très similaires et pointent dans les mêmes directions. Cest exactement ce quon attendait de la théorie et ce nest pas une surprise; encore, il est instructif dobserver.
PS. Pour un biplot PCA beaucoup plus joli du même ensemble de données, voir cette réponse de @vqv .
PPS. Alors que les calculs PCA sont standard, les calculs FA peuvent nécessiter un commentaire. Les chargements factoriels ont été calculés par un algorithme «facteurs principaux itérés» jusquà convergence (9 itérations), avec des communautés initialisées avec des corrélations partielles. Une fois les chargements convergents, les scores ont été calculés en utilisant la méthode de Bartlett. Cela donne des scores standardisés; je les ai mis à léchelle en fonction des variances des facteurs respectifs (données par les longueurs des chargements).
Commentaires
- Quel logiciel avez-vous utilisé pour créer les graphiques de lACP et de lanalyse factorielle?
- Jai utilisé Matlab. Je pensais coller le code dans ma réponse (comme dhabitude ), mais je ne voulais pas encombrer encore plus ce fil chargé. Mais à bien y penser, je devrais le publier sur un site Web externe et laisser un lien ici. Je vais le faire.
- Cest vrai que PCA et FA donnent parfois et pas du tout rarement des résultats similaires (chargements), et ainsi PCA peut être considéré comme un cas spécifique de FA, lorsque lanalyse factorielle est défini au sens large. Pourtant, FA (sensu stricto) et PCA sont théoriquement très différents.
- (suite) Les facteurs sont des traits latents transcendants; les composants pr. sont des dérivations immanentes. Malgré vos deux applications de chargement de tracés oreille pratiquement similaire, théoriquement ils sont fondamentalement différents. Le plan des composants à gauche a été produit comme un sous-espace des variables qui se projettent dessus. Le plan factoriel a été produit comme un espace différent de l’espace des variables, et ils se projettent donc sur un » alien » espace sur le tracé de droite.
- (suite) Mais la bonne image (FA) nest en fait pas un vrai biplot , il sagit plutôt dune superposition de deux nuages de points distincts, despaces différents: le graphique de chargement (où les axes sont de vrais facteurs) et le graphique des scores de lobjet (où les axes sont les facteurs estimés en tant que scores). Lespace de facteur réel dépasse lespace variable » parental » mais le facteur marque lespace est son sous-espace. Vous avez superposé deux paires daxes hétérogènes, mais elles portent les mêmes étiquettes ( » factor1 » et » factor2 » dans les deux paires) quelle circonstance est fortement trompeuse et nous persuade de penser quil sagit dun biplot de bonne foi, comme celui de gauche.
Réponse
Une explication basique, mais plutôt laborieuse, de Analyse PCA vs Factor à laide de nuages de points, par étapes logiques. (Je remercie @amoeba qui, dans son commentaire à la question, ma encouragé à poster une réponse au lieu de faire des liens vers ailleurs. Voici donc une réponse ludique et tardive.)
PCA comme résumé de variable (extraction de fonctionnalités)
Jespère que vous comprenez déjà PCA. Pour relancer maintenant.
Supposons que nous ayons des variables de corrélation $ V_1 $ et $ V_2 $ . Nous les centrons (soustrayons la moyenne) et faisons un nuage de points. Ensuite, nous effectuons lACP sur ces données centrées. PCA est une forme de rotation des axes qui propose les axes P1 et P2 au lieu de V1 et V2. La propriété clé de PCA est que P1 – appelé 1er composant principal – est orienté de sorte que la variance des points de données le long de celle-ci soit maximisée. Les nouveaux axes sont de nouvelles variables dont les valeurs sont calculables tant que lon connaît les coefficients de rotation $ a $ (PCA les fournit) [ Eq.1 ]:
$ P1 = a1_1V_1 + a1_2V_2 $
$ P2 = a2_1V_1 + a2_2V_2 $
Ces coefficients sont des cosinus de rotation (= cosinus de direction, directions principales) et comprennent ce que lon appelle des vecteurs propres, tandis que les valeurs propres de la matrice de covariance sont les principales variances des composantes. En PCA, nous rejetons généralement les derniers composants faibles: nous résumons donc les données par quelques premiers composants extraits, avec peu de perte dinformations.
Covariances V1 V2 V1 1.07652 .73915 V2 .73915 .95534 ----PCA---- Eigenvalues % P1 1.75756 86.500 P2 .27430 13.500 Eigenvectors P1 P2 V1 .73543 -.67761 V2 .67761 .73543
Avec nos données tracées, P1 les valeurs des composants (scores) P1 = .73543*V1 + .67761*V2
et le composant P2 que nous rejetons. La variance de P1 « est 1.75756
, la 1ère valeur propre de la matrice de covariance, et donc P1 explique 86.5%
du total variance égale à (1.07652+.95534) = (1.75756+.27430)
.
PCA comme prédiction de variable ( » latente « )
Nous avons donc écarté P2 et nous attendons à ce que P1 seul puisse raisonnablement représenter les données. Cela équivaut à dire que $ P1 $ peut raisonnablement » reconstruire » ou prédire $ V_1 $ et $ V_2 $ [ Eq.2 ]:
$ V_1 = a1_ {1} P1 + E_1 $
$ V_2 = a1_ {2} P1 + E_2 $
où les coefficients $ a $ sont ce que nous savons déjà et $ E $ sont les erreurs (imprévisibilité). Il sagit en fait dun » modèle régressionnel » où les variables observées sont prédites (en arrière) par la variable latente (si pour permettre lappel dun composant a » latent » one) P1 extrait de ces mêmes variables. Regardez le graphique Fig.2 , ce nest rien dautre que Fig .1 , uniquement détaillé:
Laxe P1 est affiché en mosaïque avec ses valeurs (scores P1) en vert (ces valeurs sont les projections des points de données sur P1). Certains points de données arbitraires ont été étiquetés A, B, …, et leur départ (erreur) de P1 sont des connecteurs noirs en gras. Pour le point A, les détails sont indiqués: les coordonnées du score P1 (vert A) sur les axes V1 et V2 sont les valeurs P1-reconstruites de V1 et V2 selon Eq.2 , $ \ hat {V_1} = a1_ {1} P1 $ et $ \ hat {V_2} = a1_ {2} P1 $ . Les erreurs de reconstruction $ E_1 = V_1- \ hat {V_1} $ et $ E_2 = V_2- \ hat {V_2} $ sont également affichés, en beige. Le connecteur » error » longueur au carré est la somme des deux erreurs au carré, selon Pythagore.
Maintenant, ce qui est caractéristique de PCA est que si nous calculons E1 et E2 pour chaque point dans les données et tracer ces coordonnées – cest-à-dire faire le nuage de points des erreurs seules, le nuage » les données derreur » coïncideront avec le composant rejeté P2. Et cest le cas: le nuage est tracé sur la même image que le nuage beige – et vous voyez quil forme en fait laxe P2 (de Fig.1 ) carrelée avec les scores des composants P2.
Pas étonnant, direz-vous. Cest tellement évident: dans PCA , le (s) composant (s) junior (s) rejeté (s) est ce qui se décompose précisément (s) dans les erreurs de prédiction E, dans le modèle qui explique (restaure) les variables originales V par la ou les caractéristiques latentes P1. Les erreurs E ne constituent que le ou les composants laissés de côté. Voici où lanalyse factorielle commence à différer de lACP.
Lidée de FA commun (caractéristique latente )
Formellement, le modèle de prédiction des variables manifestes par la ou les caractéristiques latentes extraites est le même dans FA que dans PCA; [ Éq.3 ]:
$ V_1 = a_ {1} F + E_1 $
$ V_2 = a_ {2} F + E_2 $
où F est le facteur commun latent extrait des données et remplaçant ce qui était P1 dans Eq.2 .La différence dans le modèle est quen FA, contrairement à PCA, des variables derreur (E1 et E2) sont requises pour être décorrélés lun avec lautre .
Digression . Ici, je veux soudainement interrompre lhistoire et faire une notion sur ce que sont les coefficients $ a $ . En PCA, nous avons dit, il sagissait dentrées de vecteurs propres trouvés dans PCA (par décomposition en valeur propre ou en valeur singulière). Alors que latente P1 avait sa variance native. Si nous choisissons de standardiser P1 à variance unitaire , nous « devrons compenser en augmentant de manière appropriée les coefficients $ a $ , afin de prendre en charge le équation. Ces $ a $ sont appelés chargements ; ils présentent un intérêt numérique car ce sont les covariances (ou corrélations) entre les variables latentes et observables et peuvent donc aider à interpréter la caractéristique latente. Dans les deux modèles – Eq.2 et Eq.3 – vous êtes libre de décider, sans nuire à léquation , de quelle manière les termes sont mis à léchelle. Si F (ou P1) est considéré comme mis à léchelle de lunité, $ a $ se charge; tandis que si F (P1) doit avoir scale (variance), alors $ a $ doit être déclassé en conséquence – dans PCA qui équivaudra aux entrées de vecteurs propres, ut dans FA, ils seront différents et généralement pas appelés » vecteurs propres « . Dans la plupart des textes sur lanalyse factorielle, F est une variance unitaire supposée donc $ a $ sont des chargements . Dans la littérature PCA, P1 est généralement considéré comme ayant sa variance réelle et donc $ a $ sont des vecteurs propres.
OK, revenons au thread. E1 et E2 ne sont pas corrélés dans lanalyse factorielle; ainsi, ils devraient former un nuage derreurs rondes ou elliptiques mais non orientées en diagonale. Alors quen PCA, leur nuage a formé une ligne droite coïncidant avec P2 en diagonale. Les deux idées sont illustrées sur la photo:
Notez que les erreurs sont des nuages ronds (et non allongés en diagonale) en FA. Le facteur (latent) en FA est orienté quelque peu différemment, cest-à-dire quil nest pas juste le premier composant principal qui est le » latent » en PCA . Sur la photo, la ligne de facteur est étrangement un peu conique – on comprendra pourquoi à la fin.
Quelle est la signification de cette différence entre PCA et FA? Variables corrélées, ce qui est vu dans la forme diagonale elliptique du nuage de données. P1 a survolé la variance maximale, de sorte que lellipse est co-dirigée vers P1. Par conséquent P1 a expliqué par lui-même la corrélation; mais il nexpliquait pas de manière adéquate le degré de corrélation existant ; il a cherché à expliquer la variation des points de données, et non la corrélation. En fait, il a surestimé la corrélation, dont le résultat a été lapparition du nuage derreurs diagonales et corrélées qui compensent le sur-compte. P1 seul ne peut pas expliquer la force de la corrélation / covariation de manière exhaustive. Le facteur F peut le faire seul; et la condition où il devient capable de le faire est exactement où les erreurs peuvent être forcées à être décorrélées. Puisque le nuage derreur est rond, aucune corrélation – positive ou négative – nest restée après lextraction du facteur, cest donc le facteur qui a tout survolé.
En tant que réduction de dimensionnalité, PCA explique la variance mais explique les corrélations de manière imprécise. FA explique les corrélations mais ne peut pas prendre en compte (par les facteurs communs) autant de variations de données que lACP le peut. Le (s) facteur (s) dans FA représentent la part de variabilité qui est la portion corrélationnelle nette, appelée communauté ; et donc les facteurs peuvent être interprétés comme des forces / caractéristiques / traits réels mais non observables qui cachent » dans » ou » derrière » les variables dentrée pour les mettre en corrélation. Parce quils expliquent bien la corrélation mathématiquement. Les composants principaux (quelques premiers) lexpliquent mathématiquement moins bien et donc peut être appelé » trait latent » (ou autre) seulement à un moment ou à un autre .
La multiplication des chargements est ce qui explique (restaure) la corrélation ou la corrélation dans le forme de covariance – si lanalyse était basée sur une matrice de covariance (comme dans notre exemple) plutôt que sur une matrice de corrélation.Lanalyse factorielle que jai effectuée avec les données a donné a_1=.87352, a_2=.84528
, donc le produit a_1*a_2 = .73837
est presque égal à la covariance .73915
. En revanche, les chargements PCA étaient a1_1=.97497, a1_2=.89832
, donc a1_1*a1_2 = .87584
surestimait .73915
considérablement.
Après avoir expliqué la principale distinction théorique entre PCA et FA, revenons à nos données pour illustrer lidée.
FA: solution approximative (scores factoriels)
Ci-dessous le nuage de points montrant les résultats de lanalyse que nous « allons provisoirement appeler » analyse factorielle sous-optimale « , Fig.3 .
A technical detail (you may skip): PAF method used for factor extraction. Factor scores computed by Regression method. Variance of the factor scores on the plot was scaled to the true factor variance (sum of squared loadings).
Voir les départs de Fig .2 de PCA. Le nuage beige des erreurs nest pas rond, il est elliptique en diagonale, – pourtant il est évidemment beaucoup plus gros que la fine ligne diagonale qui sest produite en PCA. Notez également que les connecteurs derreur (indiqués pour certains points) ne sont plus parallèles (en PCA, ils étaient par définition parallèles à P2). De plus, si vous regardez, par exemple, aux points » F » et » E » qui se trouvent en miroir symétriquement sur le facteur « s F , vous trouverez, de manière inattendue, leurs scores factoriels correspondants comme étant des valeurs assez différentes. En dautres termes, les scores factoriels ne sont pas seulement des scores en composantes principales transformés linéairement: le facteur F se trouve à sa manière différent de la voie P1. Et leurs axes ne coïncident pas complètement sils sont représentés ensemble sur le même tracé Fig.4 :
En dehors de cela, ils sont orientés un peu différemment, F (comme pavé avec les scores) est plus court, cest-à-dire quil représente une variance plus petite que P1. Comme indiqué précédemment, le facteur ne rend compte que de la variabilité responsable de la corrélation de V1 V2, cest-à-dire de la partie de la variance totale qui est suffisante pour amener les variables de la covariance primitive 0
à la covariance factuelle .73915
.
FA: solution optimale (vrai facteur)
Une solution de facteur optimale est lorsque les erreurs sont des nuages elliptiques ronds ou non diagonaux : E1 et E2 sont totalement décorrélés . Lanalyse factorielle renvoie une telle solution optimale. Je ne lai pas montré sur un simple nuage de points comme ceux ci-dessus. Pourquoi ai-je? – car cela aurait été la chose la plus intéressante, après tout.
La raison est quil serait impossible dafficher suffisamment correctement sur un nuage de points, même en adoptant un graphique 3D. Cest un point assez intéressant en théorie. Afin de rendre E1 et E2 complètement décorrélés, il semble que ces trois variables, F, E1, E2 ne doivent pas mentir dans lespace (plan) défini par V1, V2; et les trois doivent être décorrélés lun avec lautre . Je crois quil est possible de dessiner un tel nuage de points en 5D (et peut-être avec un gadget – en 4D), mais nous vivons dans un monde 3D, hélas. Le facteur F doit être décorrélé à la fois à E1 et E2 (alors que les deux sont également décorrélés) car F est censé être le uniquement (propre) et complet source de corrélation dans les données observées. Lanalyse factorielle divise la variance totale des variables dentrée p
en deux non corrélées (sans chevauchement ) parties: communalité partie (m
-dimensional, où m
règle des facteurs communs) et unicité part (p
-dimensionnelle, où les erreurs sont, également appelées facteurs uniques, non corrélées les unes aux autres).
Pardonnez donc de ne pas montrer le vrai facteur de nos données sur un nuage de points ici. Il pourrait être visualisé de manière assez adéquate via des vecteurs dans » espace sujet » comme fait ici sans afficher les points de données.
Ci-dessus, dans la section » Lidée de FA commun (caractéristique latente) » Jai affiché le facteur (axe F) comme un coin afin davertir que le vrai axe des facteurs ne se trouve pas sur le plan V1 V2. Cela signifie que – contrairement à la composante principale P1 – le facteur F en tant quaxe nest pas une rotation de laxe V1 ou V2 dans leur espace, et F en tant que variable nest pas une combinaison linéaire de variables V1 et V2.Par conséquent, F est modélisé (extrait des variables V1 v2) comme sil sagissait dune variable externe indépendante, et non dune dérivation de celles-ci. Les équations telles que Eq.1 à partir du point de départ de lACP ne sont pas applicables pour calculer le facteur vrai (optimal) en analyse factorielle, alors que les équations formellement isomorphes Eq.2 et Eq. 3 sont valables pour les deux analyses. Autrement dit, dans lACP, les variables génèrent des composants et des composants rétrospectifs des variables; dans FA facteur (s) générer / prédire des variables, et non pas en arrière – le modèle de facteurs communs suppose conceptuellement oui , même si techniquement les facteurs sont extraits des variables observées.
Non seulement le facteur vrai nest pas une fonction des variables manifestes, le facteur vrai « Les valeurs de s ne sont pas uniquement définies . En dautres termes, elles sont simplement inconnues. Tout cela est dû au fait que nous » re dans lespace analytique 5D excessif et non dans notre espace 2D dorigine des données. Seules les bonnes approximations (il existe un certain nombre de méthodes ) des vraies valeurs de facteur, appelées scores de facteur , sont là pour nous. Les scores factoriels se situent dans le plan V1 V2, comme le sont les scores des composantes principales, ils sont également calculés comme les fonctions linéaires de V1, V2, et cest étaient-ils que jai tracé dans la section » FA: solution approximative (scores factoriels) « . Les scores des composants principaux sont de véritables valeurs de composants; les scores de facteur ne sont quune approximation raisonnable des valeurs de facteur vraies indéterminées.
FA: résumé de la procédure
Pour rassembler en un seul petit caillot ce que les deux sections précédentes ont dit, et ajouter les derniers traits . En fait, FA peut ( si vous le faites correctement, et voir aussi les hypothèses de données ) trouver la vraie solution factorielle (par » true » Je veux dire ici optimal pour léchantillon de données). Cependant, diverses méthodes dextraction existent (elles diffèrent par certaines contraintes secondaires quelles mettent). La vraie solution factorielle dépend des chargements $ a $ uniquement . Ainsi, les chargements sont des facteurs optimaux et vrais. Les scores factoriels – si vous en avez besoin – sont calculables à partir de ces chargements de diverses manières et retournent approximations des valeurs de facteur.
Ainsi, » factor solution » affiché par moi dans la section » FA: la solution approximative (scores factoriels) » était en fait basée sur des chargements optimaux, cest-à-dire sur de vrais facteurs. Mais les scores nétaient pas optimaux, par destin. Les scores sont calculés pour être une fonction linéaire des variables observées, comme le sont les scores des composants, donc ils peuvent tous les deux être comparés sur un nuage de points et je lai fait dans une poursuite didactique pour montrer comme un passage progressif de lidée PCA à lidée FA.
Il faut être prudent lors du traçage sur le même biplot des chargements factoriels avec des scores factoriels dans lespace » des facteurs « , sachez que les chargements concernent les vrais facteurs tandis que les scores concernent les facteurs de substitution (voir mes commentaires sur cette réponse dans ce fil).
La rotation des facteurs (chargements) aide à interpréter les caractéristiques latentes. La rotation des chargements peut être effectuée également dans lACP si vous utilisez lACP comme une analyse factorielle (cest-à-dire que lACP est une prédiction de variable). LACP a tendance à converger vers les résultats avec lAF à mesure que le nombre de variables augmente (voir le fil extrêmement riche sur les similitudes pratiques et conceptuelles et les différences entre les deux méthodes). Voir ma liste des différences entre PCA et FA à la fin de cette réponse . Les calculs pas à pas de PCA vs FA sur iris ensemble de données se trouvent ici . Il existe un nombre considérable de bons liens vers les réponses des autres participants sur le sujet en dehors de ce fil; Je suis désolé de navoir utilisé que quelques-uns dentre eux dans la réponse actuelle.
Voir aussi une liste à puces des différences entre PCA et FA ici .
Commentaires
- +1. Cest ‘ que vous lavez écrit, ce fil manquait définitivement de réponse de votre part. Jai voté avant de lire (ce que je fais rarement) et jai certainement apprécié la lecture ultérieure. Je pourrais commenter plus tard, mais une petite bribe pour le moment: vous avez écrit à plusieurs reprises quen FA, le nuage derreur devrait être » round » .Mais en fait, il pourrait bien être elliptique (car les uniquités pour V1 et V2 peuvent avoir des variances différentes), il doit juste avoir des corrélations nulles. Je suppose que vous ne vouliez pas confondre les lecteurs avec ce détail.
- @amoeba Jai un doute naïf sur limpossibilité mathématique de représenter les optimales F, E1, E2 dans lespace (plan) défini par V1, V2. Je peux penser à un exemple de compteur pour cela: Dites $ V_1 = a_ {1} F + E_1 $ et $ V_2 = a_ {2} F + E_2 $, où $ (E_1, E_2) = \ mathcal {N} (0 , \ Bbb {I}) $ – Utilisez maintenant ces relations pour générer des échantillons de V1 et V2. Une fois que V1 et V2 sont générés, si nous devions effectuer le FA optimal, nous devrions obtenir des estimations presque précises de (E1, E2), et cela formera un nuage elliptique. De plus, maintenant F, E1, E2 peuvent être représentés dans le même plan que V1 et V2.
- @kasa, votre commentaire saluant ma réponse ou amibe ‘ commentaire de s? Si votre commentaire va à lencontre de ma principale affirmation selon laquelle dans FA les trois variables latentes ne se trouvent pas dans lespace dorigine et que vous pouvez le montrer, pourquoi ne pas donner une réponse le montrant? Mais sil vous plaît noter que dans FA optimale, les erreurs sont exactement non corrélées, non pas quelles pourraient être imaginées comme venant de population normale non corrélée.
- @ttnphns : Désolé pour la confusion, je doutais de votre revendication principale. Jessaierai de le montrer comme réponse dans quelques jours. Merci!
Réponse
Les différences entre lanalyse factorielle et lanalyse en composantes principales sont:
• Dans lanalyse factorielle, il existe un modèle structuré et certaines hypothèses. À cet égard, il sagit dune technique statistique qui ne sapplique pas à lanalyse en composantes principales qui est une transformation purement mathématique.
• Le but de lanalyse en composantes principales est dexpliquer la variance tandis que lanalyse factorielle explique la covariance entre les variables.
Lune des principales raisons de la confusion entre les deux tient au fait que lune des méthodes dextraction de facteurs dans lanalyse factorielle est appelée « méthode des composants principaux ». Cependant, c « est une chose d » utiliser PCA et une autre chose d « utiliser la méthode des composants principaux dans FA. Les noms peuvent être similaires, mais il existe des différences significatives. La première est une méthode analytique indépendante tandis que ce dernier est simplement un outil dextraction de facteurs.
Réponse
Pour moi (et jespère que cest utile) lanalyse factorielle est beaucoup plus utile que lACP.
Récemment, jai eu le plaisir danalyser une échelle par analyse factorielle. Cette échelle (bien quelle soit largement utilisée dans lindustrie) a été développée en utilisant lACP, et à ma connaissance jamais analysé les facteurs.
Lorsque jai effectué lanalyse factorielle (axe principal), jai découvert que les communautés pour trois des items étaient inférieures à 30%, ce qui signifie que plus de 70% de la variance des items nétait pas analysée. PCA transforme simplement les données en une nouvelle combinaison et ne se soucie pas des communautés. Ma conclusion était que léchelle nétait pas très bonne dun point de vue psychométrique, et je lai confirmé avec un échantillon différent.
Essentiellement, si vous voulez prédire à laide des facteurs, utilisez lACP , tandis que si vous voulez comprendre les facteurs latents, utilisez l’analyse factorielle.
Réponse
Extension de la réponse de @StatisticsDocConsulting « : la différence de charges entre EFA et PCA nest pas triviale avec un petit nombre de variables. Voici « une fonction de simulation pour démontrer cela dans R:
simtestit=function(Sample.Size=1000,n.Variables=3,n.Factors=1,Iterations=100) {require(psych);X=list();x=matrix(NA,nrow=Sample.Size,ncol=n.Variables) for(i in 1:Iterations){for(i in 1:n.Variables){x[,i]=rnorm(Sample.Size)} X$PCA=append(X$PCA,mean(abs(principal(x,n.Factors)$loadings[,1]))) X$EFA=append(X$EFA,mean(abs(factanal(x,n.Factors)$loadings[,1])))};X}
Par défaut, cette fonction effectue 100 Iterations
, dans chacun desquels il produit des échantillons aléatoires normalement distribués (Sample.Size
$ = 1000 $) de trois variables, et extrait un facteur à laide de PCA et ML-EFA. Il génère une liste de deux Iterations
-long vecteurs composés des grandeurs moyennes des variables simulées « chargements sur le premier composant non pivoté de lACP et le facteur général de lEFA, respectivement. Il vous permet de jouer avec la taille de léchantillon et le nombre de variables et de facteurs en fonction de votre situation, dans les limites des principal()
et factanal()
et votre ordinateur.
En utilisant ce code, jai simulé des échantillons de 3 à 100 variables avec 500 itérations chacune pour produire des données:
Y=data.frame(n.Variables=3:100,Mean.PCA.Loading=rep(NA,98),Mean.EFA.Loading=rep(NA,98)) for(i in 3:100) {X=simtestit(n.Variables=i,Iterations=500);Y[i-2,2]=mean(X$PCA);Y[i-2,3]=mean(X$EFA)}
… pour un graphique de la sensibilité des charges moyennes (à travers les variables et les itérations) au nombre de variables:
Cela montre à quel point on doit interpréter la force des charges dans lACP par rapport à lEFA. Les deux dépendent quelque peu du nombre de variables, mais les charges sont beaucoup plus fortement biaisées à la hausse dans lACP. La différence entre les charges moyennes de ces méthodes diminue à mesure que le nombre de variables augmente, mais même avec 100 variables, les chargements PCA en moyenne 0,067 $ de plus que les chargements EFA dans les données normales aléatoires.Cependant, notez que les charges moyennes seront généralement plus élevées dans les applications réelles, car on utilise généralement ces méthodes sur des variables plus corrélées. Je ne sais pas comment cela pourrait affecter la différence des charges moyennes.
Réponse
Une citation dun très beau manuel ( Brown, 2006, pp. 22, italiques ajoutés).
PCA = analyse en composantes principales
EFA = analyse factorielle exploratoire
CFA = analyse factorielle confirmatoire
Bien quelle soit liée à lEPT, lanalyse en composantes principales (ACP) est souvent mal catégorisée comme méthode destimation de lanalyse factorielle commune. Contrairement aux estimateurs discutés dans le paragraphe précédent (ML, PF), lACP repose sur un ensemble différent de méthodes qui ne sont pas basées sur le modèle des facteurs communs. LACP ne fait pas la distinction entre la variance commune et la variance unique. Elle vise plutôt à tenir compte de la variance des mesures observées plutôt quà expliquer les corrélations entre elles. Ainsi, lACP est plus appropriée technique de réduction des données pour réduire un plus grand ensemble de mesures à un nombre plus petit et plus gérable de variables composites à utiliser dans les analyses ultérieures. Cependant, certains méthodologistes ont fait valoir que lACP est une alternative raisonnable ou peut-être supérieure à lEFA, compte tenu du fait que lACP possède plusieurs propriétés statistiques souhaitables (par exemple, plus simple en termes de calcul, non susceptible de solutions inappropriées, produit souvent des résultats similaires à ceux de lEFA , capacité de lACP à calculer le score dun participant sur une composante principale alors que la nature indéterminée de lEPT complique ces calculs). Bien que le débat sur cette question se poursuive, Fabrigar et al. (1999) avancent plusieurs raisons en opposition à largument de la place de lACP dans lanalyse factorielle. Ces auteurs soulignent les situations dans lesquelles lEPT et lACP produisent des résultats différents; par exemple, lorsque les communautés sont faibles ou lorsquil ny a que quelques indicateurs dun facteur donné (cf. Widaman, 1993). Quoi quil en soit, si la justification primordiale et les objectifs empiriques dune analyse sont en accord avec le modèle de facteurs communs, alors il est conceptuellement et mathématiquement incohérent de mener lACP; cest-à-dire que lEFA est plus appropriée si lobjectif déclaré est de reproduire les intercorrélations dun ensemble dindicateurs avec un plus petit nombre de dimensions latentes, en reconnaissant lexistence derreur de mesure dans les mesures observées. Floyd et Widaman (1995) affirment que les estimations basées sur lAGE sont plus susceptibles de se généraliser au CFA que celles obtenues à partir de lAPC en ce que, contrairement à lACP, lEFA et lAFC sont basées sur le modèle à facteurs communs. Ceci est une considération remarquable étant donné que lEPT est souvent utilisé comme précurseur du CFA dans le développement à léchelle et la validation de construction. Une démonstration détaillée des différences de calcul entre lACP et lEFA peut être trouvée dans les manuels danalyse multivariée et factorielle (par exemple, Tabachnick & Fidell, 2001).
Brown, TA (2006). Analyse factorielle de confirmation pour la recherche appliquée. New York: Guilford Press.
Réponse
On peut penser dun PCA comme étant comme un FA dans lequel les communautés sont supposées égales à 1 pour toutes les variables. En pratique, cela signifie que les éléments qui auraient des charges factorielles relativement faibles en FA en raison dune faible communalité auront des charges plus élevées en PCA. Cette fonctionnalité nest pas souhaitable si le but principal de lanalyse est de réduire la longueur des éléments et de nettoyer une batterie déléments de ceux avec des charges faibles ou équivoques, ou didentifier les concepts qui ne sont pas bien représentés dans le pool déléments.
Réponse
Dans un article de Tipping et Bischop, la relation étroite entre lACP probabalistique (PPCA) et lanalyse factorielle est discutée. Le PPCA est plus proche du FA que le PCA classique. Le modèle courant est
$$ \ mathbf {y} = \ mu + \ mathbf {Wx} + \ epsilon $$
où $ \ mathbf {W} \ in \ mathbb {R} ^ {p, d} $, $ \ mathbf {x} \ sim \ mathcal {N} (\ mathbf {0}, \ mathbf {I}) $ et $ \ epsilon \ sim \ mathcal {N} ( \ mathbf {0}, \ mathbf {\ Psi}) $.
- Lanalyse factorielle suppose que $ \ mathbf {\ Psi} $ est une diagonale.
- PPCA suppose $ \ mathbf {\ Psi} = \ sigma ^ 2 \ mathbf {I} $
Michael E. Tipping, Christopher M. Bishop (1999). Analyse probabiliste en composantes principales , Journal de la Royal Statistical Society, volume 61, numéro 3, pages 611–622
Commentaires
- + 1. Oui. Je pense que la compréhension du PPCA est nécessaire pour comprendre la relation entre PCA et FA. Mais vous pouvez améliorer votre réponse en discutant de la relation PCA / PPCA.
Réponse
Aucune de ces réponses nest parfait. Soit FA ou PCA a quelques variantes. Nous devons clairement indiquer quelles variantes sont comparées. Je comparerais lanalyse factorielle du maximum de vraisemblance et lACP de Hotelling.Le premier suppose que la variable latente suit une distribution normale mais lACP na pas une telle hypothèse. Cela a conduit à des différences, telles que la solution, limbrication des composants, lunique de la solution, les algorithmes doptimisation.
Commentaires
- Je me demande si vous pourriez développer un peu ce sujet – vous avez dit quil y avait des différences dans la dernière phrase, mais vous navez pas donné beaucoup dinformations sur ce que pourraient être ces différences ou en quoi ces différences pourraient être importantes?
- Choisir les deux méthodes les plus éloignées et affirmer quelles sont effectivement différentes – comme vous le faites – nest pas non plus une logique parfaite . On devrait probablement trouver et signaler comment ces deux sont similaires. Vous pouvez également choisir les méthodes les plus similaires (telles que PCA standard ou PAF ) et indiquer en quoi elles sont différentes.
- Hotelling ‘ s PCA suppose des gaussiens latentes.
Réponse
Il y a beaucoup de bonnes réponses pour ce post, mais récemment, je suis tombé sur une autre différence.
Le clustering est une application où PCA et FA donnent des résultats différents. Lorsquil y a de nombreuses fonctionnalités dans les données, on peut essayer de trouver les principales directions du PC et de projeter les données sur ces PC, puis procéder à la mise en cluster. Cela perturbe souvent les clusters inhérents aux données – Cest un résultat bien prouvé. Les chercheurs suggèrent de procéder à des méthodes de regroupement de sous-espaces, qui recherchent des facteurs latents de faible dimension dans le modèle.
Pour illustrer cette différence, considérons le jeu de données Crabs
dans R. Crabs jeu de données a 200 lignes et 8 colonnes, décrivant 5 mesures morphologiques sur 50 crabes de deux couleurs chacune formes et les deux sexes, de lespèce – Il existe essentiellement 4 (2×2) classes différentes de crabes.
library(MASS) data(crabs) lbl <- rep(1:4,each=50) pc <- princomp(crabs[,4:8]) plot(pc) # produce the scree plot X <- as.matrix(crabs[,4:8]) %*% pc$loadings library(mclust) res_12 <- Mclust(X[,1:2],G=4) plot(res_12) res_23 <- Mclust(X[,2:3],G=4) plot(res_23)
Clustering à laide de PC1 et PC2:
Clustering à laide de PC2 et PC3:
#using PC1 and PC2: 1 2 3 4 1 12 46 24 5 2 36 0 2 0 3 2 1 24 0 4 0 3 0 45 #using PC2 and PC3: 1 2 3 4 1 36 0 0 0 2 13 48 0 0 3 0 1 0 48 4 1 1 50 2
Comme nous pouvons le voir sur les graphiques ci-dessus, PC2 et PC3 portent des informations plus discriminantes que PC1.
Si lon essaie de regrouper en utilisant les facteurs latents en utilisant un mélange danalyseurs de facteurs, nous voyons un résultat bien meilleur par rapport à lutilisation des deux premiers PC.
mfa_model <- mfa(y, g = 4, q = 2) |............................................................| 100% table(mfa_model$clust,c(rep(1,50),rep(2,50),rep(3,50),rep(4,50))) 1 2 3 4 1 0 0 0 45 2 16 50 0 0 3 34 0 0 0 4 0 0 50 5
Commentaires
- Je dois dire que je doute que cette réponse réponde vraiment à la question. La réponse concerne lanalyse des grappes après lACP ou lAF, et non lAPC et lAF eux-mêmes. Mais même à cet égard, la réponse est sombre ou inachevée. Comment expliquer la différence que vous affichez?
- @ttnphns Je suis daccord avec la réponse concernant lanalyse de cluster. Cependant, OP avait également demandé un scénario réel avec PCA / FA où lun doit être utilisé par rapport à lautre. Généralement, lACP ou lAF nest jamais lobjectif final – Par exemple En sciences sociales, lobjectif final serait de segmenter les sujets en différents clusters / groupes. Ma réponse aborde de tels scénarios. Au cas où vous pensez que ma réponse peut être améliorée, nhésitez pas à le signaler.
- Je pense que votre réponse peut devenir vraiment pertinente si vous expliquez votre résultat. Vous prétendez que les différences entre PCA et FA sont intrinsèques pour les deux méthodes (seulement elles deviennent apparentes lors du clustering). Je pense que vous devriez montrer ou au moins spéculer comment ou pourquoi les différences proviennent théoriquement des différences entre les méthodes ‘ models.