Quali sono le differenze tra Analisi fattoriale e Analisi dei componenti principali?


215

Sembra che un certo numero di pacchetti statistici che utilizzo includano questi due concetti insieme. Tuttavia, mi chiedo se ci sono diverse ipotesi o "formalità" di dati che devono essere vere per essere usate l'una sull'altra. Un vero esempio sarebbe incredibilmente utile.


2
I capitoli principali di analisi dei componenti e analisi dei fattori nel seguente libro, disponibile nella maggior parte delle biblioteche del college, affrontano esattamente la tua domanda: apa.org/pubs/books/4316510.aspx
user31256

3
Oltre alle risposte di seguito potresti anche leggere questo e questo mio.
ttnphns,

2
E un'altra buona domanda come "dovrei usare PCA o FA": stats.stackexchange.com/q/123063/3277 .
ttnphns,

3
@ttnphns: ti incoraggio a fornire una risposta in questo thread, forse costituito da un elenco annotato delle tue risposte in altri thread correlati. Questo potrebbe sostituire i tuoi commenti sopra (attualmente quattro commenti con link) e sarebbe più pratico, specialmente se annoti brevemente ogni link. Ad esempio, cerca qui la spiegazione di questo problema, cerca lì una spiegazione di questo problema, ecc. È solo un suggerimento, ma credo che questo thread ne trarrebbe grande beneficio! Un vantaggio particolare è che puoi sempre aggiungere più link a quella risposta.
amoeba,

2
Una domanda simile è stata posta su MathOverflow e ha ricevuto quella che considererei un'ottima risposta: mathoverflow.net/questions/40191/…
Daniel Moskovich,

Risposte:


156

L'analisi dei componenti principali prevede l'estrazione di composti lineari delle variabili osservate.

L'analisi fattoriale si basa su un modello formale che prevede le variabili osservate da fattori latenti teorici.

In psicologia queste due tecniche sono spesso applicate nella costruzione di test su più scale per determinare quali elementi si caricano su quali scale. Generalmente forniscono conclusioni sostanziali simili (per una discussione si veda Comrey (1988) Metodi analitici fattoriali per lo sviluppo della scala in personalità e psicologia clinica). Questo aiuta a spiegare perché alcuni pacchetti statistici sembrano raggrupparli insieme. Ho anche visto situazioni in cui "analisi dei componenti principali" è erroneamente etichettata "analisi dei fattori".

In termini di una semplice regola empirica , ti suggerirei di:

  1. Eseguire l'analisi dei fattori se si assume o si desidera testare un modello teorico di fattori latenti che causano le variabili osservate.

  2. Esegui analisi dei componenti principali Se si desidera semplicemente ridurre le variabili osservate correlate a un insieme più piccolo di importanti variabili composite indipendenti.


5
La regola empirica è molto utile. Grazie per quello
Brandon Bertelsen,

1
Per quanto riguarda la regola empirica (1): non testerei un modello teorico di fattori latenti con un'analisi dei fattori di conferma piuttosto che una fa esplorativa?
Romano

1
@roman Sì. Un CFA offre un controllo molto maggiore sul modello rispetto all'EFA. Ad esempio, è possibile limitare i caricamenti a zero; equiparare i caricamenti; hanno residui correlati; aggiungere fattori di ordine superiore; ecc.
Jeromy Anglim,

3
@Jeromy Anglim È davvero corretto affermare che PCA crea un "insieme più piccolo di importanti variabili composite indipendenti". O dovresti davvero dire "insieme più piccolo di importanti variabili composite non correlate". Se i dati sottostanti utilizzati in PCA non sono (multivariati) normalmente distribuiti, i dati dimensionali ridotti non saranno correlati?
FXQuantTrader,

1
Il secondo pollice della regola è facile da ottenere, ma come posso applicare il primo? Può sembrare strano, ma quando so che voglio eseguire un modello fattoriale rispetto alle variabili osservate?
Ben

48

Dalla mia risposta qui:

La PCA è seguita da una rotazione (come varimax) è ancora PCA?

Principal Component Analysis (PCA) e Common Factor Analysis (CFA) sono metodi distinti. Spesso producono risultati simili e la PCA viene utilizzata come metodo di estrazione predefinito nelle routine di analisi del fattore SPSS. Ciò indubbiamente provoca molta confusione sulla distinzione tra i due.

La linea di fondo è che questi sono due modelli diversi, concettualmente. In PCA, i componenti sono effettive combinazioni lineari ortogonali che massimizzano la varianza totale. In FA, i fattori sono combinazioni lineari che massimizzano la porzione condivisa della varianza - sottostanti "costrutti latenti". Ecco perché la FA viene spesso chiamata "analisi dei fattori comuni". FA utilizza una varietà di routine di ottimizzazione e il risultato, a differenza di PCA, dipende dalla routine di ottimizzazione utilizzata e dai punti di partenza per tali routine. Semplicemente non esiste un'unica soluzione unica.

In R, la funzione factanal () fornisce a CFA un'estrazione di massima verosimiglianza. Quindi, non dovresti aspettarti che riproduca un risultato SPSS basato su un'estrazione di PCA. Semplicemente non è lo stesso modello o logica. Non sono sicuro che otterresti lo stesso risultato se utilizzassi l'estrazione di Probabilità massima di SPSS in quanto potrebbero non utilizzare lo stesso algoritmo.

Nel bene o nel male in R, è possibile, tuttavia, riprodurre "l'analisi fattoriale" confusa fornita da SPSS come impostazione predefinita. Ecco il processo in R. Con questo codice, sono in grado di riprodurre il risultato "Analisi fattoriale" del componente principale SPSS usando questo set di dati. (Ad eccezione del segno, che è indeterminato). Tale risultato potrebbe anche essere ruotato utilizzando uno dei metodi di rotazione disponibili di 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)

