Corso
Quando rispondiamo a questionari con affermazioni come "Sono soddisfatto del nostro lavoro" o "Mi piace lavorare con i miei colleghi", aiutiamo i ricercatori a raccogliere informazioni su concetti che non possiamo misurare direttamente. Prendi, ad esempio, la soddisfazione lavorativa, la motivazione o l’ansia. Questi sono ciò che i ricercatori chiamano costrutti latenti. Sono concetti astratti che non possiamo misurare direttamente, ma che possiamo osservare indirettamente nelle risposte, nei comportamenti o negli item di un test.
Il punto è capire se queste domande misurano davvero il concetto che intendiamo misurare, e non qualcos’altro.
È qui che entra in gioco la confirmatory factor analysis (CFA), ovvero l’analisi fattoriale confermativa. La CFA è una tecnica statistica che verifica se esiste una relazione tra variabili osservate (pensa alle domande di un sondaggio) e costrutti non osservati (per esempio, la motivazione). Man mano che approfondiamo la CFA, è importante distinguerla dall’exploratory factor analysis (EFA). A differenza dell’EFA, che cerca schemi senza ipotesi preliminari, la CFA parte da una teoria e verifica se i dati la convalidano.
Parte fondamentale del modello di equazioni strutturali (SEM), la CFA assicura che, prima di indagare le relazioni tra concetti, i concetti stessi siano misurati in modo affidabile e valido.
Che cos’è l’Analisi Fattoriale Confermativa (CFA)?
La CFA si pone la seguente domanda: Il mio modello di misurazione si adatta alla realtà?
Per capire meglio questa domanda, vediamo cos’è un modello di misurazione. È una mappa che collega gli indicatori osservati (come gli item di un sondaggio) ai costrutti latenti (come depressione, motivazione o soddisfazione). Nella CFA, i ricercatori pre-specificano questa mappa in anticipo, sulla base della teoria o di ricerche precedenti, e poi testano se i dati si adattano a tale struttura.
Paragonando CFA ed EFA con un’analogia, l’EFA è come muoversi in una città nuova senza mappa, mentre la CFA equivale a verificare se le indicazioni del nostro GPS corrispondono davvero alle strade.
Componenti chiave della CFA
Costrutti latenti e indicatori osservati
- I costrutti latenti sono concetti che non possono essere misurati direttamente, ad esempio intelligenza, burnout e felicità.
- Gli indicatori osservati sono ciò con cui effettuiamo le misurazioni, come punteggi di test, item di sondaggi e valutazioni dei comportamenti.
Per misurare la soddisfazione lavorativa, potremmo usare i seguenti item:
- Mi sento soddisfatto del mio lavoro.
- Sono soddisfatto della mia retribuzione.
- Ho un buon rapporto di lavoro con i miei colleghi.
Queste diverse risposte riflettono tutte lo stesso fattore sottostante, cioè la soddisfazione lavorativa.
Saturazioni fattoriali
Le saturazioni fattoriali ci dicono in che misura ciascun indicatore rileva il costrutto sottostante. Saturazioni elevate, tipicamente sopra 0,7, indicano una rappresentazione forte, mentre saturazioni moderate tra 0,4 e 0,7 sono adeguate nella maggior parte dei casi.
Pensa alle saturazioni fattoriali come all’intensità del segnale sul nostro smartphone. Più forte è il segnale, migliore è l’indicatore del costrutto.
Modello di misurazione
Il modello di misurazione specifica quali variabili osservate corrispondono a quali costrutti latenti, secondo la teoria. A differenza dell’EFA, dove sono i dati a dettare la struttura, la CFA impone questa struttura in anticipo ed è quindi confermativa, non esplorativa.
Il processo della CFA
Dopo aver introdotto i concetti chiave, percorriamo passo passo il processo CFA. Questa demo in Python usa il pacchetto semopy.
Passo 1: specifica del modello
Il primo passo nella CFA è definire il modello teorico. I ricercatori decidono quali costrutti latenti esistono e come sono osservati tramite gli indicatori.
Supponiamo di condurre uno studio di psicologia del lavoro. Vogliamo misurare due costrutti:
-
Soddisfazione Lavorativa (
JobSat), misurata da tre item di sondaggio: -
JS1: Mi sento soddisfatto del mio lavoro. -
JS2: Sono soddisfatto della mia retribuzione. -
JS3: Ho buone relazioni con i colleghi. -
Coinvolgimento Lavorativo (WorkEng), misurato da tre item di sondaggio:
-
WE1: Mi sento energico al lavoro. -
WE2: Sono entusiasta del mio lavoro. -
WE3: Mi lascio assorbire dal lavoro.
Ci aspettiamo anche che Soddisfazione Lavorativa e Coinvolgimento Lavorativo siano correlati.
In semopy, una libreria Python dedicata, questo modello può essere espresso così:
model_desc = """
JobSat =~ JS1 + JS2 + JS3
WorkEng =~ WE1 + WE2 + WE3
JobSat ~~ WorkEng
"""
Dove:
-
=~definisce quali item osservati saturano un fattore latente specifico. -
~~definisce una correlazione tra due fattori latenti.
Passo 2: raccolta dei dati
La CFA richiede campioni relativamente ampi per stime affidabili. Una regola spesso usata è un minimo di 200 soggetti o almeno 10 misurazioni per ogni parametro stimato.
Per illustrare il processo, lavoriamo con un dataset giocattolo:
import pandas as pd
df = pd.DataFrame({
"JS1": [3, 4, 5, 2, 4, 5, 3, 4],
"JS2": [4, 5, 4, 3, 5, 4, 3, 5],
"JS3": [2, 3, 4, 2, 3, 4, 2, 3],
"WE1": [5, 4, 5, 3, 4, 5, 4, 5],
"WE2": [4, 4, 5, 2, 3, 5, 3, 4],
"WE3": [3, 5, 4, 3, 4, 5, 3, 4]
})
In uno studio reale, il dataset includerebbe centinaia di risposte al sondaggio.
Passo 3: stima del modello
Ora che abbiamo i dati e il modello, è il momento di stimare i parametri. La stima fornisce le saturazioni fattoriali che indicano la forza della relazione tra costrutti e item, insieme ad altri parametri.
Il metodo di stima più comune è la Massima Verosimiglianza (ML). Presuppone che i dati osservati siano continui e seguano una distribuzione normale multivariata. Nei casi in cui questa assunzione non regga, ad esempio con dati asimmetrici o categoriali, sono consigliati stimatori come i Minimi Quadrati Ponderati (WLS).
In Python, usando semopy:
from semopy import Model
mod = Model(model_desc)
mod.fit(df)
Questo adatta il modello CFA ai dati, stimando saturazioni fattoriali, correlazioni e varianze.
Passo 4: valutazione dell’adattamento del modello
Una volta stimato il modello, il passo successivo è valutare se il modello si adatta bene ai dati.
L’adattamento si valuta con indici statistici:
- Chi-quadro (χ²): un valore non significativo indica un buon fit, ma è molto sensibile alla dimensione del campione.
- RMSEA (< 0,06): valori più bassi indicano un miglior adattamento approssimato.
- CFI (> 0,95): confronta il modello target con un modello di base.
- SRMR (< 0,08): stima le differenze medie tra correlazioni previste e osservate.
In Python:
from semopy import calc_stats
stats = calc_stats(mod)
print("Chi-square:", stats.get('chi2'))
print("Degrees of Freedom:", stats.get('df'))
print("CFI:", stats.get('cfi'))
print("RMSEA:", stats.get('rmsea'))
print("SRMR:", stats.get('srmr'))
Questo output mostra se il modello teorico corrisponde ai dati osservati. Se gli indici rientrano nelle soglie raccomandate, il modello è considerato ben adattato.
Passo 5: perfezionamento del modello
Quando l’adattamento è scarso, i ricercatori spesso esaminano gli indici di modifica. Questi indici suggeriscono come potrebbe migliorare l’adattamento del modello se certi parametri, come covarianze d’errore tra specifici item o saturazioni aggiuntive, venissero liberati per la stima.
È però importante che le modifiche siano guidate dalla teoria e non solo dalle statistiche. Altrimenti, il modello potrebbe adattarsi molto bene a un dataset ma fallire su altri.
I parametri stimati (ad es. le saturazioni) possono essere esaminati come segue:
estimates = mod.inspect()
print(estimates[['lval', 'op', 'rval', 'Estimate']])
Mostra in che misura ciascun item satura il suo costrutto sottostante. Gli item con saturazione bassa (< 0,4) possono essere messi in discussione quanto all’affidabilità nella misurazione del vero punteggio e potrebbero diventare candidati alla rimozione o revisione.
Chi-square: Value 7.086071
Name: chi2, dtype: float64
DF: None
p-value: None
RMSEA: None
CFI: None
SRMR: None
Parameter estimates:
lval op rval Estimate Std. Err z-value p-value
0 JS1 ~ JobSat 1.000000 - - -
1 JS2 ~ JobSat 0.991985 0.079766 12.436258 0.0
2 JS3 ~ JobSat 0.901155 0.074451 12.103973 0.0
3 WE1 ~ WorkEng 1.000000 - - -
4 WE2 ~ WorkEng 0.879609 0.083147 10.578944 0.0
5 WE3 ~ WorkEng 0.758832 0.072321 10.492585 0.0
6 JobSat ~~ WorkEng -0.014492 0.017919 -0.808725 0.418674
7 JobSat ~~ JobSat 0.283181 0.033256 8.515047 0.0
8 WorkEng ~~ WorkEng 0.332945 0.042414 7.849889 0.0
9 JS1 ~~ JS1 0.182918 0.022465 8.142378 0.0
10 JS2 ~~ JS2 0.215892 0.023358 9.242882 0.0
11 JS3 ~~ JS3 0.293970 0.0243 12.097738 0.0
12 WE1 ~~ WE1 0.225318 0.030959 7.277931 0.0
13 WE2 ~~ WE2 0.304496 0.028694 10.611756 0.0
14 WE3 ~~ WE3 0.269805 0.023279 11.590123 0.0
Un esempio rapido nel contesto
I risultati della CFA indicano che la Soddisfazione Lavorativa satura fortemente su JS1 (1,00) e JS2 (0,992), e leggermente meno su JS3 (0,901). Ciò suggerisce che tutte e tre le domande del sondaggio contribuiscono in modo significativo a misurare la Soddisfazione Lavorativa. Nessun item sembra problematico, dato che tutte le saturazioni superano ampiamente la soglia standard di 0,7.
Analogamente, il Coinvolgimento Lavorativo satura fortemente su WE1 (1,00) e WE2 (0,880), con una saturazione leggermente inferiore per WE3 (0,759), comunque accettabile.
La Soddisfazione Lavorativa è fortemente non correlata a WorkEng (-0,014), il che indica che, in questo campione, i costrutti sono abbastanza indipendenti tra loro.
Sulla base di questi risultati, il nostro approccio è:
-
Mantenere tutti e tre gli item per la Soddisfazione Lavorativa (
JS1,JS2,JS3), dato che saturano tutti fortemente il costrutto. -
Conservare tutti e tre gli item per il Coinvolgimento Lavorativo (
WE1,WE2,WE3), poiché ciascuno mostra saturazioni significative. -
Non sono richiesti cambiamenti sostanziali, dato che le saturazioni sono elevate e tutti i parametri stimati sono significativi.
Questo conferma che il modello di misurazione funziona come previsto. Gli indicatori osservati riflettono in modo affidabile i loro costrutti latenti.
Requisiti e assunzioni della CFA
La CFA si basa su diverse assunzioni chiave perché i risultati siano validi e interpretabili. Comprendere queste assunzioni aiuta a valutare quando la CFA è appropriata e come procedere se i dati non le rispettano completamente.
Normalità multivariata
La CFA utilizza tipicamente la stima a Massima Verosimiglianza (ML), che presuppone che le variabili osservate seguano una distribuzione normale multivariata.
Tuttavia, quando le risposte sono fortemente asimmetriche o categoriali, questa assunzione non regge. In tali casi, saturazioni, errori standard e indici di adattamento possono risultare distorti. Per ovviare, si usano metodi alternativi come i Minimi Quadrati Ponderati (WLS) o approcci robusti come la correzione di Satorra-Bentler, che non richiedono una stretta normalità.
Dimensione del campione adeguata
La CFA comporta la stima di più parametri (saturazioni, varianze, covarianze). Campioni piccoli possono portare a stime instabili e conclusioni inaffidabili.
Una linea guida comune suggerisce almeno 200 partecipanti o 10 osservazioni per ogni parametro stimato. Maggiore è il campione, più precisi e generalizzabili saranno i risultati.
Specifica corretta del modello
La CFA testa un modello teorico pre-specificato. Se il modello è mal specificato, ad esempio assegna indicatori al fattore latente sbagliato, la CFA non può correggerlo.
Campionamento casuale
Idealmente, i dati dovrebbero provenire da un campione casuale, così che i risultati siano generalizzabili oltre il dataset usato nello studio.
Campioni non casuali o distorti possono produrre risultati che riflettono le anomalie del campione e non l’idea in studio.
La CFA bayesiana è inoltre estremamente flessibile e si adatta a campioni piccoli, modelli complessi o dati non normali sulla base di conoscenze a priori.
Confronto con l’Exploratory Factor Analysis (EFA)
Rivediamo il confronto tra EFA e CFA. L’EFA è guidata dai dati e individua strutture latenti senza assunzioni pregresse. Tutte le saturazioni sono stimate liberamente, permettendo ai dati di "parlare da soli". La CFA è guidata dalla teoria e testa strutture ipotizzate e pre-specificate con saturazioni vincolate.
I ricercatori usano spesso i due metodi in sequenza: l’EFA per esplorare strutture potenziali e la CFA per confermarle. Questo approccio lascia spazio sia alla scoperta empirica sia alla validazione teorica.
Argomenti avanzati ed estensioni nella CFA
CFA multilivello e longitudinale
- La CFA multilivello è progettata per tenere conto dei dati annidati, ad esempio studenti all’interno di classi.
- La CFA longitudinale esamina come evolvono i costrutti, aiutando a valutare stabilità di misurazione, cambiamento e invarianza temporale.
Modelli di secondo ordine e bifattoriali
- I modelli CFA di secondo ordine modellano le relazioni tra variabili latenti tramite fattori di primo ordine, ad esempio abilità verbali, spaziali e numeriche come indicatori di un costrutto di ordine superiore, quale l’intelligenza generale.
- I modelli bifattoriali separano la varianza attribuibile a fattori generali da quella dovuta a sotto-dimensioni specifiche.
CFA bayesiana
La CFA bayesiana è un’alternativa flessibile ai metodi tradizionali. Include distribuzioni a priori nella stima dei parametri che ne aumentano la stabilità e la rendono utile per campioni piccoli, modelli complessi o dati non normali.
Applicazioni della CFA
La CFA è ampiamente utilizzata per:
- Validazione di scale per verificare che un insieme di item osservati rifletta accuratamente il costrutto teorico che si intende misurare, ad esempio un nuovo questionario sull’ansia.
- Test di modelli teorici per valutare se la struttura delle relazioni tra costrutti latenti è conforme alle aspettative teoriche.
- Confronto tra gruppi per testare l’invarianza di misura. Per esempio, aiuta a determinare se una scala di soddisfazione funziona allo stesso modo tra culture o generi diversi.
- Affinare e migliorare gli strumenti psicometrici identificando item deboli o ridondanti. Migliora l’affidabilità e la validità di test e sondaggi.
Limitazioni e sfide
Dopo aver discusso a fondo la CFA, è importante riconoscere che presenta alcune limitazioni. La sua efficacia dipende dai seguenti fattori:
- Qualità della teoria di base: fondamenti teorici deboli o poco specificati possono portare a modelli con scarso adattamento.
- Assunzioni: distribuzioni dei dati non normali o campioni piccoli possono compromettere le stime e, di conseguenza, l’interpretabilità.
- Rischio di overfitting, che deriva dal modificare eccessivamente i modelli per ottenere un miglior adattamento. Tali ritocchi aggiungono errori correlati che possono funzionare su un singolo dataset, ma non generalizzare altrove.
Conclusione
L’analisi fattoriale confermativa aiuta a colmare il divario tra teoria e dati, rendendo possibile misurare con accuratezza gli elementi non osservabili in psicologia, istruzione, marketing o ricerca organizzativa. Fornisce un quadro per convalidare i costrutti latenti e porre basi solide per la misurazione. Come parte del modello di equazioni strutturali, la CFA continua a evolversi con nuovi sviluppi come estensioni multilivello, longitudinali e bayesiane.
Sono una stratega ed eticista dell’AI che lavora all’intersezione tra data science, prodotto e ingegneria per creare sistemi di machine learning scalabili. Inserita tra i "Top 200 Business and Technology Innovators" al mondo, ho la missione di democratizzare il machine learning e di eliminare il gergo tecnico affinché tutti possano partecipare a questa trasformazione.
FAQs
Che cos’è l’analisi fattoriale confermativa (CFA) e in cosa differisce dall’analisi fattoriale esplorativa (EFA)?
La CFA è una tecnica statistica per testare se una struttura fattoriale ipotizzata si adatta ai dati osservati, mentre l’EFA esplora strutture potenziali senza modelli pre-specificati.
Cosa sono i costrutti latenti e gli indicatori osservati nella CFA?
I costrutti latenti sono concetti non osservabili come motivazione o soddisfazione lavorativa. Gli indicatori osservati sono elementi misurabili, come domande di sondaggi o punteggi di test, che riflettono questi costrutti latenti.
Quali sono le principali assunzioni della CFA?
La CFA presuppone un modello di misurazione correttamente specificato, normalità multivariata (per la stima ML), dimensione campionaria adeguata e, idealmente, dati campionati in modo casuale.
Come valuto se il mio modello CFA si adatta ai dati?
L’adattamento del modello si valuta con indici come Chi-quadro, RMSEA, CFI e SRMR. Soglie accettabili indicano se il modello teorico è coerente con i dati osservati.
Come si può implementare la CFA in Python?
La CFA può essere implementata in Python con pacchetti come semopy. L’articolo fornisce una demo passo dopo passo con specifica del modello, stima e interpretazione di saturazioni e indici di adattamento.


