【问题标题】:Convergence error on lme4lme4 上的收敛错误
【发布时间】:2015-11-18 21:08:16
【问题描述】:

我试图指定的模型是:

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")))

不过,我不确定如何知道在我的情况下这是否是正确的方法。我怎么能确定呢?

如果我写得不正确,我深表歉意,因为这是我的第一篇文章。提前感谢您的回答。

【问题讨论】:

标签: r lme4


【解决方案1】:

您永远无法确定(这是对一个案例的数值优化,在一般情况下我们无法证明很多),但一般而言,我会说,如果您 成功达到使用多个不同的优化器进行近似相同的假定“最佳”参数估计,您可以不必担心收敛失败。 “大约”有多接近取决于个人品味和科学目标。对于我的典型用例,使用不同优化器估计彼此在(例如)1% 或保守地 0.1% 范围内的参数将算作“大致相等”。

【讨论】:

  • 感谢您的回答!这真的很有帮助。
猜你喜欢
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 2022-04-22
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2016-08-12
  • 2016-09-24
相关资源
最近更新 更多