5
Si noti che otterrete gli stessi risultati con principal(attitude, 2, rotate="none")il psychpacchetto e che la regola di Kayser (ev> 1) non è il modo più consigliato per verificare la dimensionalità (sopravvaluta il numero di fattori).
chl

5
Sì, so che il preside psichico lo riassume. Il mio scopo era quello di mostrare cosa stava facendo "analisi fattoriale" SPSS quando si utilizzava il metodo di estrazione dei componenti principali. Concordo sul fatto che la regola dell'autovalore sia un modo scadente per selezionare il numero di fattori. Ma questo è esattamente ciò che SPSS fa di default e questo era quello che stavo dimostrando.
Brett,

1
factanal()fornisce EFA non CFA. Inoltre, secondo la mia esperienza, l'estrazione di Maximum Likelihood di SPSS dovrebbe dare lo stesso risultato factanal()dato che non esiste rotazione obliqua.
pe-pe-rry,

2
Cosa significa quanto segue: 'In FA, i fattori sono combinazioni lineari che massimizzano la porzione condivisa della varianza - sottostanti "costrutti latenti". '?
congetture

Si noti inoltre che CFA può indicare AF confermativo (anziché AF esplicativo ) anziché AF comune .
Richard Hardy,

33

Hai ragione sul tuo primo punto, anche se in FA generalmente lavori con entrambi (unicità e comunanza). La scelta tra PCA e FA è un dibattito di lunga data tra gli psicometrici. Tuttavia, non seguo abbastanza i tuoi punti. La rotazione degli assi principali può essere applicata qualunque sia il metodo utilizzato per costruire fattori latenti. Infatti, la maggior parte delle volte si tratta della rotazione VARIMAX (rotazione ortogonale, considerando fattori non correlati) che viene utilizzata, per motivi pratici (interpretazione più semplice, regole di punteggio più semplici o interpretazione dei punteggi dei fattori, ecc.), Sebbene rotazione obliqua (ad es. PROMAX ) potrebbe probabilmente riflettere meglio la realtà (i costrutti latenti sono spesso correlati tra loro), almeno nella tradizione di FA in cui si presume che un costrutto latente sia davvero al centro delle inter-correlazioni osservate tra le variabili. Il punto è che PCA seguito dalla rotazione di VARIMAX distorce in qualche modo l'interpretazione delle combinazioni lineari delle variabili originali nella tradizione dell'analisi dei dati (vedi il lavoro di Michel Tenenhaus). Da una prospettiva psicometrica, i modelli FA sono da preferire in quanto spiegano esplicitamente errori di misurazione, mentre a PCA non interessa. In breve, usando PCA stai esprimendo ogni componente (fattore) come una combinazione lineare delle variabili, mentre in FA queste sono le variabili che sono espresse come combinazioni lineari dei fattori (incluse le comunità e le componenti di unicità, come hai detto). Il punto è che PCA seguito dalla rotazione di VARIMAX distorce in qualche modo l'interpretazione delle combinazioni lineari delle variabili originali nella tradizione dell'analisi dei dati (vedi il lavoro di Michel Tenenhaus). Da una prospettiva psicometrica, i modelli FA sono da preferire in quanto spiegano esplicitamente errori di misurazione, mentre a PCA non interessa. In breve, usando PCA stai esprimendo ogni componente (fattore) come una combinazione lineare delle variabili, mentre in FA queste sono le variabili che sono espresse come combinazioni lineari dei fattori (incluse le comunità e le componenti di unicità, come hai detto). Il punto è che PCA seguito dalla rotazione di VARIMAX distorce in qualche modo l'interpretazione delle combinazioni lineari delle variabili originali nella tradizione dell'analisi dei dati (vedi il lavoro di Michel Tenenhaus). Da una prospettiva psicometrica, i modelli FA sono da preferire in quanto spiegano esplicitamente errori di misurazione, mentre a PCA non interessa. In breve, usando PCA stai esprimendo ogni componente (fattore) come una combinazione lineare delle variabili, mentre in FA queste sono le variabili che sono espresse come combinazioni lineari dei fattori (incluse le comunità e le componenti di unicità, come hai detto). I modelli FA sono da preferire poiché spiegano esplicitamente errori di misurazione, mentre a PCA non interessa. In breve, usando PCA stai esprimendo ogni componente (fattore) come una combinazione lineare delle variabili, mentre in FA queste sono le variabili che sono espresse come combinazioni lineari dei fattori (incluse le comunità e le componenti di unicità, come hai detto). I modelli FA sono da preferire poiché spiegano esplicitamente errori di misurazione, mentre a PCA non interessa. In breve, usando PCA stai esprimendo ogni componente (fattore) come una combinazione lineare delle variabili, mentre in FA queste sono le variabili che sono espresse come combinazioni lineari dei fattori (incluse le comunità e le componenti di unicità, come hai detto).

Ti consiglio di leggere prima le seguenti discussioni su questo argomento:


7
Solo per dire che la mia risposta potrebbe in realtà sembrare un po 'fuori tema poiché questa domanda è stata unita a un'altra, stats.stackexchange.com/questions/3369/… (inizialmente rispondo a quest'ultima).
chl

6
Ah, mi chiedevo perché ti collegassi a questa queston, in questa domanda ... :)
Brandon Bertelsen,

1
PCA followed by VARIMAX rotation somewhat distorts the interpretation of the linear combinations of the original variables in the "data analysis" tradition. Chl, potresti spiegarlo? Interessante.
ttnphns,

32

