统计数据::方差分析和car::方差分析在评估lme4线性混合效应模型中的差异

统计数据::方差分析和car::方差分析在评估lme4线性混合效应模型中的差异,r,lme4,anova,R,Lme4,Anova,我正在学习更多关于lme4套餐的知识,并对这两种产品表示感谢。然而,在建议确定固定效应重要性的方法时,这两个指南有所不同 温特斯建议使用R的方差分析函数来比较有固定效应的模型和无固定效应的模型 相比之下,塔夫茨首先建议使用car软件包的Anova函数,他们也建议使用Anova方法 但是,正如下面的播放示例所示,这两种方法返回不同的卡方和p值 library(lme4) # meaningless models lmer_wt_null = lmer(mpg ~ (1 + wt | cyl), d

我正在学习更多关于lme4套餐的知识,并对这两种产品表示感谢。然而,在建议确定固定效应重要性的方法时,这两个指南有所不同

温特斯建议使用R的方差分析函数来比较有固定效应的模型和无固定效应的模型

相比之下,塔夫茨首先建议使用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值之间的差异有什么意义


我几乎可以肯定我错过了一些基本的东西。谢谢。

我将投票将其迁移到交叉验证,但是:这是一个很好的例子,说明了Wald和似然比测试p值之间的差异

方差分析的结果基于似然比检验,与计算卡方分布的上尾面积相等:

pchisq(deviance(lmer_wt_null)-deviance(lmer_wt_full), df=1, lower.tail=FALSE)
car::Anova的结果基于Wald检验,这使得他们假设对数似然曲面为二次曲面的假设更强。这里的测试是基于正态分布1,2的上尾的双尾测试:

瓦尔德:

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


2如果我们愿意,我们可以找到一个等效的卡方检验,但这更典型地是用正态统计进行的

这可能更适合交叉验证。。。
(cc <- coef(summary(lmer_wt_full)))
2*pnorm(abs(cc["wt","t value"]),lower.tail=FALSE)
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")
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