我有大约 2400 名参与者和大约 15000 个观察结果的纵向数据。当使用
lmer()
和随机时间斜率拟合混合效应模型时,我收到了警告:
优化器(nloptwrap)收敛代码:0(OK)
模型未能与 max|grad| 收敛= 0.00897475(tol = 0.002,分量 1)`
但也得到了模型估计。
型号是
lmer(sbp ~ time + cov1 + cov2 + cov3 + cov4 +
cov5 + cov6 + cov7 + cov8 + (time|ID), data = df)
我查看了 lme4 包中的故障排除页面和另一个描述收敛问题的nice页面,以检查此警告是否是误报。我发现可以通过重新调整(即标准化)模型中的时间变量来解决该警告。协变量的所有固定效应系数与原始模型中的相同。我有兴趣从这个模型中获取每个参与者的时间斜率,所以我更喜欢将时间保持在原始规模。我可以说警告消息是误报并使用我原来的模型吗?
我可以说警告消息是误报并使用我原来的模型吗?
是的。
或者,您可以缩放时间变量并将其居中,然后将逆变换应用于系数,如这个问题中所示;即,如果在拟合之前将时间缩放(除以)因子
x
,则应在拟合后将时间系数乘以 x
(随机效应 SD 将按 x
缩放,方差按 x^2
缩放) .