Esistono numerose definizioni suggerite sul Web. Eccone uno da un glossario online sull'apprendimento statistico :

Analisi del componente principale

Creazione di nuove funzionalità che sono i componenti principali di un set di dati. I componenti principali sono variabili casuali di varianza massima costruite da combinazioni lineari delle caratteristiche di input. Equivalentemente, sono le sporgenze sugli assi dei componenti principali, che sono linee che minimizzano la distanza media quadrata da ciascun punto nel set di dati. Per garantire unicità, tutti gli assi dei componenti principali devono essere ortogonali. PCA è una tecnica di massima verosimiglianza per la regressione lineare in presenza di rumore gaussiano su entrambi gli ingressi e le uscite. In alcuni casi, PCA corrisponde a una trasformata di Fourier, come il DCT utilizzato nella compressione delle immagini JPEG. Vedi "Autovetture per il riconoscimento" (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, "

Analisi fattoriale

Una generalizzazione di PCA che si basa esplicitamente sulla massima verosimiglianza. Come per la PCA, si presume che ogni punto dati derivi dal campionamento di un punto in un sottospazio e quindi dalla perturbazione con rumore gaussiano a dimensione piena. La differenza è che l'analisi fattoriale consente al rumore di avere una matrice di covarianza diagonale arbitraria, mentre PCA presume che il rumore sia sferico. Oltre a stimare il sottospazio, l'analisi fattoriale stima la matrice di covarianza del rumore. Vedi "L'algoritmo EM per miscele di analizzatori di fattori" .caccia della dimensionalità per PCA ".


2
La descrizione dell'analisi fattoriale ottiene il punto principale (covarianza diagonale), ma storicamente non è stata sviluppata come generalizzazione della PCA.
congetture il

1
Quindi, fondamentalmente, in PCA uno è la matrice di covarianza e in FA la matrice di correlazione? È sempre difficile per me trovare la matematica effettiva dopo che i metodi hanno creato molta terminologia dal campo in cui vengono applicati. (fuori tema: una volta mi ci è voluto un intero pomeriggio per capire quale fosse la modellazione del percorso fino a quando non ho trovato un (1) documento degli anni '70 che affermava l'equazione della matrice dietro di esso.)
Mark van der Loo

28

La risposta migliore in questo thread suggerisce che la PCA è più una tecnica di riduzione della dimensionalità, mentre la FA è più una tecnica variabile latente. Questo è assolutamente corretto. Ma molte risposte qui e molti trattamenti altrove presentano PCA e FA come due metodi completamente diversi, con obiettivi, metodi e risultati diversi se non opposti. Non sono d'accordo; Credo che quando la PCA è considerata una tecnica variabile latente, è abbastanza vicina alla FA e dovrebbero essere visti come metodi molto simili.

Ho fornito il mio account sulle somiglianze e le differenze tra PCA e FA nel seguente thread: Esistono buone ragioni per utilizzare PCA anziché EFA? Inoltre, PCA può essere un sostituto dell'analisi fattoriale? Qui sostengo che, per semplici motivi matematici, ci si può aspettare che i risultati di PCA e FA siano abbastanza simili, dato che solo il numero di variabili non è molto piccolo (forse più di una dozzina). Vedi la mia [lunga!] Risposta nel thread collegato per dettagli matematici e simulazioni Monte Carlo. Per una versione molto più concisa del mio argomento, vedi qui: In quali condizioni PCA e FA producono risultati simili?

n=178p=13

Matrice di correlazione del set di dati del vino

n=178

Analisi PCA e FA dell'insieme di dati del vino

p=131331

Nota che non c'è quasi alcuna differenza tra PCA e FA! Ci sono piccole deviazioni qua e là, ma il quadro generale è quasi identico e tutti i caricamenti sono molto simili e puntano nelle stesse direzioni. Questo è esattamente ciò che ci si aspettava dalla teoria e non è una sorpresa; tuttavia, è istruttivo osservare.

PS. Per un biplot PCA molto più bello dello stesso set di dati, vedere questa risposta di @vqv .

PPS. Mentre i calcoli PCA sono standard, i calcoli FA potrebbero richiedere un commento. I caricamenti di fattori sono stati calcolati da un algoritmo di "fattori principali iterati" fino alla convergenza (9 iterazioni), con le comunità inizializzate con correlazioni parziali. Una volta che i carichi convergevano, i punteggi venivano calcolati usando il metodo di Bartlett. Questo produce punteggi standardizzati; Le ho ridimensionate in base alle rispettive varianze dei fattori (date dalle lunghezze dei carichi).


1
Quale software hai usato per creare i grafici di PCA e di analisi dei fattori?
anche il

1
Ho usato Matlab. Stavo pensando di incollare il codice nella mia risposta (come di solito è mia abitudine), ma non volevo ingombrare ancora di più questo thread occupato. Ma vieni a pensarci bene, dovrei pubblicarlo su un sito Web esterno e lasciare un link qui. Lo farò.
amoeba,

2
È vero che PCA e FA a volte e per niente raramente danno risultati simili (caricamenti), e quindi la PCA può essere vista come un caso specifico di FA, quando l'analisi dei fattori è definita in senso ampio. Ancora FA (sensu stricto) e PCA sono teoricamente abbastanza diversi.
ttnphns,

2
(cont.) I fattori sono tratti latenti trascendenti; pr. i componenti sono derivazioni immanenti. Nonostante i due grafici di caricamento appaiano praticamente simili, teoricamente sono sostanzialmente diversi. Il piano dei componenti a sinistra è stato prodotto come sottospazio delle variabili che si proiettano su di esso. Il piano dei fattori è stato prodotto come uno spazio diverso dallo spazio delle variabili e quindi si proiettano su uno spazio "alieno" sulla trama giusta.
ttnphns,

3
(cont.) Ma l'immagine giusta (FA) in realtà non è un vero biplot , è piuttosto una sovrapposizione di due distinti grafici a dispersione, spazi diversi: il diagramma di caricamento (dove gli assi sono fattori reali) e il diagramma dei punteggi degli oggetti (dove gli assi sono i fattori stimati come punteggi). Lo spazio dei fattori reali supera lo spazio variabile "parentale" ma lo spazio dei punteggi dei fattori è il suo sottospazio. Hai sovrapposto due coppie eterogenee di assi, ma portano le stesse etichette ("fattore1" e "fattore2" in entrambe le coppie) che la circostanza è fortemente fuorviante e ci persuade a pensare che sia un biplot in buona fede , come quello di sinistra.
ttnphns,

25

Una spiegazione di base, ma una sorta di scrupolosa, dell'analisi PCA vs Factor con l'aiuto di grafici a dispersione, in passaggi logici. (Ringrazio @amoeba che, nel suo commento alla domanda, mi ha incoraggiato a pubblicare una risposta al posto di creare collegamenti ad altrove. Quindi ecco una risposta per il tempo libero e in ritardo.)

PCA come riepilogo variabile (estrazione delle caratteristiche)

Spero che tu abbia già capito PCA. Per rivivere ora.

inserisci qui la descrizione dell'immagine

V1V2un'

P1=un'11V1+un'12V2

P2=un'21V1+un'22V2

Tali coefficienti sono coseni di rotazione (= direzione coseni, direzioni principali) e comprendono quelli che sono chiamati autovettori, mentre gli autovalori della matrice di covarianza sono le varianze dei componenti principali. In PCA, di solito scartiamo gli ultimi componenti deboli: riassumiamo così i dati per pochi componenti estratti per primi, con poca perdita di informazioni.

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

Con i nostri dati tracciati, i valori dei componenti P1 (punteggi) P1 = .73543*V1 + .67761*V2e il componente P2 vengono scartati. La varianza di P1 è 1.75756, il primo autovalore della matrice di covarianza, e quindi P1 spiega 86.5%la varianza totale che è uguale (1.07652+.95534) = (1.75756+.27430).

PCA come previsione variabile (funzione "latente")

P1 V1V2

V1=un'11P1+E1

V2=un'12P1+E2

un'E

inserisci qui la descrizione dell'immagine

V1^=un'11P1V2^=un'12P1E1=V1-V1^E2=V2-V2^

Ora, la caratteristica della PCA è che se calcoliamo E1 ed E2 per ogni punto nei dati e tracciamo queste coordinate - cioè facciamo il grafico a dispersione degli errori da soli, i "dati di errore" del cloud coincideranno con il componente P2 scartato. E lo fa: la nuvola viene tracciata sulla stessa immagine della nuvola beige - e si vede in realtà forma l'asse P2 (di Fig.1 ) come piastrellato con i punteggi dei componenti P2.

Nessuna meraviglia, potresti dire. È così ovvio: in PCA , i componenti junior scartati sono ciò che si decompone precisamente negli errori di previsione E, nel modello che spiega (ripristina) le variabili originali V con la caratteristica latente (e) P1. Gli errori E insieme costituiscono semplicemente i componenti esclusi. Qui è dove l' analisi dei fattori inizia a differire dalla PCA.

L'idea di FA comune (caratteristica latente)

Formalmente, il modello che predice le variabili manifest mediante le caratteristiche latenti estratte è lo stesso in FA come in PCA; [ Eq.3 ]:

V1=un'1F+E1

V2=un'2F+E2

dove F è il fattore comune latente estratto dai dati e che sostituisce ciò che era P1 in Eq.2 . La differenza nel modello è che in FA, a differenza di PCA, le variabili di errore (E1 ed E2) devono essere non correlate tra loro .

un'un'un'un'un'un'un'

OK, torna al thread. E1 ed E2 non sono correlati nell'analisi fattoriale; quindi, dovrebbero formare una nuvola di errori sia rotondi che ellittici ma non orientati in diagonale. Mentre erano in PCA la loro nuvola formava una linea retta che coincideva con P2 in diagonale. Entrambe le idee sono dimostrate nella foto:

inserisci qui la descrizione dell'immagine

Si noti che gli errori sono nuvola rotonda (non diagonalmente allungata) in FA. Il fattore (latente) in FA è orientato in qualche modo diverso, cioè non è giusto il primo componente principale che è il "latente" in PCA. Nella foto, la linea del fattore è un po 'stranamente conica - diventerà chiaro perché alla fine.

Qual è il significato di questa differenza tra PCA e FA?Variabili correlate, che si vede nella forma diagonale ellittica del cloud di dati. P1 ha scremato la varianza massima, quindi l'ellisse è co-diretta a P1. Di conseguenza P1 ha spiegato da solo la correlazione; ma non ha spiegato adeguatamente la quantità esistente di correlazione ; sembrava spiegare la variazione dei punti dati, non la correlazione. In realtà, ha sovrastimato la correlazione, il cui risultato è stato la comparsa della nuvola diagonale e correlata di errori che compensano l'eccesso di conto. P1 da solo non può spiegare in modo completo la forza della correlazione / covariazione. Fattore F puòfallo da solo; e la condizione quando diventa in grado di farlo è esattamente dove gli errori possono essere costretti a non essere correlati. Poiché la nuvola di errori è rotonda, nessuna correlazione - positiva o negativa - è rimasta dopo l'estrazione del fattore, quindi è il fattore che ha scremato tutto.

Come riduzione della dimensionalità, PCA spiega la varianza ma spiega le correlazioni in modo impreciso. FA spiega le correlazioni ma non è in grado di spiegare (secondo i fattori comuni) quante più variazioni di dati possibile della PCA. I fattori in FA rappresentano quella parte della variabilità che è la porzione correlativa netta, chiamata comunalità ; e quindi i fattori possono essere interpretati come forze / caratteristiche / tratti reali ma non osservabili che nascondono "in" o "dietro" le variabili di input per metterle in correlazione. Perché spiegano la correlazione in modo matematico. I componenti principali (pochi primi) lo spiegano matematicamente non altrettanto e quindi possono essere chiamati "tratto latente" (o simile) solo a un certo tratto e provvisoriamente .

La moltiplicazione dei caricamenti è ciò che spiega (ripristina) la correlazione o la correlazione sotto forma di covarianza - se l'analisi si basava sulla matrice di covarianza (come nell'esempio precedente) piuttosto che sulla matrice di correlazione. L'analisi fattoriale che ho fatto con i dati ha prodotto a_1=.87352, a_2=.84528, quindi il prodotto a_1*a_2 = .73837è quasi uguale alla covarianza.73915 . D'altra parte, i caricamenti di PCA erano a1_1=.97497, a1_2=.89832, quindi a1_1*a1_2 = .87584sopravvaluta .73915considerevolmente.

