LoginSignup
23
25

More than 5 years have passed since last update.

Rでベイズ推定を行う環境の構築

Posted at

先日のBUGS/stan勉強会 #3に参加(聴講のみ)したのでそのリポート、というわけではなく環境の整備をしたという記事。...形から入りたい性格だから(小声)。詳しいことはまた勉強する or ブログ記事を読む。

(致死させない程度の) マサカリ歓迎

主催の@TeitoNakagawa さんからのメッセージ。

過去の勉強会

入門セッションは過去のものを参考に。

BUGS/Stanとは... おまけにJAGS

BUGS/Stanとは何ぞやということを説明しておくとベイズ推定による柔軟なモデリングを実現するためのDSL言語 第1回BUGS/Stan勉強会を開催しました - Analyze IT.

とのこと。

MCMC(マルコフ連鎖モンテカルロ法: Markov chain Monte Carlo methods) を用いたベイズ推定という枠組み、は共通しているけど、BUGS, Stan, JAGSはそれぞれ別物。用途に応じて使い分けるのが良さげ↓(参考)。

間違っているかもしれないまとめ

BUGS をマルチプラットフォームで使えるように改良してあるのが JAGS で姉妹のようなもの。 Stanは、BUGSを参考にしつつも処理の方法が前2つとは異なっていて、高速。ちなみにBUGSとJAGSは略称で、Stanの由来はStanislaw Ulamにちなんでいるとか。

(きっとほかにもある)

BUGS (WinBUGS)

BUGSというのはBayesian inference Using Gibbs Samplingの略で、その名の通りギブズサンプラーによるベイズ推定を行う

Macにインストールする方法(Mac OS X上で、WinBUGS+R2WinBUGSを使用するなど)もあるけど面倒なのでやめた。

JAGS (rjags)

JAGSはJust Another Gibbs Samplerの略。ギブス抽出法を用いたベイズ階層モデルを実装できる。rjagsパッケージはR上でJAGSを実行するインターフェイス。

手順

Stan (rstan)

真打ちというか導入が一番楽だった。C++で処理を行うため高速化されているというのが特徴。開発が盛んでマニュアルや実例もまとめてあるので大変良い印象。

インターフェイス

  • CmdStan -> コマンドラインからStanを操作
  • RStan -> R上でStanプログラムを実行する
    • こちらを使う
  • PyStan -> PythonでStan
  • 開発中... -> MATLAB, Julia!!, Stata

手順

ここに書いてある手順に従えば良い。MacではR、RStudio、Xcodeを適宜用意する必要がある。自分の環境ではRcppパッケージの再インストールが必要だった。

まとめ

BUGS/stan勉強会 #3でもStanを使った発表が多かったし、速さは正義なのでRStanで勉強進めていく。

23
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
25