Model i dane demonstracyjne
Pakiet lavaan zawiera zbiór PoliticalDemocracy, dzięki czemu przykład można odtworzyć bez pobierania danych. Model obejmuje trzy wspólne czynniki: uprzemysłowienie w 1960 roku oraz demokrację w 1960 i 1965 roku. Celem demonstracji jest pokazanie składni =~ dla pomiaru i ~ dla regresji latentnej. Własny model musi wynikać z hipotez oraz dokumentacji wskaźników.
Kod R
library(lavaan)
data("PoliticalDemocracy")
model_cb <- "
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
dem60 ~ ind60
dem65 ~ ind60 + dem60
"
fit_cb <- sem(
model_cb,
data = PoliticalDemocracy,
estimator = "MLR",
missing = "fiml",
std.lv = TRUE
)
summary(fit_cb, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE)
fitMeasures(fit_cb, c("chisq.scaled", "df.scaled", "cfi.scaled",
"tli.scaled", "rmsea.scaled", "srmr"))
standardizedSolution(fit_cb)
residuals(fit_cb, type = "cor")
modindices(fit_cb, sort. = TRUE, maximum.number = 10)Dlaczego użyto MLR i FIML?
MLR dostarcza odpornych błędów standardowych i skalowanej statystyki testowej przy odchyleniach od normalności wielowymiarowej. FIML wykorzystuje dostępne informacje przy brakach pod założeniem mechanizmu MAR warunkowo względem zmiennych w modelu. Żadna z opcji nie rozwiązuje błędu selekcji ani brakujących zmiennych potrzebnych do uczynienia MAR wiarygodnym.
Co sprawdzić w obiekcie wynikowym?
- Czy
lavInspect(fit_cb, "converged")zwracaTRUE. - Czy wariancje są dodatnie, korelacje czynników dopuszczalne, a błędy standardowe stabilne.
- Czy raportujesz skalowane wersje CFI/TLI/RMSEA odpowiednie dla MLR.
- Czy reszty wskazują konkretny obszar niedopasowania.
- Czy każdy parametr ma sens teoretyczny i niepewność.
- Czy modyfikacje po obejrzeniu danych są oznaczone jako eksploracyjne.
Jak dostosować kod do odpowiedzi Likerta?
Przy kilku kategoriach i wyraźnie porządkowym charakterze pozycji rozważ estimator = "WLSMV" oraz argument ordered = c("p1", "p2", ...). Nie porównuj bezpośrednio wyniku z MLR bez uwzględnienia, że estymatory wykorzystują inne informacje i statystyki testowe. Dla wielu kategorii oraz umiarkowanych rozkładów decyzja może zależeć od projektu i analizy wrażliwości.
Przykład pełnego raportu APA 7
Przygotowanie danych przed sem()
Sprawdź typy kolumn, poziomy kategorii i wartości oznaczające braki. Pozycje odwrócone przelicz w osobnym skrypcie i zweryfikuj ręcznie na kilku rekordach. Dla każdej pozycji pokaż rozkład, odsetek braków i liczbę odpowiedzi w kategoriach. Wartości niemożliwe, duplikaty i reguły wykluczeń powinny zostać rozwiązane przed estymacją, nie za pomocą kolejnych indeksów modyfikacji.
Jeżeli analizujesz kilka grup, zachowaj identyczne nazwy oraz zakresy pozycji i sprawdź, czy kategorie odpowiedzi mają to samo znaczenie. Przy imputacji wielokrotnej model imputacyjny powinien obejmować zmienne używane w SEM i uzasadnione zmienne pomocnicze. Nie imputuj wyniku sumarycznego niezależnie od jego pozycji, jeśli później modelujesz te pozycje bezpośrednio.
Jak czytać obiekt lavaan, a nie tylko wydruk?
parameterEstimates() zwraca parametry z etykietami, błędami i przedziałami, dzięki czemu można generować tabele automatycznie. standardizedSolution() dostarcza wersji standaryzowanej, ale interpretację główną warto zachować również w jednostkach oryginalnych. lavInspect() pozwala sprawdzić zbieżność, macierze, liczbę obserwacji i wzorce braków. residuals() pokazuje lokalne rozbieżności, a fitMeasures() umożliwia jawny wybór skalowanych statystyk.
Indeksy modyfikacji są na końcu kolejki. Przed ich odczytaniem upewnij się, że model jest dopuszczalny i nie zawiera błędu kodowania. Wysoki indeks należy połączyć z expected parameter change oraz treścią pozycji. Dodanie ścieżki wyłącznie na podstawie liczby zmienia analizę potwierdzającą w eksploracyjną.
Testowanie efektu pośredniego w lavaan
Nazwij ścieżki, na przykład M ~ a*X i Y ~ b*M + cprime*X, a następnie zdefiniuj indirect := a*b oraz total := cprime + a*b. Dla niepewności efektu pośredniego można użyć bootstrapu, jeżeli obserwacje są niezależne i procedura jest zgodna z planem. W danych przekrojowych zapisuj „efekt pośredni był zgodny z postulowanym mechanizmem”, a nie „M wyjaśnił przyczynę”.
Jeżeli model zawiera wiele mediatorów, raportuj konkretne efekty pośrednie i ich przedziały, a nie wyłącznie łączną wartość. Porównanie dwóch efektów wymaga zdefiniowania ich różnicy jako nowego parametru; sam fakt, że jeden jest istotny, a drugi nie, nie stanowi testu różnicy.
Reprodukowalny eksport wyników
Zamiast kopiować liczby z konsoli, utwórz ramkę z parametrami i miarami dopasowania, zaokrąglaj dopiero podczas prezentacji i zapisuj do pliku generowanego przez skrypt. Dzięki temu liczby w tekście, tabelach i wykresach pochodzą z jednego obiektu. Do repozytorium dodaj wersję lavaan, R, systemu oraz instrukcję uruchomienia. Dane wrażliwe można zastąpić syntetycznym przykładem zachowującym strukturę kolumn.
Lista kontrolna przed publikacją
- Skrypt działa od czystej sesji i zapisuje
sessionInfo(). - Wynik zawiera estymator, N, sposób obsługi braków i skalowane wskaźniki.
- Model pomiarowy opisano przed ścieżkami strukturalnymi.
- Pokazano parametry niestandaryzowane lub standaryzowane z CI.
- Reszty i rozwiązania niedopuszczalne zostały sprawdzone.
- Zmiany po analizie są jawnie oznaczone.
Pojęcia potrzebne do tego zagadnienia
Definicje poniżej rozwijają najważniejsze terminy, pokazują wzory, przykłady i gotowe raportowanie w APA 7.
Definicje, zalecenia interpretacyjne i sposób raportowania oparto na literaturze metodologicznej wskazanej w bibliografii (Rosseel, 2012).
Planujesz artykuł lub projekt naukowy?
Możemy przygotować plan analityczny, reprodukowalny kod, modele, raport publication-ready i odpowiedź na uwagi recenzentów.
Analizy statystyczne dla badaczyOmów projektBibliografia i dalsza literatura naukowa (APA 7)
- 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
- Hu, L., & Bentler, P. M. (1999). Cutoff criteria for fit indexes in covariance structure analysis: Conventional criteria versus new alternatives. Structural Equation Modeling, 6(1), 1–55. https://doi.org/10.1080/10705519909540118
- Bentler, P. M. (1990). Comparative fit indexes in structural models. Psychological Bulletin, 107(2), 238–246. https://doi.org/10.1037/0033-2909.107.2.238
- Appelbaum, M., Cooper, H., Kline, R. B., Mayo-Wilson, E., Nezu, A. M., & Rao, S. M. (2018). Journal article reporting standards for quantitative research in psychology: The APA Publications and Communications Board task force report. American Psychologist, 73(1), 3–25. https://doi.org/10.1037/amp0000191
- Lang, T. A., & Altman, D. G. (2015). Basic statistical reporting for articles published in biomedical journals: The SAMPL guidelines. International Journal of Nursing Studies, 52(1), 5–9. https://doi.org/10.1016/j.ijnurstu.2014.09.006
- Iacobucci, D. (2010). Structural equations modeling: Fit indices, sample size, and advanced topics. Journal of Consumer Psychology, 20(1), 90–98. https://doi.org/10.1016/j.jcps.2009.09.003
- Wilkinson, L., & Task Force on Statistical Inference. (1999). Statistical methods in psychology journals: Guidelines and explanations. American Psychologist, 54(8), 594–604. https://doi.org/10.1037/0003-066X.54.8.594
- Altman, D. G. (2015). Making research articles fit for purpose: Structured reporting of key methods and findings. Trials, 16, 53. https://doi.org/10.1186/s13063-015-0575-7
Cytowania BibTeX
@article{rosseel2012lavaan, author={Rosseel, Yves}, title={lavaan: An R Package for Structural Equation Modeling}, journal={Journal of Statistical Software}, year={2012}, volume={48}, number={2}, pages={1--36}, doi={10.18637/jss.v048.i02}}@article{hu1999sem, author={Hu, Li-tze and Bentler, Peter M.}, title={Cutoff criteria for fit indexes in covariance structure analysis}, journal={Structural Equation Modeling}, year={1999}, volume={6}, number={1}, pages={1--55}, doi={10.1080/10705519909540118}}@article{bentler1990cfi, author={Bentler, Peter M.}, title={Comparative fit indexes in structural models}, journal={Psychological Bulletin}, year={1990}, volume={107}, number={2}, pages={238--246}, doi={10.1037/0033-2909.107.2.238}}@article{appelbaum2018jars, author={Appelbaum, Mark and Cooper, Harris and Kline, Rex B. and Mayo-Wilson, Evan and Nezu, Arthur M. and Rao, Stephen M.}, title={Journal article reporting standards for quantitative research in psychology}, journal={American Psychologist}, year={2018}, volume={73}, number={1}, pages={3--25}, doi={10.1037/amp0000191}}@article{lang2015sampl, author={Lang, Thomas A. and Altman, Douglas G.}, title={Basic statistical reporting for articles published in biomedical journals: the SAMPL guidelines}, journal={International Journal of Nursing Studies}, year={2015}, volume={52}, number={1}, pages={5--9}, doi={10.1016/j.ijnurstu.2014.09.006}}@article{iacobucci2010sem, author={Iacobucci, Dawn}, title={Structural Equations Modeling: Fit Indices, Sample Size, and Advanced Topics}, journal={Journal of Consumer Psychology}, year={2010}, volume={20}, number={1}, pages={90--98}, doi={10.1016/j.jcps.2009.09.003}}@article{wilkinson1999statistical, author={Wilkinson, Leland and {Task Force on Statistical Inference}}, title={Statistical methods in psychology journals: Guidelines and explanations}, journal={American Psychologist}, year={1999}, volume={54}, number={8}, pages={594--604}, doi={10.1037/0003-066X.54.8.594}}@article{altman2015reporting, author={Altman, Douglas G.}, title={Making research articles fit for purpose: structured reporting of key methods and findings}, journal={Trials}, year={2015}, volume={16}, pages={53}, doi={10.1186/s13063-015-0575-7}}