Avendo spiegato la principale distinzione teorica tra PCA e FA, torniamo ai nostri dati per esemplificare l'idea.

FA: soluzione approssimativa (punteggi dei fattori)

Di seguito è riportato il grafico a dispersione che mostra i risultati dell'analisi che chiameremo provvisoriamente "analisi dei fattori subottimali", 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).

inserisci qui la descrizione dell'immagine

Vedi le partenze dalla Fig.2 della PCA. La nuvola beige degli errori non è rotonda, è diagonalmente ellittica, ma è evidentemente molto più grassa della sottile linea diagonale che si è verificata nel PCA. Si noti inoltre che i connettori di errore (mostrati per alcuni punti) non sono più paralleli (in PCA, erano per definizione paralleli a P2). Inoltre, se si osservano, ad esempio, i punti "F" ed "E" che si specchiano simmetricamente sull'asse F del fattore , si troverà, inaspettatamente, che i relativi punteggi dei fattori saranno valori abbastanza diversi. In altre parole, i punteggi dei fattori non si limitano a trasformare linearmente i punteggi dei componenti principali: il fattore F si trova a modo suo diverso dal modo P1. E i loro assi non coincidono completamente se mostrati insieme sullo stesso diagramma Fig.4 :

inserisci qui la descrizione dell'immagine

