【问题标题】:robust standard errors for mixed-effects models in lme4 package of RR 的 lme4 包中混合效应模型的稳健标准误差
【发布时间】:2014-10-16 19:42:58
【问题描述】:

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

混合效应模型如下:

fm01 <- lmer(sublat <- goal + (1|userid))

上述命令返回一个名为 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"

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

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

【问题讨论】:

  • 类似this?
  • 非常好,但是对于 混合效果 回归。不幸的是, vcovHC(model, type="HC0") 不适用于这些模型输出。可以获取vcov(model),但不能获取vcovHC(model)。
  • 您(或某人)需要查看vignette("sandwich-OOP",package="sandwich") 并弄清楚如何编写estfun.merModbread.merMod 函数,从sandwich:::estfun.lmsandwich:::bread.lm 开始,并根据需要进行调整。
  • merDeriv package 和 clubSandwich package 在提取一些用于三明治稳健标准错误和假设检验的组件方面会有所帮助。

标签: r mixed-models


【解决方案1】:

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

library(lme4)
library(clubSandwich)
m <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
## I have no idea which 'type' is appropriate, you're on your own here
rob_se <- sqrt(diag(vcovCR(m, type = "CR3")))
std_se <- sqrt(diag(vcov(m)))
cbind(rob_se, std_se)
               rob_se   std_se
 (Intercept) 7.022411 6.824597
Days         1.590604 1.545790

merDeriv 包还定义了应该与sandwich 包一起使用的函数(原则上,AIUI),但我无法让它工作。

【讨论】:

    【解决方案2】:

    我想这就是你要找的东西:https://cran.r-project.org/web/packages/robustlmm/vignettes/rlmer.pdf

    它是robustlmm 包,它具有rlmer 功能。

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

    fm01_rob <- rlmer(sublat <- goal + (1|userid))
    

    【讨论】:

    • 这是“健壮”的不同含义,而不是 OP 的含义...
    猜你喜欢
    • 2019-09-14
    • 2022-01-07
    • 2014-05-02
    • 2011-05-24
    • 2020-10-18
    • 2016-12-16
    • 2012-03-04
    • 1970-01-01
    • 2021-03-04
    相关资源
    最近更新 更多