R 中 glmmTMB 函数的问题:总结给出 NaN

Problem with glmmTMB function in R: gives NaN in summary

提问人:Kat 提问时间:5/17/2023 最后编辑:Ben BolkerKat 更新时间:5/18/2023 访问量:461

问:

我有一个大型汽车保险数据集,我想用它来做一个混合模型回归,以使用 glmmTMB 对预期的索赔频率进行建模,目的是确定初始基本保费。

我的脚本看起来像这样:

glmmTMB(response ~ Var1 + Var2 + Var3 + ... +
   offset(log(exposure_level) + (1|policy_id), 
       data = data, 
       family = nbinom1(link = "log")) 

无论我做什么,我都会收到有关 NaN 和收敛的警告,摘要中的 p 值、std、z 值、AIC、BIC、logLik 和偏差都是 NaN。

我收到以下警告:

警告消息: 1:在 .checkRankX(TMBStruc, control$rank_check) 中:
条件模型中的固定效应是秩缺陷
2:In (function (start, objective, gradient = NULL, hessian = NULL, : NA/NaN 函数评估
3:In (函数 (start, objective, gradient = NULL, hessian = NULL, : NA/NaN功能评估
4:适合TMB(TMBStruc): 模型收敛问题;非正定 Hessian 矩阵。参见小插图('troubleshooting') 5: In fitTMB(TMBStruc)
: 模型收敛问题;假收敛 (8)。参见小插图('疑难解答')

我尝试对数据进行更多分组并省略变量,但似乎无法解决问题。无论我尝试什么,警告和 NaN 仍然显示。

有没有人经历过同样的事情并知道如何解决问题?

R 警告收 glmmtmb

评论

0赞 Ben Bolker 5/17/2023
具体来说,您会收到哪些警告?你能编辑你的问题以包括它们,以及 的输出吗?您是否尝试过在适合您的模型上运行?summary()diagnose()
0赞 Ben Bolker 9/25/2023
这个评论很晚才回来,但有帮助吗?diagnose()

答:

1赞 Ben Bolker 5/18/2023 #1

关键是

在 .checkRankX(TMBStruc, control$rank_check) 中:条件模型中的固定效应是排名不足的

如果将参数添加到模型拟合中,它应该会自动处理此问题。control = glmmTMBControl(rank_check = "adjust")

这意味着您的预测变量集中有多共线列(发生这种情况的原因有很多:缺少与某些组合的交互作用、完全描述一组分类选项的虚拟变量、常量列......

例如:

library(glmmTMB)
data("sleepstudy", package = "lme4")
ss <- transform(sleepstudy, Days2 = Days)
m <- glmmTMB(Reaction ~ Days + Days2 + (1|Subject),
   data = ss,
   control = glmmTMBControl(rank_check = "adjust"))

它给出消息(不再是警告)

从排名不足的条件模型中删除列:Days2

评论

0赞 Kat 5/18/2023
感谢您的建议,这对第一个警告有效。不幸的是,最后四个警告仍然出现,摘要仍然包含 NA 和 NaN。