A parte il fatto che sono un po 'diversamente orientati, F (come piastrellato con i punteggi) è più breve, cioè rappresenta una varianza minore rispetto a quella di P1. Come notato in precedenza, il fattore tiene conto solo della variabilità che è responsabile della correlazione di V1 V2, vale a dire la parte della varianza totale che è sufficiente a portare le variabili dalla covarianza primordiale0 alla covarianza fattuale .73915.

FA: soluzione ottimale (fattore reale)

Una soluzione di fattore ottimale è quando gli errori sono tonde ellittiche rotonde o non diagonali: E1 ed E2 sono completamente non correlati . L'analisi fattoriale effettivamente ritorna una soluzione così ottimale. Non l'ho mostrato su un semplice diagramma a dispersione come quelli sopra. Perché l'ho fatto? - dopo tutto sarebbe stata la cosa più interessante.

Il motivo è che sarebbe impossibile mostrarsi su un diagramma a dispersione in modo sufficientemente adeguato, anche adottando una trama 3D. È un punto abbastanza interessante teoricamente. Per rendere completamente non correlati E1 ed E2, sembra che tutte e tre queste variabili, F, E1, E2 non debbano trovarsi nello spazio (piano) definito da V1, V2; e i tre devono essere non correlati tra loro . Credo che sia possibile disegnare un tale diagramma a dispersione in 5D (e forse con qualche espediente - in 4D), ma viviamo nel mondo 3D, ahimè. Il fattore F deve essere non correlato a E1 ed E2 (mentre anche loro due non sono correlati) perché F dovrebbe essere l' unica (pulita) e completa fonte di correlazione nei dati osservati. L'analisi fattoriale divide la varianza totale dipinserire le variabili in due parti non correlate (non sovrapposte): -dimensionale, dove gli errori sono, chiamati anche fattori unici, reciprocamente non correlati).parte di comunità ( m-dimensionale, dove mdominano i fattori comuni) e parte di unicità (p

Quindi scusa per non aver mostrato il vero fattore dei nostri dati su un diagramma a dispersione qui. Potrebbe essere visualizzato abbastanza adeguatamente tramite vettori nello "spazio soggetto" come fatto qui senza mostrare punti dati.

Sopra, nella sezione "L'idea di FA comune (caratteristica latente)" ho visualizzato il fattore (asse F) come un cuneo per avvertire che l'asse vero del fattore non giace sul piano V1 V2. Ciò significa che - diversamente dal componente principale P1 - il fattore F come asse non è una rotazione dell'asse V1 o V2 ​​nel loro spazio e F come variabile non è una combinazione lineare delle variabili V1 e V2. Pertanto F è modellato (estratto dalle variabili V1 v2) come se fosse una variabile esterna indipendente, non una derivazione di esse. Equazioni come l' Eq.1 da dove inizia la PCA, non sono applicabili per calcolare il vero fattore (ottimale) nell'analisi fattoriale, mentre le equazioni formalmente isomorfe Eq.2 e Eq.3sono validi per entrambe le analisi. Cioè, in PCA le variabili generano componenti e componenti indietro prevedono variabili; in FA fattore (s) generano / predire le variabili, e non indietro - comune modello fattoriale presuppone concettualmente così , anche se tecnicamente fattori sono estratte dalle variabili osservate.

Non solo il fattore vero non è una funzione delle variabili manifest, ma i valori del fattore vero non sono definiti in modo univoco . In altre parole, sono semplicemente sconosciuti. Tutto ciò è dovuto al fatto che siamo nello spazio analitico 5D eccessivo e non nello spazio 2D domestico dei dati. Solo buone approssimazioni ( esistono diversi metodi ) ai valori dei fattori reali, chiamati punteggi dei fattoriCi sono . I punteggi dei fattori si trovano nel piano V1 V2, come i punteggi dei componenti principali, sono calcolati anche come funzioni lineari di V1, V2, e se fosseroche ho tracciato nella sezione "FA: soluzione approssimativa (punteggi dei fattori)". I punteggi dei componenti principali sono valori dei componenti reali; i punteggi dei fattori sono solo un'approssimazione ragionevole ai valori di fattore reale indeterminati.

FA: carrellata della procedura

un'

Pertanto, la "soluzione dei fattori" visualizzata da me nella sezione "FA: soluzione approssimativa (punteggi dei fattori)" si basava effettivamente su caricamenti ottimali, cioè su fattori reali. Ma i punteggi non erano ottimali, per destino. I punteggi sono calcolati come una funzione lineare delle variabili osservate, come lo sono i punteggi dei componenti, quindi entrambi potrebbero essere confrontati su un diagramma a dispersione e l'ho fatto in ricerca didattica per mostrare come un passaggio graduale dall'idea PCA all'idea di FA.

Bisogna fare attenzione quando si tracciano gli stessi caricamenti dei fattori biplot con punteggi dei fattori nello "spazio dei fattori", tenere presente che i caricamenti si riferiscono a fattori reali mentre i punteggi si riferiscono a fattori surrogati (vedere i miei commenti a questa risposta in questo thread).

La rotazione dei fattori (caricamenti) aiuta a interpretare le caratteristiche latenti. La rotazione dei caricamenti può essere eseguita anche in PCA se si utilizza PCA come se fosse un'analisi fattoriale (ovvero, vedere PCA come previsione variabile). PCA tende a convergere nei risultati con FA man mano che aumenta il numero di variabili (vedere il thread estremamente ricco su somiglianze pratiche e concettuali e differenze tra i due metodi). Vedi il mio elenco di differenze tra PCA e FA alla fine di questa risposta . I calcoli passo-passo di PCA vs FA sul set di dati dell'iride sono disponibili qui . Esiste un numero considerevole di buoni collegamenti alle risposte degli altri partecipanti sull'argomento al di fuori di questo thread; Mi dispiace di averne usati solo pochi nella risposta attuale.

Vedi anche un elenco puntato delle differenze tra PCA e FA qui .


1
+1. È fantastico che tu l'abbia scritto, questa discussione sicuramente mancava di una tua risposta. Ho votato prima di leggere (cosa che faccio raramente) e sicuramente mi sono piaciute le letture successive. Potrei commentare più tardi, ma un piccolo pignolo per ora: hai scritto più volte che in FA la nuvola di errore dovrebbe essere "rotonda". In realtà, potrebbe anche essere ellittico (poiché le unicità per V1 e V2 possono avere varianze diverse), deve solo avere zero correlazioni. Immagino che non volessi confondere i lettori con questo dettaglio.
amoeba,

1
V1=un'1F+E1V2=un'2F+E2(E1,E2)=N(0,io)- Ora usa queste relazioni per generare campioni di V1 e V2. Una volta che V1 e V2 sono stati generati, se dovessimo eseguire la FA ottimale, dovremmo ottenere stime quasi accurate di (E1, E2) e formerà una nuvola ellittica. Inoltre, ora F, E1, E2 possono essere rappresentati sullo stesso piano di V1 e V2.
Kasa,

@kasa, il tuo commento ha salutato la mia risposta o il commento di ameba? Se il tuo commento è contrario alla mia affermazione principale secondo cui in FA le tre variabili latenti non si trovano nello spazio originale e puoi mostrarlo, perché non dare una risposta mostrandola? Ma si noti che in FA ottimale, gli errori sono esattamente non correlati, non che potrebbero essere immaginati come provenienti dalla normale popolazione non correlata.
ttnphns,

@ttnphns: scusami per la confusione, dubitavo del tuo reclamo principale. Proverò a mostrarlo come risposta tra un paio di giorni. Grazie!
Kasa,

21

Le differenze tra analisi dei fattori e analisi delle componenti principali sono:

• Nell'analisi fattoriale esiste un modello strutturato e alcuni presupposti. A questo proposito è una tecnica statistica che non si applica all'analisi dei componenti principali che è una trasformazione puramente matematica.

• L'obiettivo dell'analisi dei componenti principali è spiegare la varianza mentre l'analisi dei fattori spiega la covarianza tra le variabili.

Uno dei maggiori motivi della confusione tra i due ha a che fare con il fatto che uno dei metodi di estrazione dei fattori nell'analisi fattoriale è chiamato "metodo dei componenti principali". Tuttavia, una cosa è usare PCA e un'altra cosa usare il metodo dei componenti principali in FA. I nomi possono essere simili, ma ci sono differenze significative. Il primo è un metodo analitico indipendente mentre il secondo è semplicemente uno strumento per l'estrazione dei fattori.


13

Per me (e spero che sia utile) l'analisi dei fattori è molto più utile della PCA.

Di recente, ho avuto il piacere di analizzare una scala attraverso l'analisi fattoriale. Questa scala (sebbene sia ampiamente utilizzata nell'industria) è stata sviluppata utilizzando PCA e, per quanto ne so, non è mai stata analizzata in base ai fattori.

