Equivalencia de (0 + factor | grupo) y (1 | grupo) + (1 | grupo: factor) especificaciones de efectos aleatorios en caso de simetría compuesta

13

Douglas Bates afirma que los siguientes modelos son equivalentes "si la matriz de varianza-covarianza para los efectos aleatorios con valores vectoriales tiene una forma especial, llamada simetría compuesta" ( diapositiva 91 en esta presentación ):

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

Específicamente, Bates usa este ejemplo:

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

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

con las salidas correspondientes:

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

¿Alguien puede explicar la diferencia entre los modelos y cómo se m1reduce a m2(simetría compuesta dada) de una manera intuitiva?

statmerkur
fuente
66
+1 y, en mi humilde opinión, esto es absolutamente sobre el tema. Vota para reabrir.
ameba dice Reinstate Monica
2
@Peter Flom, ¿por qué consideras esta pregunta fuera de tema?
statmerkur
3
Quizás no estaba claro que preguntabas sobre los modelos en lugar de sobre la lme4sintaxis. Sería útil, y ampliar el grupo de posibles respondedores, si se los explicara a personas que no están familiarizadas lme4.
Scortchi - Restablece a Monica
Parece que se trata de codificación.
Peter Flom - Restablece a Monica
1
Si es útil, aquí hay dos buenas publicaciones sobre lo que está haciendo la sintaxis lme4 y qué simetría compuesta está en el contexto de modelos mixtos (ver respuestas aceptadas en ambas preguntas). stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet y stats.stackexchange.com/questions/15102/…
Jacob Socolar

Respuestas:

11

En este ejemplo, hay tres observaciones para cada combinación de las tres máquinas (A, B, C) y los seis trabajadores. Usaré para denotar una matriz de identidad n- dimensional y 1 n para denotar un vector n- dimensional de unos. Digamos que y es el vector de observaciones, que supongo que está ordenado por trabajador, luego máquina y luego replicar. Supongamos que μ son los valores esperados correspondientes (por ejemplo, los efectos fijos) y que γ sea ​​un vector de desviaciones específicas del grupo de los valores esperados (por ejemplo, los efectos aleatorios). Condicional a γ , el modelo para y se puede escribir:Inn1nnyμγγy

yN(μ+γ,σy2I54)

donde es la varianza "residual".σy2

Para comprender cómo la estructura de covarianza de los efectos aleatorios induce una estructura de covarianza entre las observaciones, es más intuitivo trabajar con la representación "marginal" equivalente , que se integra sobre los efectos aleatorios . La forma marginal de este modelo es,γ

yN(μ,σy2I54+Σ)

Aquí, es una matriz de covarianza que depende de la estructura de γ (por ejemplo, los "componentes de varianza" subyacentes a los efectos aleatorios). Me referiré a Σ como la covarianza "marginal".ΣγΣ

En tu m1, los efectos aleatorios se descomponen como:

γ=Zθ

Donde es una matriz de diseño que mapea los coeficientes aleatorios en observaciones, y θ T = [ θ 1 , A , θ 1 , B , θ 1 , C ... θ 6 , A , θ 6 , B , θ 6 , C ] es el vector de 18 dimensiones de coeficientes aleatorios ordenados por el trabajador y luego la máquina, y se distribuye como:Z=I1813θT=[θ1,A,θ1,B,θ1,Cθ6,A,θ6,B,θ6,C]

θN(0,I6Λ)

Aquí Λ es la covarianza de los coeficientes aleatorios. La suposición de simetría compuesta significa que tiene dos parámetros, que llamaré σ θ y τ , y la estructura:Λσθτ

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

(En otras palabras, la matriz de correlación subyacente tiene todos los elementos en el conjunto fuera del diagnóstico con el mismo valor).Λ

La estructura de covarianza marginal inducida por estos efectos aleatorios es , de modo que la varianza de una observación dada es σ 2 θ + τ 2 + σ 2 y y la covarianza entre dos observaciones (separadas) de los trabajadores i , j y máquinas u , v es: c o v ( y i , u , y j , v ) =Σ=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

Para su m2, los efectos aleatorios se descomponen en:

γ=Zω+Xη

Donde Z es como antes, es una matriz de diseño que mapea las intersecciones aleatorias por trabajador en observaciones, ω T = [ ω 1 , A , ω 1 , B , ω 1 , C , ... , ω 6 , A , ω 6 T = [ η 1 , , η 6 ]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 and τ2ση2. If m1 assumed compound symmetry (which it doesn't with your call to lmer, because the random effects covariance is unstructured).

Brevity is not my strong point: this is all just a long, convoluted way of saying that each model has two variance parameters for the random effects, and are just two different ways of writing of the same "marginal" model.

In code ...

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
fuente
1
Very nice answer! But I think the phrase "machine nested within worker" could be misleading as the same three machines appear in more than one (in fact every) level of worker.
statmerkur
@statmerkur Thanks, I've tried to clarify this line. Let me know if you have another suggestion.
Nate Pope
1
Should X be defined as X=I619?
S. Catterall Reinstate Monica
1
@S.Catterall Yup, that's a typo -- thanks for catching it! I've fixed in my answer.
Nate Pope
2
@statmerkur can you clarify what you mean? There's no continuous covariates here, so not sure what you mean by "slope". The way I think of the model is that there are systematic differences in the mean of the response between machines (the fixed effects); then a random deviation for each worker (random intercepts/worker); then a random deviation for each machine-worker combination; and finally a random deviation per observation. The greater the variance of the random deviations per worker, the more correlated observations from a given worker would be, etc.
Nate Pope