読者です 読者をやめる 読者になる 読者になる

Knowledge As Practice

JAIST(東京)でサービス経営の研究をしている社会人大学院生の研究・勉強メモ(統計分析多め)。

Rstan でベイズ分析を行うための環境を作る方法メモ

基礎からのベイズ統計学 ノンプログラマーのためのR入門

『基礎からのベイズ統計学』第6章以降はベイズ統計学を使った応用例(たぶん基本的で大事な)が紹介されています。こういうのは、実際に自分で分析をして結果を見るのが大切です。ただ『基礎からのベイズ統計学』では、分析環境を整える方法は省略されています。

 
私は環境構築にちょっと手間取ってしまいました。私のようなプロではない*1方向けに、参考になるかもしれないので、ベイズ統計分析の環境を作るためのメモを書いておきます。

 
なお、R のバージョンは 3.2.1、Rstudio のバージョンは 0.99 。2015年8月4日時点での情報です。R と Rstudio に関する情報はあふれているので省きます。環境構築は2ステップです。

1.Rstan パッケージの導入

『基礎からのベイズ統計学』では、Rstan を使って MCMC の計算を行います。Rstan のインストールは簡単です。次のコードで一発OK。

install.packages("rstan")

最近まではちょっと大変だったそうですが、いまは便利。

2.Rtools のインストール

次に必要なのは、Rtools。これには1つ、気をつけることがあります。こちらの小杉先生のスライド14ページ目に載っていることを忘れないでください。

www.slideshare.net

 
Rtools はこちらから最新版をダウンロードします。
https://cran.r-project.org/bin/windows/Rtools/

 
そしてインストール。基本「次へ」でいいのですが、下の画面にだけ注意。「EDIT the system PATH」は必ずチェックをつけておきます。
f:id:hikaru1122:20150805013115p:plain

 
あとは「次へ」とインストールだけ。インストールが完了したら、ベイズ分析をRで行うための環境が整います。

実際に分析をやってみる。

『基礎からのベイズ統計学』の本文中にある分析を行うためのRスクリプト朝倉書店さんのページからダウンロードできます(右下のほう)。

 
「chap6」フォルダにある「chap6.R」をテキストエディタで開いて、「###6.1.1 正規分布の平均に関する推測」のスクリプトを Rstudio のソースエディタにコピペします。「data611.R」と「model611.stan」の2つのファイルは R の作業ディレクトリに置いておきます。作業ディレクトリは

getwd()

で示される場所です。

 
あとは、先ほど Rstudio のソースエディタにコピーしたコードを実行します。まず library(rstan) から cha<-1 までを実行*2。ここまで一瞬です。次の fit <- stan(file = ~~~~ が本番で、分析が終わるまで少し時間がかかるので、待ちましょう。

 
こんな表示が出てきたら成功です。私の場合は30秒ほどかかりました。

f:id:hikaru1122:20150805011146p:plain

 
あとは print(~~traceplot(~~ で分析結果や憧れのかっこいいトレースラインが表示されます。黒で表示されると思っていたので、オレンジ色でビックリ。

f:id:hikaru1122:20150805011550p:plain

はじめてのMCMC、成功バンザイ!

★  ★  ★

【後記】
実は、Rtools は必要にかられて以前にインストールしていたので大丈夫だと思っていたのですが、うまく分析できませんでした。

 
調べてみると Rtools のインストール時に間違ったことをしていて、TJO さんの過去エントリーと同じ現象が出ました。
tjo.hatenablog.com

上記ブログを見て環境変数をいじってもダメだったので、Rtools をいったんアンインストールしたあと、今回のエントリーのように再インストールして解決しました。

*1:プログラマとかITエンジニアじゃないという意味です。

*2:なお、6.1.2 のスクリプトからは「library(rstan)」は省略されています。

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。