首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Glmer需要几天的时间来计算,而且永远不会结束

Glmer需要几天的时间来计算,而且永远不会结束
EN

Stack Overflow用户
提问于 2021-11-11 14:22:19
回答 1查看 41关注 0票数 0

我之前看到过一些关于Stack的类似抱怨,但没有找到适合我的解决方案。此外,由于理论上的影响,我确实需要保留模型中的所有内容。我也研究了Rfast包(感谢创建者之一,他非常友好地通过电子邮件回复了我的问题)。然而,在我的例子中,它并没有达到目的,因为我需要随机斜率和随机截获,以及两者之间的相关性。

所以,我得到的模型是:

代码语言:javascript
运行
复制
acc_glmer <- glmer(Accuracy ~ Language * Switching + 
                        (Language|Subject) + (Switching|Subject) + 
                        (Language|Item) + (Switching|Item),
                      family = "binomial", data)

有没有人能建议我如何加速这个过程,或者哪里会出问题?即使需要几个小时,我也会很高兴,因为它仍然会在某个时候结束。目前它运行了一天以上,然后我杀死了进程,RStudio通常会阻塞,所以我必须重新启动它(没有错误消息或警告)。作为附加信息,我在27,000个观察值的数据上运行它(这些变量没有NAs )。

任何意见都将不胜感激,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 15:21:31

感谢大家提供的非常有用的反馈!我将详细说明将来对其他人进行故障排除时,我尝试了哪些内容,哪些内容对我的数据有效或无效:

所以,我先试着添加verbose=2,但似乎什么也没做。它仍然会永远运行(至少16小时),不显示任何内容。

  • 在下一步,我尝试设置control = glmerControl(optimizer = "Nelder_Mead"),发现它对我的数据不收敛,并显示以下消息:

代码语言:javascript
运行
复制
Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.130366 (tol = 0.002, component 1)

  1. 当我添加control = glmerControl(optimizer = "Nelder_Mead", calc.derivs=FALSE)时,它确实很“收敛”,但我认为下一个解决方案效果更好。
  2. 我用另一个glmer选项control = glmerControl(optimizer = "bobyqa")尝试了同样的方法。根据我所读到的模型converged.
  3. According,bobyqa默认使用nAGQ=0 (如果错误,请纠正我),所以我也尝试了以下设置:control = glmerControl(optimizer = "Nelder_Mead"), nAGQ=0。模型收敛了。
  4. 我没有使用mustartestart,因为我不认为我很好地理解了为我的情况添加什么样的值是有意义的,不幸的是。所以我不能评论它们对我是否有效。
  5. 最后,当我用nAGQ=0对模型运行allFit时,我得到的总结是它们都是好的,并且它们之间的可能性非常相似(所有的都是-8101.988,Nelder-Mead是-8102.555 )。

再次感谢大家!我认为在阅读了推荐的文章后,我对我的问题有了更好的理解。请随时评论和纠正我的上述任何一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69929896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档