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

使用lme4的glmer拟合log时间偏移项时遇PIRLS错误求助

问题:glmer添加对数偏移项时出现PIRLS迭代失败错误

错误信息

Error: (maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate

核心模型代码

direct <- fixef(glmer(lmdth ~ sex + gf + agec10 + ht + 
   smk + diab + pvd + offpump + 
   statin + gsum + agsum + LAD + seq + (1|trial), 
   offset = log(lmdthdays), 
   data = sampledata,         
  family = binomial(link="logit")))[2]

已尝试的排查手段

  • 移除所有协变量,仅保留偏移项和随机效应,错误依然存在
  • 使用allFit()尝试lme4支持的所有优化器,无效
  • 将偏移项写入公式内(如lmdth ~ ... + offset(log(lmdthdays))),无效
  • 设置nAGQ=20增加自适应高斯求积次数,无效
  • 手动指定NLOPT_LN_NELDERMEAD优化器,无效
  • 单独将log(lmdthdays)作为协变量、或完全不使用偏移项时,模型均可正常拟合

完整代码上下文

for(i in 1:ntrials-1) {
   ntrials <- 2000
   npat <- 4413
   sampledata <- mgfipdma1t2346[sample(nrow(mgfipdma1t2346),
      npat, replace=TRUE),]
 direct <- fixef(glmer(lmdth ~ sex + gf + agec10 +
    ht + smk + diab + pvd + offpump + statin +
    gsum + agsum + LAD + seq + (1|trial), 
    offset=log(lmdthdays), data=sampledata, 
    family=binomial(link="logit")))[2]
 total <- fixef(glmer(lmdth ~ sex + agec10 + ht + 
     smk + diab + pvd + offpump + statin + gsum + 
     agsum + LAD + seq + (1|trial), 
    offset=log(lmdthdays), data=sampledata, 
       family=binomial(link="logit")))[2]
 indirect2 <- exp(total-direct)
 indirect <- rbind(indirect, indirect2)
}

需求与请求

我需要通过该逻辑回归开展中介分析,必须考虑死亡事件的时间变异,同时由于是多试验合并分析,需要纳入试验水平的随机效应调整组间变异。恳请提供下一步的排查和解决思路。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:03:15