Quando ho eseguito l'analisi dei fattori (asse principale) ho scoperto che le comunità per tre degli articoli erano inferiori al 30%, il che significa che oltre il 70% della varianza degli articoli non veniva analizzato. PCA trasforma i dati in una nuova combinazione e non si preoccupa delle comunità. La mia conclusione è stata che la scala non era molto buona da un punto di vista psicometrico, e l'ho confermato con un campione diverso.

In sostanza, se si desidera prevedere l'utilizzo dei fattori, utilizzare PCA, mentre se si desidera comprendere i fattori latenti, utilizzare l'analisi dei fattori.


11

Espandendo la risposta di @ StatisticsDocConsulting: la differenza nei caricamenti tra EFA e PCA non è banale con un piccolo numero di variabili. Ecco una funzione di simulazione per dimostrarlo in 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}

IterationsSample.Size=1000Iterationsprincipal()factanal()

Usando questo codice, ho simulato campioni di 3–100 variabili con 500 iterazioni ciascuno per produrre dati:

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)}

... per un diagramma della sensibilità dei caricamenti medi (tra variabili e iterazioni) al numero di variabili:

0,067


10

Si può pensare a un PCA come a un FA in cui si presume che le comunità siano uguali a 1 per tutte le variabili. In pratica, ciò significa che gli articoli che avrebbero carichi a fattore relativamente basso in FA a causa della bassa comunanza avranno carichi più alti in PCA. Questa non è una caratteristica desiderabile se lo scopo principale dell'analisi è tagliare la lunghezza degli articoli e pulire una batteria di articoli con carichi bassi o equivoci, o identificare concetti che non sono ben rappresentati nel pool di articoli.


