为什么 Anova( ) 和 drop1( ) 为 GLMM 提供了不同的答案?

机器算法验证 r 方差分析 咕噜咕噜
2022-03-29 20:17:26

我有一个形式的 GLMM:

lmer(present? ~ factor1 + factor2 + continuous + factor1*continuous + 
                (1 | factor3), family=binomial)

当我使用 时drop1(model, test="Chi"),我得到的结果与Anova(model, type="III")从汽车包装或summary(model). 后两者给出了相同的答案。

使用一堆捏造的数据,我发现这两种方法通常没有区别。对于平衡线性模型、不平衡线性模型(不同组中的 n 不相等)和平衡广义线性模型,它们给出了相同的答案,但对于平衡广义线性混合模型却没有。因此,似乎只有在包含随机因素的情况下,这种不和谐才会显现。

  • 为什么这两种方法之间存在差异?
  • 使用 GLMM 时应该使用Anova()还是drop1()使用?
  • 至少对于我的数据而言,这两者之间的差异很小。使用哪个重要吗?
1个回答

我认为这是计算哪些测试的区别。car::Anova使用 Wald 测试,而drop1重新拟合模型删除单个项。John Fox 曾经写信给我,Wald 测试和使用似然比测试(即来自 的策略drop1)的改装模型的测试同意线性但不一定是非线性模型。不幸的是,这封邮件不在列表中,并且不包含任何参考。但我知道他的书中有一章是关于 Wald 测试的,其中可能包含所需的信息。

帮助car::Anova说:

Type-II测试是根据边缘性原则计算的,先测试每个term,除了忽略term的高阶亲属;所谓的 III 型测试违反了边际性,将模型中的每个项都测试在所有其他项之后。II 类检验的定义对应于 SAS 为方差分析模型生成的检验,其中所有预测变量都是因子,但不是更普遍的(即,当有定量预测变量时)。为 III 型测试制定模型时要非常小心,否则测试的假设将毫无意义。

不幸的是,我无法回答您的第二个或第三个问题,因为我也想知道这一点。


更新重新评论

广义混合模型没有 Wald、LR 和 F 检验。Anova只允许"chisq""F"测试混合模型(即"mer"返回的对象lmer)。使用部分说:

## S3 method for class 'mer'
Anova(mod, type=c("II","III", 2, 3), 
    test.statistic=c("chisq", "F"), vcov.=vcov(mod), singular.ok, ...)

但是由于mer对象的 F 检验是由 计算的pbkrtest,据我所知,这仅适用于线性混合模型,Anova因为 GLMM 应该总是返回chisq(因此你看不出有什么区别)。

关于问题的更新:

Anova()我之前的回答只是试图回答你的主要问题,和之间的区别drop1()但是现在我知道您想测试确定的固定效应是否显着。R-sig 混合建模常见问题解答对此有以下说明:

单参数测试

从最差到最好:

  • Wald Z 检验
  • 对于可以计算 df 的平衡嵌套 LMM:Wald t-tests
  • 似然比检验,通过设置模型以便可以隔离/删除参数(通过 anova 或 drop1),或通过计算似然分布
  • MCMC 或参数引导置信区间

效果测试(即测试多个参数同时为零)

从最差到最好:

  • Wald 卡方检验(例如 car::Anova)
  • 似然比检验(通过 anova 或 drop1)
  • 对于可以计算 df 的平衡嵌套 LMM:条件 F 检验
  • 对于 LMM:带 df 校正的条件 F 检验(例如 pbkrtest 包中的 Kenward-Roger)
  • MCMC 或参数或非参数引导比较(必须仔细实施非参数引导以考虑分组因素)

(重点补充)

这表明car::Anova()通常不推荐您使用 GLMM 的方法,但应使用使用 MCMC 或引导程序的方法。我不知道pvals.fnclanguageR包装中是否可以使用 GLMM,但值得一试。