Równoważność specyfikacji losowego efektu (0 + czynnik | grupa) i (1 | grupa) + (1 | grupa: czynnik) w przypadku symetrii złożonej

13

Douglas Bates twierdzi, że następujące modele są równoważne „jeśli macierz wariancji-kowariancji dla efektów losowych o wartościach wektorowych ma specjalną formę, zwaną symetrią złożoną” ( slajd 91 w tej prezentacji ):

m1 <- lmer(y ~ factor + (0 + factor|group), data)
m2 <- lmer(y ~ factor + (1|group) + (1|group:factor), data)

W szczególności Bates używa tego przykładu:

library(lme4)
data("Machines", package = "MEMSS")

m1a <- lmer(score ~ Machine + (0 + Machine|Worker), Machines)
m2a <- lmer(score ~ Machine + (1|Worker) + (1|Worker:Machine), Machines)

z odpowiednimi wyjściami:

print(m1a, corr = FALSE)

Linear mixed model fit by REML ['lmerMod']
Formula: score ~ Machine + (0 + Machine | Worker)
   Data: Machines
REML criterion at convergence: 208.3112
Random effects:
 Groups   Name     Std.Dev. Corr     
 Worker   MachineA 4.0793            
          MachineB 8.6253   0.80     
          MachineC 4.3895   0.62 0.77
 Residual          0.9616            
Number of obs: 54, groups:  Worker, 6
Fixed Effects:
(Intercept)     MachineB     MachineC  
     52.356        7.967       13.917  

print(m2a, corr = FALSE)

Linear mixed model fit by REML ['lmerMod']
Formula: score ~ Machine + (1 | Worker) + (1 | Worker:Machine)
   Data: Machines
REML criterion at convergence: 215.6876
Random effects:
 Groups         Name        Std.Dev.
 Worker:Machine (Intercept) 3.7295  
 Worker         (Intercept) 4.7811  
 Residual                   0.9616  
Number of obs: 54, groups:  Worker:Machine, 18; Worker, 6
Fixed Effects:
(Intercept)     MachineB     MachineC  
     52.356        7.967       13.917

Czy ktoś może wyjaśnić różnicę między modelami i sposób, w jaki m1sprowadza się do m2(danej symetrii złożonej) w intuicyjny sposób?

statmerkur
źródło
6
+1 i, imho, jest to absolutnie na temat. Głosuj, aby ponownie otworzyć.
ameba mówi Przywróć Monikę
2
@Peter Flom, dlaczego uważasz to pytanie za nie na temat?
statmerkur
3
Być może nie było jasne, że pytasz o modele, a nie o lme4składnię. Byłoby pomocne - i poszerzyć grono potencjalnych osób odpowiadających - gdybyś wyjaśnił je osobom nieznającym lme4.
Scortchi - Przywróć Monikę
Wygląda na to, że chodzi o kodowanie.
Peter Flom - Przywróć Monikę
1
Jeśli jest to przydatne, oto dwa dobre posty na temat tego, co robi składnia lme4 i jaka jest złożona symetria w kontekście modeli mieszanych (zobacz zaakceptowane odpowiedzi na oba pytania). stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet i stats.stackexchange.com/questions/15102/...
Jacob Socolar

Odpowiedzi:

11

Inn1nnyμγγy

yN(μ+γ,σy2I54)

σy2

γ

yN(μ,σy2I54+Σ)

ΣγΣ

m1

γ=Zθ

Z=I1813θT=[θ1,A,θ1,B,θ1,Cθ6,A,θ6,B,θ6,C]

θN(0,I6Λ)

ΛΛσθτ

Λ=[σθ2+τ2τ2τ2τ2σθ2+τ2τ2τ2τ2σθ2+τ2]

Λ

Σ=Z(I6Λ)ZTσθ2+τ2+σy2i,ju,v

cov(yi,u,yj,v)={0if ijτ2if i=j,uvσθ2+τ2if i=j,u=v

Dla ciebie m2losowe efekty rozkładają się na:

γ=Zω+Xη

X=I619ωT=[ω1,A,ω1,B,ω1,C,,ω6,A,ω6,B,ω6,C]ηT=[η1,,η6]

ηN(0,ση2I6)
ωN(0,σω2I18)
ση2,σω2

m2Σ=σω2ZZT+ση2XXTσω2+ση2+σy2i,ju,v

cov(yi,u,yj,v)={0if ijση2if i=j,uvσω2+ση2if i=j,u=v

σθ2σω2τ2ση2 m1

Zwięzłość nie jest moją mocną stroną: wszystko to jest po prostu długim, skomplikowanym sposobem powiedzenia, że ​​każdy model ma dwa parametry wariancji dla efektów losowych i są tylko dwoma różnymi sposobami pisania tego samego „marginalnego” modelu.

W kodzie ...

sigma_theta <- 1.8
tau         <- 0.5
sigma_eta   <- tau
sigma_omega <- sigma_theta
Z <- kronecker(diag(18), rep(1,3))
rownames(Z) <- paste(paste0("worker", rep(1:6, each=9)), 
                     rep(paste0("machine", rep(1:3, each=3)),6))
X <- kronecker(diag(6), rep(1,9))
rownames(X) <- rownames(Z)
Lambda <- diag(3)*sigma_theta^2 + tau^2

# marginal covariance for m1:
Z%*%kronecker(diag(6), Lambda)%*%t(Z)
# for m2:
X%*%t(X)*sigma_eta^2 + Z%*%t(Z)*sigma_omega^2
Nate Pope
źródło
1
Bardzo ładna odpowiedź! Myślę jednak, że wyrażenie „maszyna zagnieżdżona w pracowniku” może wprowadzać w błąd, ponieważ te same trzy maszyny pojawiają się na więcej niż jednym (w rzeczywistości na każdym) poziomie pracownika.
statmerkur 10.10.17
@statmerkur Dzięki, próbowałem wyjaśnić tę linię. Daj mi znać, jeśli masz inną sugestię.
Nate Pope,
1
XX=I619
1
@ S.Catterall Tak, to literówka - dzięki za złapanie tego! Naprawiłem w swojej odpowiedzi.
Nate Pope
2
@statmerkur czy możesz wyjaśnić, co masz na myśli? Nie ma tutaj ciągłych zmiennych towarzyszących, więc nie jestem pewien, co rozumiesz przez „nachylenie”. Moim zdaniem model jest taki, że istnieją systematyczne różnice w średniej odpowiedzi między maszynami (efekty stałe); następnie losowe odchylenie dla każdego pracownika (losowe przechwyty / pracownik); następnie losowe odchylenie dla każdej kombinacji maszyna-pracownik; i wreszcie losowe odchylenie na obserwację. Im większa wariancja przypadkowych odchyleń na pracownika, tym bardziej skorelowane byłyby obserwacje danego pracownika itp.
Nate Pope