比较混合效应和固定效应模型(检验随机效应的显着性)

机器算法验证 r 假设检验 混合模式 lme4-nlme
2022-03-21 22:18:39

给定三个变量yx,它们是正连续的,并且z,它是分类的,我有两个候选模型:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

fit.fe <- lm( y ~ 1 + x )

我希望通过比较这些模型来确定哪个模型更合适。在我看来,在某种意义上fit.fe是嵌套在fit.me. 通常,当这种一般情况成立时,可以执行卡方检验。R中,我们可以使用以下命令执行此测试,

anova(fit.fe,fit.me)

当两个模型都包含随机效应(由包生成lmerlme4时,该anova()命令可以正常工作。由于边界参数,通常建议通过模拟测试得到的卡方统计量,但是,我们仍然可以在模拟过程中使用该统计量。

当两个模型都只包含固定效果时,这种方法——以及相关的anova()命令——可以正常工作。

但是,当一个模型包含随机效应而简化模型包含固定效应时,如上述场景,该anova()命令不起作用。

更具体地说,我收到以下错误:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

从上面使用卡方方法(通过模拟)有什么问题吗?或者这仅仅是一个anova()不知道如何处理不同函数生成的线性模型的问题?

换句话说,手动生成从模型派生的卡方统计量是否合适?如果是这样,比较这些模型的适当自由度是多少?据我估计:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

我们正在估计固定效应模型中的两个参数(斜率和截距)和混合效应模型中的另外两个参数(随机斜率和随机截距的方差参数)。通常,截距参数不计入自由度计算中,因此这意味着话虽如此,我不确定随机效应参数的方差参数是否应包含在自由度计算中;不考虑固定效应参数的方差估计,但我认为这是因为固定效应的参数估计被假定为未知常数,而它们被认为是不可知的随机变量k=1p=k+2=3混合效果。我希望能在这个问题上提供一些帮助。

最后,是否有人有更合适的(R基于 - 的)解决方案来比较这些模型?

1个回答

从技术上讲,您只需切换参数的顺序即可使其工作:

> anova(fit.me, fit.fe) 

会工作得很好。如果传递一个由lmerfirst 生成的对象,anova.merMod则会调用而不是调用anova.lm(它不知道如何处理lmer对象)。看:

?anova.merMod

虽然,选择混合模型或固定模型是需要考虑实验设计的建模选择,而不是模型选择问题。有关更多详细信息,请参阅@BenBolker 的https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#testing-significance-of-random-effects

考虑测试随机效应的显着性。