Przejdź do treści
Rozwiązanie

lavaan: "could not compute standard errors"

To ostrzeżenie lavaan oznacza, że model się policzył, ale nie udało się odwrócić macierzy informacyjnej, więc błędy standardowe, wartości p i przedziały ufności nie są wiarygodne. Zwykła przyczyna to model niedookreślony lub empirycznie słaby — najczęściej czynnik latentny bez ustalonej skali, za mało wskaźników albo niemal osobliwa macierz kowariancji.

Ta strona jest tłumaczeniem zrecenzowanego angielskiego oryginału. Zobacz oryginał (EN)

lavaan could not compute standard errors

Co oznacza ten błąd

lavaan oblicza błędy standardowe, odwracając macierz informacyjną (krzywiznę funkcji dopasowania w punkcie rozwiązania). Gdy ta macierz nie jest dodatnio określona, nie da się jej odwrócić, więc lavaan zwraca oszacowania parametrów, ale ostrzega, że błędy standardowe są niewiarygodne. Często pojawia się towarzysząca informacja, że macierz vcov lub macierz informacyjna „could not be computed” lub „is not positive definite”. Traktuj oszacowania punktowe z ostrożnością i nie raportuj wartości p, dopóki ostrzeżenie nie zniknie.

Częste przyczyny

  • Model jest nieidentyfikowalny — na przykład zmienna latentna bez ustalonej skali (żadnego ładunku ustawionego na 1 i żadnej ustalonej wariancji) albo mniej niż trzy wskaźniki na samodzielnym czynniku.
  • Empiryczna niedoidentyfikowalność — model jest identyfikowalny na papierze, ale ładunek lub wariancja jest bliska zeru, więc macierz informacyjna jest niemal osobliwa.
  • Parametr leży na granicy, np. ujemna lub zerowa wariancja resztowa (Heywood case).
  • Wejściowa macierz kowariancji jest niemal osobliwa — silnie współliniowe lub redundantne pozycje albo dwie pozycje, które są niemal tą samą zmienną.
  • Mała liczebność próby względem liczby parametrów swobodnych.
  • Pozycje porządkowe traktowane jako ciągłe przy rzadkich kategoriach, co destabilizuje estymację.

Jak to naprawić

  1. Upewnij się, że każdy refleksyjny czynnik latentny ma skalę: albo ustaw jeden ładunek na 1 (lavaan robi to domyślnie przy std.lv = FALSE), albo ustaw wariancję czynnika na 1. Nie uwalniaj przypadkiem obu.
  2. Daj samodzielnym czynnikom co najmniej trzy wskaźniki; czynnik z dwoma wskaźnikami działa tylko, gdy koreluje z innym czynnikiem.
  3. Uruchom lavInspect(fit, "theta") oraz rozwiązanie standaryzowane, aby wykryć ładunki bliskie zeru lub ujemne wariancje resztowe; usuń lub przemyśl te pozycje.
  4. Sprawdź macierz korelacji pozycji pod kątem wartości bliskich 1 (lub powyżej 1). Usuń redundantne pozycje i przekoduj pozycje sformułowane odwrotnie, których nigdy nie odwrócono.
  5. Jeśli pozycje są porządkowe (Likert z kilkoma punktami), estymuj z ordered = i estymatorem WLSMV zamiast traktować je jako ciągłe.
  6. Zwiększ N, jeśli model jest duży; więcej parametrów swobodnych wymaga więcej danych.

Jak tego uniknąć następnym razem

Zaplanuj identyfikację, zanim zbierzesz dane: co najmniej trzy dobre wskaźniki na czynnik i próba wystarczająca do wielkości modelu. Explonia liczy Twoje CFA lub SEM w przeglądarce i szybko sygnalizuje niskie ładunki oraz słabą rzetelność, więc łatwo wychwycisz kruchy model pomiarowy i uruchomisz analizę ponownie po usunięciu złej pozycji — pokazuje diagnostykę, nie zamiata pod dywan źle zdefiniowanego modelu. Docelową próbę możesz sprawdzić w kalkulatorze wielkości próby dla SEM.

Najczęściej zadawane pytania

Czy moje wyniki z lavaan są użyteczne, gdy dostaję to ostrzeżenie?

Oszacowania parametrów mogą być bliskie prawdy, ale błędy standardowe, wartości p i przedziały ufności nie są wiarygodne, więc nie raportuj istotności, dopóki ostrzeżenie nie zniknie. Potraktuj je jako sygnał, że model nie jest poprawnie zidentyfikowany albo dane są niemal osobliwe — najpierw usuń przyczynę.

Czy ustawienie std.lv = TRUE to naprawia?

Ustawienie wariancji czynnika na 1 (std.lv = TRUE) to jeden z poprawnych sposobów nadania skali zmiennej latentnej i może usunąć ostrzeżenie, jeśli przyczyną był brak skali. Nie pomoże, jeśli prawdziwy problem to za mało wskaźników, Heywood case albo niemal osobliwa macierz kowariancji.

Co oznacza „information matrix is not positive definite”?

Oznacza, że macierz, którą lavaan musi odwrócić dla błędów standardowych, ma zerową lub ujemną wartość własną — zwykle dlatego, że parametr jest nieidentyfikowalny, leży na granicy albo dane są współliniowe. Ostrzeżenie o błędach standardowych to dalszy objaw tego problemu.

Jak cytować tę stronę

Jeśli ta strona pomogła w Twoich badaniach, możesz ją zacytować (APA 7):

Szymkowiak, A. (2026). lavaan: nie udało się obliczyć błędów standardowych (rozwiązanie). Explonia. https://explonia.com/pl/fix/lavaan-could-not-compute-standard-errors/

Last updated: lipiec 2026

Przeprowadź całe badanie w jednym miejscu

Zbuduj je, zbierz dane i uzyskaj analizę klasy publikacyjnej z gotowym akapitem APA, który możesz edytować. Start za darmo. Bez karty.

Zacznij za darmo