LMM固定效应部分怎么确定变量

在r里面做lmm,有三个预测变量,都是有序变量。得到的结果如下,请问这样可否继续去掉一些预测变量(比如CD不显著,将它从模型中删掉),继续优化模型

library(lmerTest)
m.full <- lmer(AC~DTD*CT*CD+(1+DTD+CT||ID),data = mydata)
> anova(m.full)
Type III Analysis of Variance Table with Satterthwaite's method
            Sum Sq  Mean Sq NumDF  DenDF F value    Pr(>F)    
DTD       0.134827 0.134827     1 412.26 54.8593 7.374e-13 ***
CT        0.000046 0.000046     1 386.53  0.0189   0.89079    
CD        0.005720 0.005720     1 380.41  2.3275   0.12793    
DTD:CT    0.000924 0.000924     1 380.41  0.3759   0.54018    
DTD:CD    0.010289 0.010289     1 380.41  4.1864   0.04144 *  
CT:CD     0.011917 0.011917     1 380.41  4.8491   0.02826 *  
DTD:CT:CD 0.017398 0.017398     1 380.41  7.0788   0.00813 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

问题其实就是lmm模型中固定效应怎么选择,可否根据全模型的结果一个一个删除不感兴趣的预测变量

引用 皆我百晓生 小程序回复内容作答:
对于LMM(线性混合模型)中的固定效应选择,可以根据全模型的结果逐一删除不感兴趣的预测变量,并比较删除前后的模型拟合优度(例如AIC、BIC等),以确定是否可以继续删除。一般来说,在删除一个预测变量后,如果模型的拟合优度没有显著下降,那么可以将其从模型中删除。

在你的示例中,你可以进行以下步骤来确定是否可以删除CD变量:

  1. 比较含有CD变量的全模型(m.full)和删除CD变量的简化模型(m.simplified)的拟合优度。你可以使用AIC、BIC等指标进行比较,较小的值表示更好的模型拟合。

    m.simplified <- lmer(AC~DTD*CT+(1+DTD+CT||ID),data = mydata)
    AIC(m.full)
    AIC(m.simplified)
    
  2. 如果简化模型的拟合优度与全模型的拟合优度差距不显著,则说明CD变量对模型的解释效果较小,可以考虑删除。

    anova(m.full, m.simplified)
    
  3. 进一步检查简化模型中的其他变量是否显著,并比较其解释效果,以确定是否需要进一步优化模型。

需要注意的是,对于有序变量,你可能还需要考虑其线性、二次或其他更适合的形式来建模,以充分利用变量之间的关系,并确保模型的合理性。

【以下回答由 GPT 生成】

要确定在LMM中哪些预测变量可以被去除以优化模型,我们可以使用逐步回归或模型比较的方法。下面是两种可能的方法:

逐步回归方法

  1. 使用step()函数,逐步移除不显著的变量。首先,拟合全模型。
library(lmerTest)
m.full <- lmer(AC ~ DTD * CT * CD + (1 + DTD + CT || ID), data = mydata)
  1. 使用step()函数来选择变量。设置direction参数为backward,这样在每一步都会移除一个变量。
m.step <- step(m.full, direction = "backward")
  1. 查看逐步回归结果。可以使用anova()函数来比较完整模型和逐步回归模型的显著性。
anova(m.full, m.step)
  • 如果逐步回归删除的变量对模型没有显著影响,那么可以考虑将其从模型中删除。

模型比较方法

  1. 使用drop1()函数,逐个删除预测变量,并比较模型的准确性。首先,拟合全模型。
library(lmerTest)
m.full <- lmer(AC ~ DTD * CT * CD + (1 + DTD + CT || ID), data = mydata)
  1. 使用drop1()函数来删除一个变量,并比较模型的准确性,设置test参数为"Chisq"以进行卡方检验。
drop_result <- drop1(m.full, test = "Chisq")
  1. 查看模型比较结果。查看删除一个变量后,模型的准确性的变化情况。
drop_result
  • 如果删除一个变量后,模型的准确性没有显著下降,那么可以考虑将其从模型中删除。

以上方法可以帮助确定哪些预测变量可以从LMM中删除以优化模型。请注意,这里给出的方法仅供参考,具体的决策应该结合实际情况和领域知识进行。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^