[備忘録]Rで階層ベイズGLMM

以前、一般化線形混合モデル(GLMM)のススメという記事を書き、Rのパッケージはglmmstanのみ紹介しました。

その後、brmsrstanarmなどいろいろ使いはじめて、それらも使いやすかったりしますし、ちょっとずつ機能が違うので備忘録として残しときます。

何だかすごく展開が早いので、いちエンドユーザーのぼくは、こうやって備忘録を残しとかないとフォローしきれなくなりそうです、笑。



・glmmstanのインストール
library(devtools)
install_github("norimune/glmmstan")
・brmsのインストール
install.packages("brms")
・rstanarmのインストール
library(devtools)
install_github("stan-dev/rstanarm",local = FALSE)






3つはともにパッケージ経由でRstanを鬼のようにこき使うためのツールです。

めっちゃ便利で、開発者の方々には感謝しかありません。

あざまーす!

文法は3つともglmerやlmerと同じなので、同様の使い方ができます。

例えば、以下のような感じで書けばできます。

もちろん実際に行うときは、任意の変数名に変えてかまいません。

・glmmstan
library(glmmstan)
fit <- glmmstan(a ~ b*c*d + (1|f), data = dat, iter = 5000, chains = 4, family = "gaussian")
・brms
library(brms)
fit <- brm(a ~ b*c*d + (1|f), data = dat, iter = 5000, chains = 4, family = "gaussian")
・rstanarm
library(rstanarm)
fit <- stan_glmer(a ~ b*c*d + (1|f), data = dat, iter = 5000, chains = 4, family = "gaussian")
それぞれの違いは、指定できる分布が違ったり、モデル比較がやりやすいものがあったり、サンプリングの調整がしやすいものがあったり、いろいろです(ぼくも全部理解できているわけではありません)。



資料は以下のサイトでどうぞ。

他にもええのあったら教えてくだせー。

GLMMをやるパッケージを二つほど。