Słownik metodologiczny · Modele SEM

ESEM – eksploracyjne modelowanie równań strukturalnych

ESEM wstawia do modelu równań strukturalnych eksploracyjną analizę czynnikową z rotacją. Pokazujemy, kiedy pomaga bardziej niż CFA, przykład w lavaan i zapis do pracy.

W skrócie: ESEM to model równań strukturalnych z częścią pomiarową w postaci EFA z rotacją, więc pozycje mogą ładować kilka czynników. Gdy w danych są małe ładunki krzyżowe, CFA zwykle gorzej się dopasowuje i zawyża korelacje czynników, a ESEM daje korelacje bliższe rzeczywistym.

Co to jest ESEM?

ESEM (ang. exploratory structural equation modeling, eksploracyjne modelowanie równań strukturalnych) to model, w którym część pomiarowa jest eksploracyjną analizą czynnikową z rotacją, a reszta modelu działa jak w SEM. Każda pozycja może więc ładować wszystkie czynniki danego bloku, a mimo to dostajemy błędy standardowe, wskaźniki dopasowania i ścieżki strukturalne. Metodę opisali Asparouhov i Muthén (2009).

Po co ESEM zamiast CFA

W CFA wszystkie ładunki krzyżowe ustala się na zero. Gdy w rzeczywistości są małe, ale niezerowe, model gorzej się dopasowuje, a korelacje czynników rosną, bo wariancja z pominiętych ładunków przechodzi do czynników (Asparouhov i Muthén, 2009). Marsh i in. (2014) wskazują, że ESEM pozwala przy tym testować strukturę zakładaną z góry, związki czynników i inwariancję pomiaru. Zwykle stosuje się rotację ukośną geomin albo rotację docelową (target).

Przykład

Kwestionariusz wypalenia ma 12 pozycji w trzech wymiarach: wyczerpanie, cynizm i poczucie nieskuteczności (N = 500, dane symulowane). W danych zadano korelacje czynników .30 i kilka ładunków krzyżowych .20–.25. CFA dopasowała się słabo, χ²(51) = 205.92, CFI = .928, RMSEA = .078, i dała korelacje czynników .52–.63. ESEM z rotacją geomin dopasował się dobrze, χ²(33) = 37.94, CFI = .998, RMSEA = .017, a korelacje czynników wyniosły .28–.39, czyli blisko wartości zadanych.

Jak opisać w pracy

Strukturę kwestionariusza porównano w CFA i w ESEM z rotacją geomin. CFA była słabo dopasowana, χ²(51) = 205.92, CFI = .928, RMSEA = .078, SRMR = .062, a ESEM dobrze, χ²(33) = 37.94, CFI = .998, RMSEA = .017, SRMR = .015. Korelacje czynników w ESEM (.28–.39) były niższe niż w CFA (.52–.63), co wskazuje na zawyżenie ich w modelu bez ładunków krzyżowych.

Na co uważać

  • Lepsze dopasowanie wynika częściowo z większej liczby parametrów. Porównuj też korelacje czynników i wielkość ładunków krzyżowych, a nie tylko CFI.
  • ESEM nie zwalnia z teorii. Liczba czynników i ich znaczenie muszą wynikać z koncepcji narzędzia.
  • Podaj rotację. Wyniki zależą od niej, więc w opisie wymień rotację i jej ustawienia.

ESEM łączy się też z modelem bifactor w wersji eksploracyjnej. Oba podejścia, z kodem, porównuje wpis model bifactor i ESEM.

Przykład reprodukowalny

ESEM w lavaan

Kod szacuje na tych samych danych CFA i ESEM (blok efa() w lavaan z rotacją geomin) i porównuje dopasowanie oraz korelacje czynników.

CFA a ESEM przy małych ładunkach krzyżowych

Dane wejściowe: 12 pozycji kwestionariusza wypalenia, trzy czynniki, N = 500 (dane symulowane, set.seed(198)).

Co odczytać: χ², df, CFI, RMSEA i SRMR obu modeli oraz dwie macierze korelacji czynników: pierwsza z CFA, druga z ESEM.

