R

在復合對稱的情況下,(0 + factor|group) 和 (1|group) + (1|group:factor) 隨機效應規範的等價性

  • September 21, 2017

Douglas Bates 指出,“如果向量值隨機效應的方差-協方差矩陣具有特殊形式,稱為複合對稱”,則以下模型是等效的(本演示文稿中的幻燈片 91):

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

具體來說,貝茨使用了這個例子:

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

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

與相應的輸出:

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

誰能以直觀的方式解釋模型之間的區別以及如何m1簡化為(給定複合對稱性)?m2

在此示例中,對於三台機器(A、B、C)和六名工人的每個組合都有三個觀察值。我會用表示一個維單位矩陣和表示一個維向量。比方說是觀察向量,我將假設它是由工人訂購然後機器然後復制。讓是相應的期望值(例如固定效應),並讓是與預期值(例如隨機效應)的特定組偏差的向量。有條件的,模型為可以寫成:

在哪裡是“剩餘”方差。

為了理解隨機效應的協方差結構如何在觀測值之間產生協方差結構,使用等效的“邊際”表示更為直觀,它整合了隨機效應. 這個模型的邊際形式是,

這裡,是一個依賴於結構的協方差矩陣(例如,隨機效應背後的“方差分量”)。我會參考作為“邊際”協方差。

在您的m1中,隨機效應分解為:

在哪裡是將隨機係數映射到觀測值的設計矩陣,並且是由工人然後機器排序的隨機係數的 18 維向量,分佈為:

這裡是隨機係數的協方差。複合對稱的假設意味著有兩個參數,我會調用和, 和結構:

(換句話說,相關矩陣將非對角線上的所有元素設置為相同的值。)

這些隨機效應引起的邊際協方差結構是,因此給定觀測值的方差為以及來自工人的兩個(單獨)觀察之間的協方差和機器是:

對於您的m2,隨機效應分解為:

Z 和以前一樣,是將每個工人的隨機截距映射到觀察結果的設計矩陣,是機器和工人的每個組合的隨機截距的 18 維向量;和是工人隨機截距的 6 維向量。這些分佈為,

在哪裡是這些隨機截距的方差。 的邊際協方差結構m2是,因此給定觀測值的方差為,以及工人的兩次觀察之間的協方差和機器是:

所以 …和. 如果 m1假設複合對稱(它不會與您調用 lmer,因為隨機效應協方差是非結構化的)。

簡潔不是我的強項:這只是一種冗長而復雜的說法,即每個模型都有兩個隨機效應的方差參數,並且只是同一“邊際”模型的兩種不同寫法。

在代碼…

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

引用自:https://stats.stackexchange.com/questions/304374

comments powered by Disqus