如果我们重新装上一目了然的眼镜,我们可能会收到一条警告,告知我们该模型正在难以收敛...例如
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.00389462 (tol = 0.001)
@Ben Bolker 在此线程中讨论的另一种检查收敛的方法是:
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 1.152891e-05
如果max(abs(relgrad))
可以,<0.001
那么事情可能没事...所以在这种情况下,我们得出的结果相互矛盾?我们应该如何在方法之间进行选择,并通过模型拟合感到安全?
另一方面,当我们获得更多极限值时,例如:
>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 35.5352 (tol = 0.001)
relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 0.002776518
这是否意味着我们必须忽略模型结果/估计/ p值?0.0027太大了吗?
当不同的优化器给出不同的结果并且变量居中/删除参数(将模型剥离到最小)无济于事,但VIF较低,模型没有过度分散,并且模型结果基于先验期望具有逻辑意义时,似乎很难知道该怎么办。
关于如何解释趋同问题,真正需要我们解决它们的极端程度的建议以及尝试解决上述问题的可能方法将非常有帮助。
使用:
R version 3.1.0 (2014-04-10)
和lme4_1.1-6
lme4
(版本1.1-7)具有不同的警告行为,因此作者认为不太可能发出“假警报”警告。您可能会尝试更新lme4
到最新版本,再次拟合模型,并查看是否仍然收到类似的警告,至少在第一种情况下。