PCA, EFA o CFA: quale metodo scegliere?
Usa la PCA per ridurre le variabili, l’EFA per esplorare fattori comuni e la CFA per verificare un modello di misura specificato prima dell’analisi.
Risposta diretta
Scegliere PCA, EFA o CFA in base alla domanda, non al software.
Usa la PCA per ridurre le variabili, l’EFA per esplorare fattori comuni e la CFA per verificare un modello di misura specificato prima dell’analisi.
01
La regola decisionale in 30 secondi
ACP / PCA
Ridurre più variabili numeriche a poche componenti che conservano la maggior parte della varianza osservata.
AFE / EFA
Esplorare quanti fattori comuni possano spiegare le correlazioni tra indicatori.
AFC / CFA
Verificare un modello di misura specificato prima dell’analisi ed esaminare dove riproduce male le covarianze osservate.
Jolliffe & Cadima (2016) Costello & Osborne (2005) Goretzko, Siemund & Sterner (2024)
02
Tre livelli di lettura
- 1
Decisore: scegliere in base al risultato atteso, non al menu del software.
- 2
Professionista: dichiarare popolazione, variabili, matrice di correlazione, regola dimensionale e validazione prima del calcolo.
- 3
Analista: distinguere varianza totale, varianza comune e covarianza implicata dal modello, quindi quantificare la stabilità.
03
Situazione marketing concreta
Un team di ricerca dispone di dodici indicatori di fiducia, valore percepito e preferenza. Può volerli comprimere per un cruscotto, scoprirne la struttura comune o verificare una scala tridimensionale definita dalla teoria. Lo stesso file può sostenere le tre domande, ma estimandi, ipotesi e conclusioni differiscono.
04
Perché un metodo scelto per default può fallire
- La PCA può produrre componenti utili senza dimostrare l’esistenza di un costrutto latente.
- L’EFA dipende dalla matrice, dall’estrazione, dal numero di fattori e dalla rotazione scelti.
- Una CFA adattata dopo molte modifiche guidate dagli stessi dati non è più una conferma indipendente.
05
PCA, EFA e CFA rispondono a domande diverse
| Metodo | Domanda | Varianza modellata | Output principale | Controllo decisivo |
|---|---|---|---|---|
| ACP / PCA | Come riassumere X con meno assi? | Varianza totale osservata | Componenti, punteggi, varianza spiegata | Scala, valori anomali, stabilità degli assi |
| AFE / EFA | Quali fattori comuni sono plausibili? | Varianza comune, con unicità | Saturazioni, comunalità, correlazioni fattoriali | Ritenzione, rotazione obliqua, replicazione |
| AFC / CFA | Il modello specificato riproduce sufficientemente le covarianze? | Covarianza implicata dai parametri del modello | Parametri, residui, incertezza e adattamento | Identificazione, residui, sensibilità, campione indipendente |
06
Dati necessari e preparazione
- Una riga per rispondente e una colonna per indicatore, con popolazione, periodo, modalità di raccolta ed esclusioni documentati.
- Scegliere covarianza o correlazione per la PCA. Per item ordinali, giustificare correlazione e stimatore adeguati invece di trattare automaticamente le categorie come continue.
- Dichiarare dati mancanti, distribuzioni, disegno campionario e dipendenze. Nessuna numerosità universale sostituisce uno studio di stabilità specifico.
- Riservare un campione o una raccolta indipendente per confermare una struttura scoperta con EFA.
07
Modelli formali e simboli
ACP / PCA
zₖ = Xaₖ ; aₖ′aₖ = 1 ; Var(zₖ) = λₖX è la matrice centrata o standardizzata, aₖ un autovettore, zₖ il punteggio della componente e λₖ la varianza della componente.
AFE / EFA
x = Λη + ε ; Σ = ΛΦΛ′ + ΘΛ contiene le saturazioni, Var(η)=Φ, Cov(η,ε)=0 e Var(ε)=Θ. Φ è una matrice di correlazione solo con fattori standardizzati.
AFC / CFA
Σ(θ) = ΛΦΛ′ + Θ ; F = distance[S, Σ(θ)]Prima della stima il modello dichiara i parametri liberi o vincolati. L’adattamento confronta la covarianza osservata S con quella implicata Σ(θ).
08
Calcolo dichiarato, passo dopo passo
- 01
PCA: standardizzare se le unità non sono comparabili, decomporre la matrice, ordinare λₖ, quindi esaminare varianza spiegata e stabilità.
- 02
EFA: scegliere la matrice, stimare le comunalità, confrontare regole di ritenzione, applicare una rotazione adatta e interpretare saturazioni e correlazioni.
- 03
CFA: specificare e identificare il modello, scegliere lo stimatore, stimare θ, esaminare parametri e residui, quindi valutare l’adattamento senza soglia universale automatica.
09
Esempio numerico riproducibile
Matrice sintetica creata per l’apprendimento. Non descrive alcuna indagine reale.
Sei indicatori standardizzati formano due gruppi di tre variabili. Le correlazioni sono 0,64 entro gruppo e 0,256 tra gruppi. Per costruzione la matrice corrisponde a due fattori con saturazioni 0,80, correlazione 0,40 e unicità 0,36.
v1 v2 v3 v4 v5 v6
v1 1.000 0.640 0.640 0.256 0.256 0.256
v2 0.640 1.000 0.640 0.256 0.256 0.256
v3 0.640 0.640 1.000 0.256 0.256 0.256
v4 0.256 0.256 0.256 1.000 0.640 0.640
v5 0.256 0.256 0.256 0.640 1.000 0.640
v6 0.256 0.256 0.256 0.640 0.640 1.000Scarica la matrice CSVACP / PCA
PCA: λ = 3,048; 1,512; 0,360; 0,360; 0,360; 0,360. Le prime due componenti spiegano il 76,0% della varianza totale, il 50,8% con la prima.
AFE / EFA
EFA: la soluzione generatrice ha due fattori obliqui. Ogni indicatore satura 0,80 sul proprio fattore, Φ₁₂ = 0,40 e Θ = 0,36. Una stima empirica non ritroverebbe esattamente questi valori.
AFC / CFA
CFA: il modello a due fattori riproduce esattamente questa matrice di popolazione perché la matrice è stata costruita dal modello. Il risultato tautologico illustra il calcolo e non valida alcuna scala reale.
Limite d’incertezza: il file contiene una matrice sintetica esatta, non 300 osservazioni. N = 300 è soltanto uno pseudo-campione fornito ai software per rendere eseguibili i comandi; non crea incertezza campionaria osservata. Eventuali errori standard, intervalli o test di adattamento non vanno interpretati. Per quantificare l’incertezza servono dati individuali o una covarianza empirica con la numerosità reale.
10
Ipotesi tradotte in domande operative
| Metodo | Domanda |
|---|---|
| ACP | Le unità rendono comparabile la varianza e gli outlier dominano gli assi? |
| AFE | Un modello a fattori comuni è plausibile e la rotazione consente le correlazioni attese? |
| AFC | Il modello è stato specificato prima di vedere i risultati, è identificato e lo stimatore è adatto ai dati? |
| Tutte | Popolazione, raccolta, dati mancanti e dipendenza delle osservazioni consentono la generalizzazione prevista? |
11
Diagnostica, stabilità e incertezza
ACP
Ricalcolare con covarianza e correlazione se la scala è discutibile, esaminare le osservazioni influenti e ricordare che i segni degli assi sono arbitrari. Confrontare varianza spiegata e contributi senza interpretare un asse come costrutto latente.
AFE
Confrontare analisi parallela, soluzioni vicine, comunalità, saturazioni secondarie, correlazioni fattoriali e replicazione su nuovi dati. Una soluzione sensibile al numero di fattori, all’estrazione o alla rotazione resta esplorativa.
AFC
Riportare parametri, errori standard o intervalli, residui, test globale e più indici. Indagare il disadattamento invece di applicare una soglia magica.
12
Come interpretare il risultato
- PCA: «due componenti riassumono il 76% della varianza di questa matrice sintetica».
- EFA: «una struttura comune a due fattori correlati è compatibile con la matrice e va verificata su nuovi dati».
- CFA: «il modello specificato riproduce la covarianza con l’incertezza e gli scarti dichiarati nel campione di conferma».
13
Conclusioni ammissibili e vietate
Ammissibile
- Descrivere la riduzione PCA senza rinominarla fattore latente.
- Proporre con EFA una struttura candidata, con alternative e stabilità.
- Valutare con CFA un modello prespecificato in popolazione e campione dichiarati.
Vietato
- Affermare che un’alta varianza spiegata prova la validità del costrutto.
- Presentare una soluzione EFA instabile come struttura vera o universale.
- Dichiarare validata una scala da un solo indice o da una CFA modificata sullo stesso campione esplorativo.
14
Decisione marketing possibile
- 01
Costruire un punteggio operativo provvisorio con PCA, mantenendone la definizione descrittiva.
- 02
Rivedere gli item dopo EFA e pianificare una raccolta indipendente per CFA.
- 03
Mantenere, rivedere o abbandonare un modello usando parametri, residui, incertezza, conseguenze operative ed evidenze esterne, mai un solo punteggio.
15
Quando usare e quando non usare
Usare
- PCA per compressione descrittiva di variabili numeriche.
- EFA quando la struttura comune resta incerta.
- CFA quando un modello verificabile è definito prima dell’analisi.
Non usare
- Nessuno di questi metodi per dimostrare causalità marketing.
- PCA o EFA come sostituto automatico di una CFA prespecificata.
- CFA se il modello è sottoidentificato o tutte le modifiche sono dettate dallo stesso campione.
16
Metodi alternativi da considerare
- Analisi delle corrispondenze per una tabella di contingenza, da non confondere con la CFA.
- Modelli di risposta all’item quando il funzionamento degli item e l’informazione lungo il tratto latente sono centrali.
- Modelli strutturali esplorativi o approcci bayesiani quando saturazioni secondarie vicine a zero sono più plausibili di zeri esatti.
17
Implementazioni riproducibili
Python 3.13.7 · NumPy 2.3.2 · pandas 2.3.2 · factor_analyzer 0.5.1
# Synthetic R; n_obs=300 is an illustrative pseudo-count only.
import numpy as np
import pandas as pd
from factor_analyzer import (FactorAnalyzer, ConfirmatoryFactorAnalyzer,
ModelSpecificationParser)
R = np.array([
[1,.64,.64,.256,.256,.256],
[.64,1,.64,.256,.256,.256],
[.64,.64,1,.256,.256,.256],
[.256,.256,.256,1,.64,.64],
[.256,.256,.256,.64,1,.64],
[.256,.256,.256,.64,.64,1]])
eigenvalues = np.linalg.eigvalsh(R)[::-1]
print(eigenvalues, eigenvalues[:2].sum() / 6)
efa = FactorAnalyzer(n_factors=2, method="minres",
rotation="oblimin", is_corr_matrix=True)
efa.fit(R)
print(efa.loadings_, efa.phi_, efa.get_uniquenesses())
names = [f"v{i}" for i in range(1, 7)]
definition = {"F1": names[:3], "F2": names[3:]}
template = pd.DataFrame(np.zeros((1, 6)), columns=names)
spec = ModelSpecificationParser.parse_model_specification_from_dict(
template, definition)
cfa = ConfirmatoryFactorAnalyzer(
spec, n_obs=300, is_cov_matrix=True, disp=False)
cfa.fit(R)
print(cfa.loadings_, cfa.factor_varcovs_, cfa.error_vars_)
print(cfa.get_model_implied_cov())R 4.5.1 · psych 2.5.6 · lavaan 0.6-20
# Synthetic R; n.obs=300 is an illustrative pseudo-count only.
R <- matrix(c(
1,.64,.64,.256,.256,.256,
.64,1,.64,.256,.256,.256,
.64,.64,1,.256,.256,.256,
.256,.256,.256,1,.64,.64,
.256,.256,.256,.64,1,.64,
.256,.256,.256,.64,.64,1), 6, 6, byrow=TRUE)
colnames(R) <- rownames(R) <- paste0("v", 1:6)
eigen(R)$values
psych::fa(R, nfactors=2, n.obs=300,
fm="minres", rotate="oblimin")
model <- 'F1 =~ v1 + v2 + v3
F2 =~ v4 + v5 + v6'
fit <- lavaan::cfa(model, sample.cov=R,
sample.nobs=300, std.lv=TRUE)
lavaan::summary(fit, fit.measures=TRUE, standardized=TRUE)IBM SPSS Statistics 31.0.0.0 · PCA / EFA
* Synthetic R; N=300 is an illustrative pseudo-count only.
MATRIX DATA VARIABLES=ROWTYPE_ v1 TO v6
/FORMAT=FULL.
BEGIN DATA
N 300 300 300 300 300 300
CORR 1 .64 .64 .256 .256 .256
CORR .64 1 .64 .256 .256 .256
CORR .64 .64 1 .256 .256 .256
CORR .256 .256 .256 1 .64 .64
CORR .256 .256 .256 .64 1 .64
CORR .256 .256 .256 .64 .64 1
END DATA.
FACTOR MATRIX IN(COR=*) /ANALYSIS=v1 TO v6
/CRITERIA=FACTORS(2) /EXTRACTION=PC /ROTATION=NONE.
FACTOR MATRIX IN(COR=*) /ANALYSIS=v1 TO v6
/CRITERIA=FACTORS(2) /EXTRACTION=PAF /ROTATION=OBLIMIN.
* Confirmatory analysis requires an explicit Amos model.SAS 9.4 TS1M8 · PROC FACTOR · PROC CALIS
* Synthetic R; N=300 is an illustrative pseudo-count only;
data corr(type=corr);
input _type_ $ _name_ $ v1-v6;
datalines;
N . 300 300 300 300 300 300
CORR v1 1 .64 .64 .256 .256 .256
CORR v2 .64 1 .64 .256 .256 .256
CORR v3 .64 .64 1 .256 .256 .256
CORR v4 .256 .256 .256 1 .64 .64
CORR v5 .256 .256 .256 .64 1 .64
CORR v6 .256 .256 .256 .64 .64 1
;
proc factor data=corr method=prin nfact=2 rotate=none; run;
proc factor data=corr method=prin priors=smc nfact=2 rotate=promax; run;
proc calis data=corr corr nobs=300;
factor F1 ---> v1-v3,
F2 ---> v4-v6;
pvar F1=1., F2=1.;
cov F1 F2;
run;Le versioni sono dichiarate per rendere verificabile il protocollo. Gli output possono differire per stimatore, rotazione, convenzioni di segno e valori iniziali. Il software non valida mai la scelta del metodo.
18
Risultato finale atteso
- 01
Domanda, popolazione, unità di analisi, variabili e matrice usata.
- 02
Giustificazione PCA, EFA o CFA prima dei risultati.
- 03
Specificazione, stimatore, rotazione, criteri di ritenzione e versioni software.
- 04
Risultati completi, diagnostica, sensibilità, incertezza e fallimenti di convergenza.
- 05
Conclusione ammessa, conclusione vietata e prossima decisione umana.
19
Fonti scientifiche e livello di evidenza
- Jolliffe & Cadima (2016)Rassegna metodologica
Stabilisce l’obiettivo descrittivo della PCA, la massimizzazione successiva della varianza e la sensibilità a scala e outlier. Non prova la validità di un costrutto marketing.
- Costello & Osborne (2005)Rassegna applicata con analisi empiriche
Distingue componenti e fattori comuni e documenta estrazione, ritenzione e rotazione. Le raccomandazioni non sono soglie universali.
- Goretzko, Siemund & Sterner (2024)Rassegna empirica di 221 studi
Mostra perché gli indici non si leggono con una soglia assoluta unica e raccomanda parametri, residui e valutazione completa. Il contesto va comunque dichiarato.
Dataset · Strumento
Connessioni metodologiche