R
library(lavaan)
set.seed(198)
n <- 500                                              # 12 pozycji, 3 wymiary wypalenia: wyczerpanie, cynizm, poczucie nieskuteczności (dane symulowane)
Phi <- matrix(.30, 3, 3); diag(Phi) <- 1               # prawdziwe korelacje czynników = .30
F <- MASS::mvrnorm(n, rep(0, 3), Phi)
Lam <- matrix(0, 12, 3)
for (k in 1:3) Lam[(4 * k - 3):(4 * k), k] <- c(.70, .65, .60, .70)
Lam[cbind(c(1, 3, 5, 7, 9, 11), c(2, 3, 3, 1, 1, 2))] <- c(.25, .20, .25, .20, .25, .20)  # małe ładunki krzyżowe
E_ <- sapply(1:12, function(j) rnorm(n, 0, sqrt(1 - sum((Lam[j, ] %*% Phi) * Lam[j, ]))))
dane <- as.data.frame(F %*% t(Lam) + E_); names(dane) <- paste0("p", 1:12)
cfa_m <- 'wyc =~ p1+p2+p3+p4;  cyn =~ p5+p6+p7+p8;  nsk =~ p9+p10+p11+p12'
esem_m <- 'efa("m")*wyc + efa("m")*cyn + efa("m")*nsk =~ p1+p2+p3+p4+p5+p6+p7+p8+p9+p10+p11+p12'
f_cfa  <- cfa(cfa_m, data = dane, std.lv = TRUE)
f_esem <- sem(esem_m, data = dane, rotation = "geomin")
round(rbind(CFA  = fitMeasures(f_cfa,  c("chisq", "df", "cfi", "rmsea", "srmr")),
            ESEM = fitMeasures(f_esem, c("chisq", "df", "cfi", "rmsea", "srmr"))), 3)
round(lavInspect(f_cfa, "cor.lv"), 2); round(lavInspect(f_esem, "cor.lv"), 2)
Wynik w R
       chisq df   cfi rmsea  srmr
CFA  205.923 51 0.928 0.078 0.062
ESEM  37.939 33 0.998 0.017 0.015
     wyc  cyn  nsk
wyc 1.00          
cyn 0.54 1.00     
nsk 0.63 0.52 1.00
     wyc  cyn  nsk
wyc 1.00          
cyn 0.31 1.00     
nsk 0.39 0.28 1.00

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 z pakietami lavaan 0.7.2 i MASS.

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. lavaan: Rosseel, Y. (2012). lavaan: An R package for structural equation modeling. Journal of Statistical Software, 48(2), 1–36. https://doi.org/10.18637/jss.v048.i02

Najczęstsze pytania

Jak zrobić ESEM w lavaan?

Oznacz czynniki jednego bloku funkcją efa("nazwa"), np. efa("m")*f1 + efa("m")*f2 =~ p1 + … + p12, i podaj rotację argumentem rotation, np. "geomin".

Kiedy wybrać ESEM zamiast CFA?

Gdy pozycje mają merytorycznie uzasadnione ładunki krzyżowe, a CFA jest słabo dopasowana lub daje bardzo wysokie korelacje czynników. Przy czystej strukturze prostej oba modele dadzą podobne wyniki.

Czym rotacja target różni się od geomin w ESEM?

Geomin szuka struktury prostej bez informacji od badacza. Rotacja docelowa (target) przybliża ładunki krzyżowe do zera zgodnie z hipotezą badacza, więc bliżej jej do podejścia konfirmacyjnego.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Asparouhov, T., & Muthén, B. (2009). Exploratory structural equation modeling. Structural Equation Modeling: A Multidisciplinary Journal, 16(3), 397–438. https://doi.org/10.1080/10705510903008204
  2. Marsh, H. W., Morin, A. J. S., Parker, P. D., & Kaur, G. (2014). Exploratory structural equation modeling: An integration of the best features of exploratory and confirmatory factor analysis. Annual Review of Clinical Psychology, 10(1), 85–110. https://doi.org/10.1146/annurev-clinpsy-032813-153700

Cytowania BibTeX

@article{asparouhov2009exploratory, author={Asparouhov, Tihomir and Muthén, Bengt}, title={{Exploratory structural equation modeling}}, journal={Structural Equation Modeling: A Multidisciplinary Journal}, year={2009}, volume={16}, number={3}, pages={397--438}, doi={10.1080/10705510903008204}}
@article{marsh2014exploratory, author={Marsh, Herbert W. and Morin, Alexandre J. S. and Parker, Philip D. and Kaur, Gurvinder}, title={{Exploratory structural equation modeling: An integration of the best features of exploratory and confirmatory factor analysis}}, journal={Annual Review of Clinical Psychology}, year={2014}, volume={10}, number={1}, pages={85--110}, doi={10.1146/annurev-clinpsy-032813-153700}}
R