使用 lmer 在混合模型上下文中进行模型选择

机器算法验证 r 混合模式 lme4-nlme 随机效应模型 固定效应模型
2022-04-10 02:41:22

假设我有两个因素 A 和 B 可能预测我的结果 Y。现在我想使用似然比检验来测试固定效应以找到最佳模型。

fm1 <- lmer(Y~1+A*B+(1|subject))
fm2 <- lmer(Y~1+A+B+(1|subject))
fm3 <- lmer(Y~1+A+(1|subject))
fm4 <- lmer(Y~1+B+(1|subject))
fm5 <- lmer(Y~1+(1|subject))

anova(fm1, fm2, fm3, fm4, fm5)

但是,我还想测试不同的随机效应规范。

# all possible random-effects specifications for fm1
fm6 <- lmer(Y~1+A*B+(1+A*B|subject)) 
fm7 <- lmer(Y~1+A*B+(1+A|subject)+(1+B|subject))
fm8 <- lmer(Y~1+A*B+(1+A|subject))
fm8 <- lmer(Y~1+A*B+(1+B|subject)) 
fm8 <- lmer(Y~1+A*B+(1|subject)) 

首先检测哪个固定效应规范最具预测性[ anova(fm1, fm2, fm3, fm4, fm5)],然后用这个模型尝试不同的随机效应规范,这是一种有效的方法吗?还是只有最全面的方法才有效,其中我指定了所有可能的固定效应和随机效应组合来比较所有这些模型以找到最佳拟合?

1个回答

据我所知,您首先要指定随机效应结构。Zuur的第 5 章第 7节详细介绍了选择模型的一般步骤。首先,包括所有相关的固定效应。其次,使用 REML 识别随机效应结构。第三,用 ML 找到固定效应结构。第四,Zuur 建议使用 REML 估计来呈现(我不确定为什么)。第 5.8 节有例子。