随机截距和随机斜率模型的误差

时间:2014-07-15 11:06:21

标签: r lmer

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

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

非常感谢

1 个答案:

答案 0 :(得分:8)

正如@CarlWitthoft所说,警告会告诉您模型的收敛失败。它可能不足或过度定义。你还应该检查你想要的模型是否有意义。此外,您应该通过运行lme4或(如果您要更新所有软件包)update.packages("lme4")来安装最新版本的update.packages()软件包。当前的lme4包中包含有关收敛警告的页面。通过library(lme4)加载后,您可以通过发出?convergence来访问该手册页。在那里,您可以找到有关警告消息的其他信息。 (注意,未来的版本可能不一定包含此页面。)作为一项附加措施,您可以搜索如何使用其他优化程序。 lme4的新版本,例如导入nloptr可以使用。

如果遇到警告或错误消息,您还应该检查lme4的Github页面:https://github.com/lme4/lme4/。对于您的具体情况,有一些可能相关的信息:

  

&#34; 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)中消失。&#34; [1]

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

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

(2)然后使用:library(devtools)从Github安装最新的install_github("lme4/lme4", dependencies = TRUE)包主。 (如果您遇到错误,表示尽管lme4建立了小插图失败,您应该dependencies = TRUE通过build_vignettes = FALSE


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