2017年1月16日月曜日

ベイズ統計を学ぶ

ようやく時間がとれるようになってきたので,統計の知識をアップデートしています。緑本を読んで,GLMMはある程度わかったような気になっています。これだけいろいろできたら分散分析はオワコンになるわ……。
ベイズ統計にも手をつけはじめましたが,Rは進化が早いので,Webの情報がすぐobsoleteなものになっちゃいますね。というわけでメモ。

ベイズ流のGLMM

清水先生のglmmstan()が鉄板かと思いきや,動かないようです。いまはRStanArmを使うそうな。devtoolsでinstall_github()を使ってインストールする記事も見かけましたが,いまはCRANからふつーにインストールできます。パッケージ名どおり,Stanで動きます。
> install.packages("rstanarm")
> library(rstanarm)
> fit <- stan_glm(y ~ x, data=dat, family="gaussian",
                  chains=4, iter=2000, cores=4)
> summary(fit)
> plot(fit)

ベイズ流の構造方程式モデリング

blavaanというパッケージを使うようです。こちらはJAGSを使うので,あらかじめAPTで入れておきます。Windowsはわからぬ。
$ sudo apt install jags
そしてR上で
> install.packages("blavaan")
> library(blavaan)
> model <- '
+ x =~ x1 + x2 + x3 
+ y =~ y1 + y2 + y3
+ '
> result.model <- bcfa(model, data = dat)
> summary(result.model, standardized = TRUE)
> fitMeasures(result.model)
などとします。要はlavaanの関数名の頭に”b”をつけるだけみたいですね。
ラッパーに頼らずにStanのコードを書けるようになったほうがいいんでしょうなあ。がんばります。