Vai al contenuto
Soluzione

lavaan: "could not compute standard errors"

Questo avviso di lavaan indica che il modello è stato stimato, ma la matrice di informazione non è stata invertibile, quindi errori standard, valori p e intervalli di confidenza non sono affidabili. La causa più comune è un modello non identificato o empiricamente debole: spesso un fattore latente senza scala fissa, troppo pochi indicatori o una matrice di covarianza quasi singolare.

Questa pagina è una traduzione dell'originale inglese revisionato. Vedi l'originale (EN)

lavaan could not compute standard errors

Cosa significa l'errore

lavaan stima gli errori standard invertendo la matrice di informazione (la curvatura della funzione di fit alla soluzione). Quando quella matrice non è definita positiva, non può essere invertita, quindi lavaan restituisce le stime dei parametri ma avvisa che gli errori standard non sono affidabili. Spesso vedrai un messaggio associato secondo cui la matrice vcov o di informazione "could not be computed" o "is not positive definite". Tratta le stime puntuali con cautela e non riportare i valori p finché l'avviso non scompare.

Cause comuni

  • Il modello non è identificato — per esempio una variabile latente senza scala fissa (nessun loading fissato a 1 e nessuna varianza fissata), oppure meno di tre indicatori su un fattore isolato.
  • Sotto-identificazione empirica — il modello è identificato sulla carta ma un loading o una varianza è vicino a zero, quindi la matrice di informazione è quasi singolare.
  • Un parametro è al limite, come una varianza residua negativa o pari a zero (un Heywood case).
  • La matrice di covarianza in input è quasi singolare — item molto collineari o ridondanti, oppure due item che sono quasi la stessa variabile.
  • Campione piccolo rispetto al numero di parametri liberi.
  • Item ordinali trattati come continui con categorie poco popolate, cosa che destabilizza la stima.

Come risolverlo

  1. Verifica che ogni latente riflessiva abbia una scala: fissa un loading a 1 (lavaan lo fa in automatico con std.lv = FALSE) oppure fissa la varianza del fattore a 1. Non liberare per errore entrambe.
  2. Dai ai fattori isolati almeno tre indicatori; un fattore a due indicatori funziona solo se correla con un altro fattore.
  3. Esegui lavInspect(fit, "theta") e la soluzione standardizzata per individuare loading vicini a zero o varianze residue negative; elimina o ripensa quegli item.
  4. Ispeziona la matrice di correlazione degli item cercando valori vicini a 1 (o superiori a 1). Rimuovi gli item ridondanti e ricodifica gli item formulati al negativo mai invertiti.
  5. Se gli item sono ordinali (Likert con pochi punti), stima con ordered = e lo stimatore WLSMV invece di trattarli come continui.
  6. Aumenta N se il modello è grande; più parametri liberi richiedono più dati.

Come evitarlo la prossima volta

Pianifica l'identificazione prima di raccogliere i dati: almeno tre buoni indicatori per fattore e un campione sufficiente per la dimensione del modello. Explonia esegue la tua CFA o SEM nel browser e segnala rapidamente loading bassi e affidabilità debole, così puoi individuare un modello di misura fragile e ristimarlo dopo aver eliminato un item cattivo — mostra le diagnostiche, non nasconde un modello mal specificato. Puoi controllare il campione obiettivo con il calcolatore di dimensione campionaria per SEM.

Domande frequenti

I miei risultati di lavaan sono utilizzabili se ricevo questo avviso?

Le stime dei parametri possono essere vicine, ma errori standard, valori p e intervalli di confidenza non sono affidabili, quindi non dovresti riportare la significatività finché l'avviso non è risolto. Trattalo come un segnale che il modello non è identificato correttamente o che i dati sono quasi singolari, e correggi prima la causa.

Impostare std.lv = TRUE lo risolve?

Fissare la varianza del fattore a 1 (std.lv = TRUE) è un modo valido per dare scala a una variabile latente, e può risolvere l'avviso se la causa era una scala mancante. Non aiuta se il vero problema sono troppo pochi indicatori, un Heywood case o una matrice di covarianza quasi singolare.

Cosa significa "information matrix is not positive definite"?

Significa che la matrice che lavaan deve invertire per gli errori standard ha un autovalore nullo o negativo, di solito perché un parametro non è identificato, è al limite, o i dati sono collineari. L'avviso sugli errori standard è il sintomo a valle di questo.

Come citare questa pagina

Se questa pagina ha aiutato la tua ricerca, puoi citarla (APA 7):

Szymkowiak, A. (2026). lavaan: could not compute standard errors (soluzione). Explonia. https://explonia.com/it/fix/lavaan-could-not-compute-standard-errors/

Last updated: luglio 2026

Conduci tutto il tuo studio in un unico posto

Costruiscilo, raccogli i dati e ottieni un'analisi di livello pubblicazione con una bozza di paragrafo APA che puoi modificare. Inizia gratis. Nessuna carta di credito.

Inizia gratis