0

我正在使用lme4R 中的包并尝试适应随机斜率和随机截距模型。如果有人能在我运行随机斜率和随机截距模型时帮助我理解这个错误以及如何处理这个错误,我会非常有帮助:

mdl17<-lmer(yld.res ~ brk + (1+brk|state),data=data1,REML="FALSE")
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge with max|grad| = 1.84098 (tol = 0.002, component 3)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
   Model failed to converge: degenerate  Hessian with 1 negative eigenvalues

非常感谢

4

1 回答 1

9

正如@CarlWitthoft 所说,警告会通知您模型收敛失败。它可以定义不足或过度定义。您还应该检查您尝试拟合的模型是否有意义。lme4此外,您绝对应该通过运行update.packages("lme4")或(如果您想更新所有软件包)来安装最新版本的软件包update.packages()。当前的lme4软件包包含自己的关于收敛警告的页面。通过加载它后,library(lme4)您可以通过发出?convergence. 在那里,您将找到有关警告消息的其他信息。(请注意,未来版本可能不一定包含此页面。)作为附加措施,您可以搜索如何使用不同的优化器。新版lme4eg导入nloptr可以使用。

您还应该查看lme4Github 页面:https ://github.com/lme4/lme4/ ,以防您遇到令人担忧的警告或错误消息。对于您的具体情况,有一些可能相关的信息:

“最近的版本lme4 (e.g. 1.1-6)给出了错误的收敛警告。r-sig-mixed-models 上有一篇总结文章。如果你收到警告max|grad|但模型通过了这个测试:

dd <- fit@optinfo$derivs
with(dd,max(abs(solve(Hessian,gradient)))<2e-3)

那么您会看到一个误报警告,并且该问题将在以后的版本中消失(1.1-7 and up)。” [1]

如果Github页面包含相关信息(例如,警告或错误是特定于当前版本的CRAN),您应该考虑安装lme4当前的 master fromGithub并检查使用时问题是否消失:

(1) 首先 install devtools:install.packages("devtools")并将其附加library(devtools)到您的命名空间。

(2) 然后使用:从 Githubinstall_github("lme4/lme4", dependencies = TRUE)安装最新的 master包。lme4(如果您遇到表明构建小插图失败的错误,尽管dependencies = TRUE您应该传递build_vignettes = FALSE给您的调用install_github()。)


以下是关于收敛警告的摘要链接:http: //thread.gmane.org/gmane.comp.lang.r.lme4.devel/11893(检索时间:2014-07-16T10:04+02:00)

于 2014-07-15T15:14:33.607 回答