stats :: anova和car :: Anova在评估lme4

时间:2018-04-05 00:44:36

标签: r lme4 anova

我正在了解有关lme4软件包的更多信息,并对Bodo Winter's tutorialthis guide on Tufts表示赞赏。但是,在提出确定固定效应重要性的方法时,这两个指南有所不同。

Winters建议使用R的anova函数将一个模型与有问题的固定效果进行比较,而将一个模型与未固定效果进行比较。

相比之下,Tufts首先建议使用car包的Anova函数(他们还建议使用anova方法)。

但是,从下面的播放示例中可以看出,这两种方法返回不同的卡方和p值。

library(lme4)
# meaningless models
lmer_wt_null = lmer(mpg ~ (1 + wt | cyl), data = mtcars, REML = FALSE)
lmer_wt_full = lmer(mpg ~ wt + (1 + wt | cyl), data = mtcars, REML = FALSE)

# stats::anova output (Winters)
anova(lmer_wt_null, lmer_wt_full)

# Data: mtcars
# Models:
#   lmer_wt_null: mpg ~ (1 + wt | cyl)
# lmer_wt_full: mpg ~ wt + (1 + wt | cyl)
# Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)  
# lmer_wt_null  5 167.29 174.62 -78.647   157.29                           
# lmer_wt_full  6 163.14 171.93 -75.568   151.14 6.1563      1    0.01309 *
#   ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

library(car)
# car::anova output (Tufts)
Anova(lmer_wt_full)

# Analysis of Deviance Table (Type II Wald chisquare tests)
# 
# Response: mpg
# Chisq Df Pr(>Chisq)
# wt 19.213  1  1.169e-05 ***
#   ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

这两种方法的不同之处是什么?这些p值之间差异的含义是什么?

我几乎可以肯定我遗漏了一些基本的东西。感谢。

1 个答案:

答案 0 :(得分:2)

我将投票将其迁移到CrossValidated,但是:这是Wald和似然比测试p值之间差异的一个非常好的例子。

anova()的结果基于似然比检验,并且等效(您可以检查)计算卡方分布的上尾区域:

pchisq(deviance(lmer_wt_null)-deviance(lmer_wt_full), df=1, lower.tail=FALSE)

car::Anova()的结果基于Wald检验,它做出了更强的假设(他们假设对数似然表面是二次的)。这里的测试是基于正态分布 1,2 的上尾的双尾测试:

(cc <- coef(summary(lmer_wt_full)))
2*pnorm(abs(cc["wt","t value"]),lower.tail=FALSE)

我们可以通过计算和绘制似然概要来更深入地了解这一点;偏离二次曲线显示Wald测试失败的位置。

pp <- profile(lmer_wt_full)
dd <- as.data.frame(pp)
est <- cc["wt","Estimate"]
se <- cc["wt","Std. Error"]
library(ggplot2)
ggplot(subset(dd,.par=="wt" & .zeta>-2.6 & .zeta<2.6),aes(x=.focal,y=.zeta))+
  geom_point()+geom_line()+
  geom_abline(intercept=-est*se,slope=se,colour="red")+
  geom_hline(yintercept=c(-1,1)*1.96)
ggsave("lmerprof.png")

enter image description here

黑线显示可能性概况。 y轴显示2 *偏差的有符号平方根 - 这基本上是正偏差标度。在这个尺度上,二次对数似然表面的Wald假设对应于线性轮廓。红线表示Wald近似值。

我们还可以将基于似然概况的置信区间与基于Wald近似的区间(图中+/- 1.96区间的区域)进行比较:

可能性概况:

confint(pp)["wt",]
##    2.5 %    97.5 % 
##-7.042211 -1.561525 

沃尔德:

confint(lmer_wt_full,method="Wald")["wt",]
##    2.5 %    97.5 % 
##-6.018525 -2.299228 

1 在许多情况下,这是基于t分布,但这使我们陷入更难以估计自由度的问题

2 如果我们想要找到一个等效的卡方检验,但通常使用正态统计来完成