lme4上的收敛错误

时间:2015-11-18 21:08:17

标签: r lme4

我试图指定的模型是:

M4 <- glmer(CORT_pgmm~AO_Ause+(1|St),data=belcher,family=Gamma(link="log"), control=glmerControl(optimizer="bobyqa"))

执行此操作时,我使用 glmer 并将“bobyqa""Nelder_Mead"作为优化程序,收到以下警告消息。

Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.0146734 (tol = 0.001, component 1)

我按照Ben Bolker先生在之前的answer

中给出的指示

一旦我将优化器更改为optimx包中包含的优化器,警告消息就会停止显示。

 M4 <- glmer(CORT_pgmm~AO_Ause+(1|St),data=belcher,family=Gamma(link="log"), control=glmerControl(optimizer="optimx",optCtrl=list(method="nlminb")))

尽管如此,我不知道如何知道这是否是正确的方法。我怎么能确定它?

如果我没有正确地写这个,我很道歉,因为这是我的第一篇文章。提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

你永远无法确定(这是一个案例的数值优化,在一般情况下我们无法证明这一点),但作为一般事项我会说,如果你成功达到与多个不同的优化器大致相同的假设“最优”参数估计您可以不再担心收敛失败。 “近似”的接近程度取决于个人品味和科学目标。对于我的典型用例,使用不同的优化器估计彼此(例如)1%或保守地0.1%的参数将被视为“大致相等”。