(To dość długa odpowiedź, na końcu jest streszczenie)
Nie mylisz się, rozumiejąc, jakie zagnieżdżone i skrzyżowane efekty losowe występują w opisywanym scenariuszu. Jednak twoja definicja skrzyżowanych efektów losowych jest trochę wąska. Bardziej ogólna definicja skrzyżowanych efektów losowych jest po prostu: nie zagnieżdżona . Przyjrzymy się temu na końcu tej odpowiedzi, ale większość odpowiedzi skupi się na przedstawionym przez ciebie scenariuszu, klas w szkołach.
Pierwsza uwaga, że:
Zagnieżdżanie jest właściwością danych, a raczej projektem eksperymentalnym, a nie modelem.
Również,
Zagnieżdżone dane można kodować na co najmniej 2 różne sposoby, i to jest sedno znalezionego problemu.
Zbiór danych w twoim przykładzie jest dość duży, więc wykorzystam inny przykład szkoły z Internetu, aby wyjaśnić problemy. Najpierw jednak rozważ następujący nadmiernie uproszczony przykład:
Tutaj mamy zajęcia zagnieżdżone w szkołach, co jest znanym scenariuszem. Ważną kwestią jest to, że pomiędzy szkołami klasy mają ten sam identyfikator, nawet jeśli są odrębne, jeśli są zagnieżdżone . Class1
pojawia się School1
, School2
i School3
. Jeśli jednak dane są zagnieżdżone, to Class1
w nieSchool1
jest ta sama jednostka miary, co w i . Gdyby były takie same, mielibyśmy taką sytuację:Class1
School2
School3
co oznacza, że każda klasa należy do każdej szkoły. Pierwszy z nich to projekt zagnieżdżony, a drugi to projekt przekrojowy (niektórzy mogą również nazwać to wielokrotnym członkostwem), i sformułowalibyśmy je lme4
za pomocą:
(1|School/Class)
lub równoważnie (1|School) + (1|Class:School)
i
(1|School) + (1|Class)
odpowiednio, kolejno. Ze względu na dwuznaczność tego, czy występuje efekt zagnieżdżenia, czy skrzyżowania efektów losowych, bardzo ważne jest prawidłowe określenie modelu, ponieważ modele te będą dawały różne wyniki, co pokażemy poniżej. Co więcej, nie można dowiedzieć się, po prostu poprzez sprawdzenie danych, czy zagnieżdżiliśmy lub skrzyżowaliśmy efekty losowe. Można to ustalić wyłącznie na podstawie danych i projektu eksperymentalnego.
Ale najpierw rozważmy przypadek, w którym zmienna Class jest unikatowo kodowana w szkołach:
Nie ma już żadnych dwuznaczności dotyczących zagnieżdżania lub krzyżowania. Zagnieżdżanie jest jawne. Przejdźmy teraz zobaczyć to na przykładzie w R, gdzie mamy 6 szkół (oznaczone I
- VI
) i 4 klas w każdej szkole (oznaczonego a
na d
):
> dt <- read.table("http://bayes.acs.unt.edu:8083/BayesContent/class/Jon/R_SC/Module9/lmm.data.txt",
header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)
class
school a b c d
I 50 50 50 50
II 50 50 50 50
III 50 50 50 50
IV 50 50 50 50
V 50 50 50 50
VI 50 50 50 50
Na podstawie tego zestawienia krzyżowego możemy zobaczyć, że każdy identyfikator klasy pojawia się w każdej szkole, co spełnia twoją definicję skrzyżowanych efektów losowych (w tym przypadku mamy pełne , a nie częściowo skrzyżowane efekty losowe, ponieważ każda klasa występuje w każdej szkole). To jest ta sama sytuacja, którą mieliśmy na pierwszym rysunku powyżej. Jeśli jednak dane są naprawdę zagnieżdżone, a nie skrzyżowane, musimy wyraźnie powiedzieć lme4
:
> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)
Random effects:
Groups Name Variance Std.Dev.
class:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8421 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: class:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117909 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)
Random effects:
Groups Name Variance Std.Dev.
school (Intercept) 95.887 9.792
class (Intercept) 5.790 2.406
Residual 2.787 1.669
Number of obs: 1200, groups: school, 6; class, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.198841 4.212974 14.289
open 0.010834 0.008349 1.298
agree -0.005420 0.009605 -0.564
social -0.001762 0.003107 -0.567
Zgodnie z oczekiwaniami wyniki różnią się, ponieważ m0
jest to model zagnieżdżony, m1
a model skrzyżowany.
Teraz, jeśli wprowadzimy nową zmienną dla identyfikatora klasy:
> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)
classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
I 50 50 50 50 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 50 50 50 50 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 50 50 50 50 0 0
IV 0 0 0 0 0 0 0 0 0 0 0 0 50 50
V 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VI 0 0 0 0 0 0 0 0 0 0 0 0 0 0
classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
I 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 0 0
IV 50 50 0 0 0 0 0 0 0 0
V 0 0 50 50 50 50 0 0 0 0
VI 0 0 0 0 0 0 50 50 50 50
Tabela krzyżowa pokazuje, że każdy poziom klasy występuje tylko na jednym poziomie szkoły, zgodnie z twoją definicją gniazdowania. Dotyczy to również twoich danych, jednak trudno jest to pokazać w przypadku twoich danych, ponieważ są one bardzo rzadkie. Oba formulacje modelu będą teraz wytwarzać takie same wyniki (jak w przypadku modelu zagnieżdżonego m0
powyżej):
> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)
Random effects:
Groups Name Variance Std.Dev.
classID:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)
Random effects:
Groups Name Variance Std.Dev.
classID (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
Warto zauważyć, że skrzyżowane efekty losowe nie muszą występować w ramach tego samego czynnika - powyżej przejście było całkowicie w szkole. Jednak nie musi tak być i bardzo często tak nie jest. Na przykład, pozostając przy scenariuszu szkolnym, jeśli zamiast klas w szkole mamy uczniów w szkołach, a także interesujemy się lekarzami, w których uczniowie zostali zarejestrowani, wówczas mielibyśmy również gniazdowanie uczniów w obrębie lekarzy. Nie ma gniazdowania szkół wśród lekarzy i odwrotnie, więc jest to również przykład skrzyżowanych efektów losowych i mówimy, że szkoły i lekarze są skrzyżowani. Podobny scenariusz, w którym występują skrzyżowane efekty losowe, polega na tym, że indywidualne obserwacje są zagnieżdżone w dwóch czynnikach jednocześnie, co zwykle występuje przy tak zwanych powtarzanych pomiarachdane przedmiotu . Zazwyczaj każdy przedmiot jest mierzony / testowany wiele razy z / na różnych elementach i te same elementy są mierzone / testowane przez różne podmioty. Zatem obserwacje są skupione w podmiotach i przedmiotach, ale przedmioty nie są zagnieżdżone w przedmiotach i odwrotnie. Ponownie mówimy, że przedmioty i przedmioty są skrzyżowane .
Podsumowanie: TL; DR
Różnica między skrzyżowanymi i zagnieżdżonymi efektami losowymi polega na tym, że zagnieżdżone efekty losowe występują, gdy jeden czynnik (zmienna grupująca) pojawia się tylko na określonym poziomie innego czynnika (zmienna grupująca). Jest to określone za lme4
pomocą:
(1|group1/group2)
gdzie group2
jest zagnieżdżony group1
.
Skrzyżowane efekty losowe są po prostu: nie zagnieżdżone . Może się to zdarzyć w przypadku trzech lub więcej zmiennych grupujących (czynników), w których jeden czynnik jest osobno zagnieżdżony w obu pozostałych, lub w przypadku dwóch lub więcej czynników, w których poszczególne obserwacje są zagnieżdżone osobno w ramach dwóch czynników. Są one określone w lme4
:
(1|group1) + (1|group2)