[備忘録]Rで階層ベイズGLMM
本題に入る前にお知らせです。私が代表を務めるThriver Projectでは、無料Webセミナーを開催しています。研究論文や研究計画書の書き方のコツを、わかりやすく丁寧に解説しています。この無料Webセミナーでは約300名以上の方が学んでおり、参加者からはたいへん好評を博しています。これらの書き方で悩んでいる方は、以下のリンクからアクセスしてください。皆さんの参加を心からお待ちしています。
【無料】IMRaDを使った研究論文の書き方講座【Webセミナー】 (thriver.one)
【無料】研究計画書の書き方講座【Webセミナー】 (thriver.one)
[備忘録]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