R 的 lme4 包中混合效应模型的稳健标准误差

Adr*_*nne 6 r mixed-models

我正在使用 lme4 包进行线性混合效果建模

混合效应模型如下:

fm01 <- lmer(sublat <- goal + (1|userid))
Run Code Online (Sandbox Code Playgroud)

上面的命令返回一个名为 fm01 的 S4 对象

此对象包括固定效应及其 OLS 标准误差(如下)

Fixed effects:

            Estimate Std. Error t value
(Intercept)   31.644      3.320   9.530
goaltypeF1    -4.075      3.243  -1.257
goaltypeF2    -9.187      5.609  -1.638
goaltypeF3   -13.935      9.455  -1.474
goaltypeF4   -20.219      8.196  -2.467
goaltypeF5   -12.134      8.797  -1.379"
Run Code Online (Sandbox Code Playgroud)

但是,我需要提供可靠的标准错误

如何使用 lme4 返回的 S4 对象执行此操作?

Ben*_*ker 10

看起来强大的对象 SE可以通过和包lmerMod获得:merDerivclubSandwich

library(lme4)
library(clubSandwich)
m <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
Run Code Online (Sandbox Code Playgroud)

使用 merDeriv

(来自merDeriv JSS论文的复制材料,感谢@AchimZeileis的提示)

library(merDeriv)
sand <- sandwich(m, bread = bread(m, full = TRUE),
         mean = meat(m, level = 2))
Run Code Online (Sandbox Code Playgroud)

俱乐部三明治

(所有可能的类型:我不知道在任何给定情况下哪个是“最好的”)

cstypes <- paste0("CR", c("0", "1", "1p", "1S", "2", "3"))
rob_se_fun <- function(type) sqrt(diag(vcovCR(m, type = type)))
rob_se <- sapply(cstypes, rob_se_fun)
Run Code Online (Sandbox Code Playgroud)

合并结果

std_se <- sqrt(diag(vcov(m)))
cbind(std = std_se, rob_se,
      merDeriv = sqrt(diag(sand)[1:2]))\
Run Code Online (Sandbox Code Playgroud)
                 std      CR0      CR1     CR1p     CR1S      CR2      CR3
(Intercept) 6.824597 6.632277 6.824557 7.034592 6.843700 6.824557 7.022411
Days        1.545790 1.502237 1.545789 1.593363 1.550125 1.545789 1.590604
            merDeriv
(Intercept) 6.632277
Days        1.502237

Run Code Online (Sandbox Code Playgroud)

merDeriv的结果匹配(merDeriv 为所有type="CR0"组件提供稳健的 Wald 估计,包括随机效应参数;由您决定 RE 参数的 Wald 估计是否足够可靠)


R m*_*tey 1

我认为这就是您正在寻找的:https://cran.r-project.org/web/packages/robustlmm/vignettes/rlmer.pdf

这是一个robustlmm包,它有这个rlmer功能。

“对象的结构和方法的实现尽可能与 lme4 的结构和方法相似,并在需要时进行鲁棒性特定扩展。”

fm01_rob <- rlmer(sublat <- goal + (1|userid))
Run Code Online (Sandbox Code Playgroud)