[備忘録]Rで階層ベイズGLMM
以前、Rのパッケージはglmmstanのみ紹介しました。
その後、brmsやrstanarmなどいろいろ使いはじめて、それらも使いやすかったりしますし、ちょっとずつ機能が違うので備忘録として残しときます。
何だかすごく展開が早いので、いちエンドユーザーのぼくは、こうやって備忘録を残しとかないとフォローしきれなくなりそうです、笑。
インストール
・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”)
それぞれの違いは、指定できる分布が違ったり、モデル比較がやりやすいものがあったり、サンプリングの調整がしやすいものがあったり、いろいろです(ぼくも全部理解できているわけではありません)。
資料は以下のサイトでどうぞ。
他にもええのあったら教えてくだせー。
いいからベイズ推定してみる from Makoto Hirakawa
階層ベイズとWAIC from Hiroshi Shimizu
glmmstanパッケージを作ってみた from Hiroshi Shimizu
rstanで簡単にGLMMができるglmmstan()を作ってみた from Hiroshi Shimizu