比較的大きなデータセットにgeneralized linear mixed-effects models
をフィッティングする戦略の提案を探しています。R - ビッグデータ:一般化線形混合効果モデル
私は、米国バスケットボールパスの8 million
のデータを10年間で約300チームで持っています。
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
私は、プレイヤーがボールを渡す前に取る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")
:
- (どのように)私は
lme4
とbrms
の速度を向上させることができますフィット? - 他にも検討すべきパッケージはありますか?
- 適合モデルの速度を高めるのに役立つ手順は
step-wise
ですか? R
環境の外に、これに適した興味深いオプションがありますか?
どのポインタも大変ありがとうございます。
[this](https://www.rdocumentation.org/packages/biglm/versions/0.9-1/topics/bigglm)が役立つかもしれません。 –
@F.Frivé 'biglm'パッケージはマルチレベルの式を受け入れないようです - つまり、|問題がある。しかし、あなたの考えに感謝します! –
はあまり役に立たないかもしれませんが、https://stackoverflow.com/questions/44677487/lme4glmer-vs-statas-melogit-command/44728498#44728498はスピードアップや試しにnagQ = 0を提案しています – user20650