wak*_*ake 5 performance r bigdata lme4 mixed-models
我正在寻找有关为相对大的数据集拟合广义线性混合效应模型的策略的建议。
想想我有 10 年内大约 300 支球队的 800 万次美国篮球传球的数据。数据看起来像这样:
data <- data.frame(count = c(1,1,2,1,1,5),
length_pass= c(1,2,5,7,1,3),
year= c(1,1,1,2,2,2),
mean_length_pass_team= c(15,15,9,14,14,8),
team= c('A', 'A', 'B', 'A', 'A', 'B'))
data
count length_pass year mean_length_pass_team team
1 1 1 1 15 A
2 1 2 1 15 A
3 2 5 1 9 B
4 1 7 2 14 A
5 1 1 2 14 A
6 5 3 2 8 B
Run Code Online (Sandbox Code Playgroud)
我想解释一下count球员在传球之前采取的步骤。我有理论动机假设count和之间存在团队级别的差异length_pass,因此多级(即混合效应)模型似乎是合适的。
我的个人级别控制变量是length_pass和year。
在团队层面上,我有mean_length_pass_team. 根据Snijders 的说法,这应该有助于我避免生态谬误,2011 年。
我一直在使用lme4和brms包来估计这些模型,但是将这些模型安装在我本地的 12 核 128GB 机器上需要几天/几周的时间。
library(lme4)
model_a <- glmer(count ~ length_pass + year + mean_length_pass_team + (1 | team),
data=data,
family= "poisson",
control=glmerControl(optCtrl=list(maxfun=2e8)))
library(brms)
options (mc.cores=parallel::detectCores ())
model_b <- brm(count ~ length_pass + year + mean_length_pass_team + (1 | team),
data=data,
family= "poisson")
Run Code Online (Sandbox Code Playgroud)
我正在寻找加快拟合过程或新技术以拟合广义线性混合效应模型的建议:
lme4和brms适合的速度吗?任何指针都非常感谢!
小智 0
对于一般速度改进,我建议使用openBLAS而不是本机 BLAS。不幸的是,我不相信 LME4 依赖 BLAS。
不过,我还建议并行生成 LME4 模型,这将有效地将您的等待时间减少一半。
| 归档时间: |
|
| 查看次数: |
1140 次 |
| 最近记录: |