小编mam*_*ask的帖子

加速R中的lmer功能

在尝试R使用lme4包时改进线性混合效果模型的模型拟合时间时,我想分享一些我的想法.

数据集大小:数据集大约包含400,000行和32列.遗憾的是,无法分享有关数据性质的信息.

假设和检查:假设响应变量来自正态分布.在模型拟合过程之前,使用相关表和aliasR中提供的函数测试变量的共线性和多重共线性.

连续变量按比例缩放以帮助收敛.

模型结构:模型方程包含31个固定效应(包括截距)和30个随机效应(不包括截距).对于具有2700个级别的特定因子变量,随机效应是随机的.协方差结构是方差分量,因为假设随机效应之间存在独立性.

模型方程示例:

lmer(Response ~ 1 + Var1 + Var2 + ... + Var30 + (Var1-1| Group) + (Var2-1| Group) + ... + (Var30-1| Group), data=data, REML=TRUE)

模型已成功安装,但是,提供结果需要大约3.1小时.SAS中的相同型号花了几秒钟.网上有关于如何通过使用非线性优化算法减少时间的文献,以及在优化nloptwrap完成后执行的耗时衍生计算calc.derivs = FALSE:

https://cran.r-project.org/web/packages/lme4/vignettes/lmerperf.html

时间减少了78%.

问题:是否有其他替代方法可以通过相应地定义lmer参数输入来缩短模型拟合时间?在模型拟合时间方面,R和SAS之间存在很大差异.

任何建议表示赞赏.

performance r lme4 mixed-models

13
推荐指数
3
解决办法
5656
查看次数

标签 统计

lme4 ×1

mixed-models ×1

performance ×1

r ×1