You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mice多重插补后glmer与glm模型比较及随机效应检验报错求助

解决pool.compare报错:Model 'fit1' not larger than 'fit0'

这个错误的核心原因是你用来比较的两个模型类型不一致——fm1是混合效应模型(glmer输出的lmerMod类),而fm2是普通广义线性模型(glm输出的glm类),pool.compare无法正确识别它们的嵌套关系,误以为fm1并没有包含fm2的所有参数。

解决步骤

要修复这个问题,你需要让两个模型保持同一类型,即使fm2没有随机效应,也用glmer来拟合:

  1. 重新拟合两个模型,确保都使用glmer,并且指定匹配的family参数(根据你的Treatment变量类型选择,比如二分类用binomial,连续变量用gaussian):

    # 带随机效应的模型
    fm1 <- with(dti.mice1, glmer(Treatment ~ (1|Hospital) + Age, family = binomial)) # 替换成你实际需要的family
    # 不带随机效应的模型(用glmer拟合,保持类型一致)
    fm2 <- with(dti.mice1, glmer(Treatment ~ Age, family = binomial))
    
  2. 再次运行pool.compare:

    pool.compare(fm1, fm2)
    

额外说明

  • 当你用glmer拟合没有随机效应的模型时,它本质上会退化成普通的广义线性模型,但输出的对象类型和fm1一致,这样pool.compare就能正确识别fm1是fm2的扩展模型(多了一个随机截距的方差参数),从而完成嵌套模型的比较。
  • 如果拟合过程中出现收敛警告,可以尝试调整glmer的控制参数,比如增加迭代次数:
    fm1 <- with(dti.mice1, glmer(Treatment ~ (1|Hospital) + Age, family = binomial,
                                 control = glmerControl(optCtrl = list(maxfun = 1e5))))
    

内容的提问来源于stack exchange,提问作者Eveline Wiegers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:04:40