Équivalence des spécifications d'effets aléatoires (0 + facteur | groupe) et (1 | groupe) + (1 | groupe: facteur) en cas de symétrie composée

13

Douglas Bates déclare que les modèles suivants sont équivalents «si la matrice de variance-covariance pour les effets aléatoires à valeur vectorielle a une forme spéciale, appelée symétrie composée» ( diapositive 91 dans cette présentation ):

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

Plus précisément, Bates utilise cet exemple:

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

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

avec les sorties correspondantes:

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

Quelqu'un peut-il expliquer la différence entre les modèles et comment se m1réduit à m2(étant donné la symétrie composée) de manière intuitive?

statmerkur
la source
6
+1 et, à mon humble avis, c'est absolument sur le sujet. Votez pour rouvrir.
Amoeba dit Reinstate Monica
2
@Peter Flom pourquoi considérez-vous cette question comme hors sujet?
statmerkur
3
Il n'était peut-être pas clair que vous posiez des questions sur les modèles plutôt que sur la lme4syntaxe. Il serait utile - et d'élargir le bassin de répondeurs potentiels - si vous les expliquiez à des personnes peu familières lme4.
Scortchi - Réintégrer Monica
On dirait qu'il s'agit de codage.
Peter Flom - Réintègre Monica
1
Si c'est utile, voici deux bons articles sur ce que fait la syntaxe lme4 et sur la symétrie composée dans le contexte des modèles mixtes (voir les réponses acceptées aux deux questions). stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet et stats.stackexchange.com/questions/15102/…
Jacob Socolar

Réponses:

11

Dans cet exemple, il y a trois observations pour chaque combinaison des trois machines (A, B, C) et des six travailleurs. Je vais utiliser pour désigner une matrice d'identité à n dimensions et 1 n pour désigner un vecteur à n dimensions. Disons que y est le vecteur des observations, que je supposerai ordonné par travailleur puis machine puis répliqué. Soit μ les valeurs attendues correspondantes (par exemple les effets fixes), et soit γ un vecteur d'écarts spécifiques au groupe par rapport aux valeurs attendues (par exemple les effets aléatoires). Conditionnellement à γ , le modèle de y peut s'écrire:Inn1nnyμγγy

yN(μ+γ,σy2I54)

est la variance "résiduelle".σy2

Pour comprendre comment la structure de covariance des effets aléatoires induit une structure de covariance parmi les observations, il est plus intuitif de travailler avec la représentation «marginale» équivalente , qui s'intègre aux effets aléatoires . La forme marginale de ce modèle est,γ

yN(μ,σy2I54+Σ)

Ici, est une matrice de covariance qui dépend de la structure de γ (par exemple les "composantes de variance" sous-jacentes aux effets aléatoires). J'appellerai Σ la covariance "marginale".ΣγΣ

Dans votre m1, les effets aléatoires se décomposent comme:

γ=Zθ

est une matrice de conception qui mappe les coefficients aléatoires sur les observations, et θ T = [ θ 1 , A , θ 1 , B , θ 1 , Cθ 6 , A , θ 6 , B , θ 6 , C ] est le vecteur à 18 dimensions de coefficients aléatoires ordonné par le travailleur puis la machine, et est distribué comme:Z=I1813θT=[θ1,A,θ1,B,θ1,Cθ6,A,θ6,B,θ6,C]

θN(0,I6Λ)

Ici est la covariance des coefficients aléatoires. L'hypothèse de symétrie composée signifie que Λ a deux paramètres, que j'appellerai σ θ et τ , et la structure:ΛΛσθτ

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

(En d'autres termes, la matrice de corrélation sous-jacente à a tous les éléments de l'offdiagonal réglés sur la même valeur.)Λ

La structure de covariance marginale induite par ces effets aléatoires est , de sorte que la variance d'une observation donnée est σ 2 θ + τ 2 + σ 2 y et la covariance entre deux observations (distinctes) des travailleurs i , j et des machines u , v est: 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

Pour vous m2, les effets aléatoires se décomposent en:

γ=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

La brièveté n'est pas mon point fort: tout cela n'est qu'une façon longue et compliquée de dire que chaque modèle a deux paramètres de variance pour les effets aléatoires, et ne sont que deux façons différentes d'écrire le même modèle "marginal".

Dans du 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
la source
1
Très belle réponse! Mais je pense que l'expression "machine imbriquée au sein du travailleur" pourrait être trompeuse car les trois mêmes machines apparaissent dans plus d'un (en fait, chaque) niveau de travailleur.
statmerkur
@statmerkur Merci, j'ai essayé de clarifier cette ligne. Faites-moi savoir si vous avez une autre suggestion.
Nate Pope
1
Devrait X être défini comme X=je619?
S.Catterall réintègre Monica
1
@ S.Catterall Yup, c'est une faute de frappe - merci de l'attraper! J'ai corrigé ma réponse.
Nate Pope
2
@statmerkur pouvez-vous clarifier ce que vous voulez dire? Il n'y a pas de covariables continues ici, donc vous ne savez pas ce que vous entendez par "pente". La façon dont je pense au modèle est qu'il existe des différences systématiques dans la moyenne de la réponse entre les machines (les effets fixes); puis une déviation aléatoire pour chaque travailleur (interceptions aléatoires / travailleur); puis un écart aléatoire pour chaque combinaison machine-ouvrier; et enfin une déviation aléatoire par observation. Plus la variance des écarts aléatoires par travailleur est grande, plus les observations d'un travailleur donné seront corrélées, etc.
Nate Pope