我试图指定的模型是:
M4 <- glmer(CORT_pgmm~AO_Ause+(1|St),data=belcher,family=Gamma(link="log"), control=glmerControl(optimizer="bobyqa"))在进行此操作时,我得到了以下警告消息:使用带有"bobyqa"和"Nelder_Mead"“的glmer作为优化器。
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)我遵循了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")))然而,我不知道如何知道这是否正确的方式进行我的情况。我怎么能确定呢?
如果我写的不对,我很抱歉,因为这是我的第一篇文章。提前谢谢你的回答。
发布于 2015-11-18 23:51:25
您永远无法确定(这是在一般情况下我们无法证明的情况的数值优化),但作为一般情况,我要说的是,如果成功地用多个不同的优化器(例如使用allFit())达到了大致相同的“最优”参数估计,您就可以不再担心收敛失败了。“近似”有多近取决于个人品味和科学目标。对于我的典型用例,使用不同的优化器估计(例如) 1%或保守的0.1%的参数将算作“大致相等”。
https://stackoverflow.com/questions/33790402
复制相似问题