10

Una citazione da un bel libro di testo (Brown, 2006, pp. 22, enfasi aggiunta).
PCA = analisi dei componenti principali
EFA = analisi del fattore esplorativo
CFA = analisi del fattore di conferma

Sebbene correlata all'EFA, l'analisi delle componenti principali (PCA) è spesso classificata erroneamente come metodo di stima dell'analisi dei fattori comuni. A differenza degli stimatori discussi nel paragrafo precedente (ML, PF), PCA si basa su un diverso insieme di metodi quantitativi che non si basano sul modello di fattore comune. PCA non differenzia la varianza comune e unica. Piuttosto, PCA mira a spiegare la varianza delle misure osservate piuttosto che spiegare le correlazioni tra loro. Pertanto, la PCA viene utilizzata in modo più appropriato come tecnica di riduzione dei dati per ridurre un insieme più ampio di misure a un numero più piccolo e più gestibile di variabili composite da utilizzare nelle analisi successive. Tuttavia, alcuni metodologi hanno sostenuto che la PCA è un'alternativa ragionevole o forse superiore all'EFA, in considerazione del fatto che PCA possiede diverse proprietà statistiche desiderabili (ad esempio, dal punto di vista computazionale più semplice, non suscettibile a soluzioni improprie, spesso produce risultati simili a quelli dell'EFA, capacità del PCA di calcolare il punteggio di un partecipante su un componente principale mentre la natura indeterminata di EFA complica tali calcoli). Sebbene il dibattito su questo tema continui, Fabrigar et al. (1999) forniscono diverse ragioni in opposizione all'argomento del ruolo dell'APC nell'analisi fattoriale. Questi autori sottolineano le situazioni in cui EFA e PCA producono risultati diversi; per esempio, quando le comunità sono basse o quando ci sono solo pochi indicatori di un dato fattore (cfr. Widaman, 1993). spesso produce risultati simili a quelli di EFA, capacità di PCA di calcolare il punteggio di un partecipante su un componente principale mentre la natura indeterminata di EFA complica tali calcoli). Sebbene il dibattito su questo tema continui, Fabrigar et al. (1999) forniscono diverse ragioni in opposizione all'argomento del ruolo dell'APC nell'analisi fattoriale. Questi autori sottolineano le situazioni in cui EFA e PCA producono risultati diversi; per esempio, quando le comunità sono basse o quando ci sono solo pochi indicatori di un dato fattore (cfr. Widaman, 1993). spesso produce risultati simili a quelli di EFA, capacità di PCA di calcolare il punteggio di un partecipante su un componente principale mentre la natura indeterminata di EFA complica tali calcoli). Sebbene il dibattito su questo tema continui, Fabrigar et al. (1999) forniscono diverse ragioni in opposizione all'argomento del ruolo dell'APC nell'analisi fattoriale. Questi autori sottolineano le situazioni in cui EFA e PCA producono risultati diversi; per esempio, quando le comunità sono basse o quando ci sono solo pochi indicatori di un dato fattore (cfr. Widaman, 1993). (1999) forniscono diverse ragioni in opposizione all'argomento del ruolo dell'APC nell'analisi fattoriale. Questi autori sottolineano le situazioni in cui EFA e PCA producono risultati diversi; per esempio, quando le comunità sono basse o quando ci sono solo pochi indicatori di un dato fattore (cfr. Widaman, 1993). (1999) forniscono diverse ragioni in opposizione all'argomento del ruolo dell'APC nell'analisi fattoriale. Questi autori sottolineano le situazioni in cui EFA e PCA producono risultati diversi; per esempio, quando le comunità sono basse o quando ci sono solo pochi indicatori di un dato fattore (cfr. Widaman, 1993).Indipendentemente da ciò, se la logica prevalente e gli obiettivi empirici di un'analisi sono in accordo con il modello di fattore comune, allora è concettualmente e matematicamente incoerente condurre l'APC; vale a dire, l'EFA è più appropriato se l'obiettivo dichiarato è quello di riprodurre le intercorrelazioni di un insieme di indicatori con un numero minore di dimensioni latenti, riconoscendo l'esistenza di errori di misurazione nelle misure osservate.Floyd e Widaman (1995) sottolineano che le stime basate su EFA hanno maggiori probabilità di generalizzare a CFA rispetto a quelle ottenute da PCA in quanto, a differenza di PCA, EFA e CFA si basano sul modello a fattore comune. Questa è una considerazione degna di nota alla luce del fatto che l'EFA è spesso usato come precursore del CFA nello sviluppo su scala e nella validazione del costrutto. Una dimostrazione dettagliata delle differenze computazionali tra PCA ed EFA può essere trovata nei libri di testo analitici multivariati e fattoriali (ad es. Tabachnick e Fidell, 2001).

Brown, TA (2006). Analisi fattoriale confermativa per la ricerca applicata. New York: Guilford Press.


6

In un articolo di Tipping e Bischop viene discussa la stretta relazione tra PCA probabalistico (PPCA) e analisi dei fattori. Il PPCA è più vicino alla FA del classico PCA. Il modello comune è

y=μ+WX+ε

WRp,dX~N(0,io)ε~N(0,Ψ)

  • Ψ
  • Ψ=σ2io

Michael E. Tipping, Christopher M. Bishop (1999). Analisi probabilistica della componente principale , Journal of Royal Statistical Society, Volume 61, Numero 3, Pagine 611–622


2
+1. Sì. Credo che la comprensione del PPCA sia necessaria per comprendere il rapporto tra PCA e FA. Ma potresti migliorare la tua risposta discutendo la relazione PCA / PPCA.
amoeba,

3

Nessuna di queste risposte è perfetta. FA o PCA hanno alcune varianti. Dobbiamo indicare chiaramente quali varianti vengono confrontate. Confronterei l'analisi del fattore di massima verosimiglianza con la PCA dell'Hotelling. La prima ipotizza che la variabile latente segua una distribuzione normale ma PCA non ha tale ipotesi. Ciò ha portato a differenze, come la soluzione, l'annidamento dei componenti, l'unicità della soluzione, gli algoritmi di ottimizzazione.


1
Mi chiedo se potresti approfondire un po 'su questo - hai detto che ci sono differenze nell'ultima frase, ma non hai dato molte informazioni su quali potrebbero essere tali differenze o in che modo tali differenze potrebbero essere importanti?
Silverfish,

1
Selezionare due metodi più distanti e affermare che sono davvero diversi - come fai tu - non è neanche una logica perfetta. Probabilmente si dovrebbe trovare e segnalare come questi due siano simili. In alternativa, si potrebbero scegliere metodi più simili (come PCA semplice o PAF ) e riportare in che modo sono diversi.
ttnphns,

1
La PCA di Hotelling assume gaussiani latenti.
congetture il

1

Ci sono molte risposte fantastiche per questo post, ma recentemente ho riscontrato un'altra differenza.

Il clustering è un'applicazione in cui PCA e FA producono risultati diversi. Quando ci sono molte caratteristiche nei dati, si può tentare di trovare le migliori direzioni del PC e proiettare i dati su questi PC, quindi procedere con il clustering. Spesso ciò disturba i cluster intrinseci nei dati. Questo è un risultato ben collaudato. I ricercatori suggeriscono di procedere con i metodi di clustering dello spazio secondario, che cercano nel modello fattori latenti a bassa dimensione.

Giusto per illustrare questa differenza, considerate il Crabsset di dati nel set di dati di R. Crabs ha 200 righe e 8 colonne, che descrivono 5 misurazioni morfologiche su 50 granchi di ciascuna delle due forme di colore e di entrambi i sessi, della specie - Essenzialmente ci sono 4 (2x2) classi diverse di Granchi.

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 utilizzando PC1 e PC2: inserisci qui la descrizione dell'immagine

Clustering utilizzando PC2 e PC3: inserisci qui la descrizione dell'immagine

#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

Come possiamo vedere dai grafici sopra, PC2 e PC3 trasportano informazioni più discriminanti rispetto a PC1.

Se si tenta di raggruppare utilizzando i fattori latenti usando una miscela di analizzatori di fattori, si ottengono risultati molto migliori rispetto all'utilizzo dei primi due 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

Devo dire che dubito che questa risposta risponda davvero alla domanda. La risposta riguarda l'analisi dei cluster dopo PCA o FA, non gli stessi PCA e FA. Ma anche sotto questo aspetto la risposta è debole o incompleta. Come si spiega la differenza che si visualizza?
ttnphns,

@ttnphns Concordo con la risposta sull'analisi dei cluster. Tuttavia, OP ha anche richiesto uno scenario di vita reale con PCA / FA in cui uno deve essere utilizzato sull'altro. In genere la PCA o la FA non sono mai l'obiettivo finale - Ad esempio, nelle scienze sociali, l'obiettivo finale sarebbe segmentare le materie in diversi gruppi / gruppi. La mia risposta affronta tali scenari. Nel caso, pensi che la mia risposta possa essere migliorata, sentiti libero di sottolineare.
Kasa,

Penso che la tua risposta possa diventare davvero rilevante se spieghi la tua scoperta. Sostieni che le differenze tra PCA e FA sono intrinseche per i due metodi (solo loro diventano evidenti sotto il clustering). Penso che dovresti mostrare o almeno speculare su come o perché le differenze derivano teoricamente dalle differenze dei modelli dei metodi.
ttnphns,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.