スポンサーリンク

Windows8.1にRStanをインストールしてサンプルを実行してみる

きっかけは、2つの時系列データの間に「差」があるかを判断したかっただけなんです。。。

時刻t=0, 1, 2, 3 における、Aの値A(t)とBの値B(t)があったときに、AとBに時刻ごとに有意差があるかどうかを判断したい場合、

A(0)とB(0)でt検定

A(1)とB(1)でt検定

A(2)とB(2)でt検定

A(3)とB(3)でt検定

すればよいのだとは思いますが、まあ、なんとなく、一気に比較する方法がないかなあと思ったら、以下のようなサイトを見つけました。

http://statmodeling.hatenablog.com/entry/difference-between-time-courses

RとRStanというものを用いるそうです。ハードルが高すぎると思ったので、以下の本を読んでみました。4300円!!!

 

前書きに「数式が少なくて実践的」て書いてあったのに、ど素人の私にとっては数式だらけで、何を言っているのかさっぱりわからず。また、求めていたRStanのインストール方法については、「公式サイトを見てね」の一言で終了していました。。。

仕方ないので、がんばって、Windows8.1パソコンに、RSstanをインストールをtryしてみたいと思います。

(開発環境)
Panasonic CF-RZ4
Windows 8.1 Pro
R version 3.3.1 (2016-06-21)
RStudio Version 1.1.456

(今回作製した環境)
Rtools33.exe  をインストールした。(インストールだけで1時間くらいかかった。)

(0)目標

以下のサイトを写経して、WindowsでRStanを使用できるようにする。

https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started-(Japanese)

(1)RとRStudioは、インストール済みとします。

RのVersionを確認しておくことが大事です。

私の場合は、RStudioを起動したときにConsole画面に出てくるRのバージョンが、3.3.1 でした。

(2)Rtoolsのインストール

以下のサイトから、Rtools●●.exe をダウンロードして、インストールする。

私の場合は、R 3.3.1 であったので、Rtools33.exe をダウンロードしてインストールしました。

https://cran.r-project.org/bin/windows/Rtools/

Rtools33.exe は 約124MBあり、ダウンロードに1分くらいかかりました。

以下の、「追加タスクの選択」のところで、PATHを追加するところのチェックボックスをONにするのを忘れないようにします。

何分かかかるようです。

RからRtoolsが使えるか確認します。

RStudioを終了してから、再起動。

Console画面で、以下を実行。

Sys.getenv("PATH")

うまくいっていると、上記のように、環境変数PATHにRtoolsが含まれていることが分かります。

以下を入力して、Rからg++を呼び出せるかどうかチェック

system('g++ -v')

 

(3)RStanのインストール

引き続き、RStudioのConsole画面で、以下を入力。

install.packages('rstan', repos='https://cloud.r-project.org/', dependencies=TRUE)

何か聞かれたら、y + Enter とする。

えっと、1時間くらいかかっている気が、、、

なんだか、shinystan というpackageがインストールできなかったらしい。。。

大丈夫だろうか。。。

とりあえず次に進む。

(4)RStudioを再起動

新規R notebookを作成して、以下を入力して実行。

fx <- inline::cxxfunction( signature(x = "integer", y = "numeric" ) , '
  return ScalarReal( INTEGER(x)[0] * REAL(y)[0] ) ;
')
fx( 2L, 5 ) # 10になるはずです

一応、10にはなったようである。

(5)RStanのサンプルを実行

例1:Eight Schools

C:/r/rstan/ フォルダに、8schools.stan というファイルを作成し、こちらのサイトのコードをコピペ。

なお、どこかで見た気がしたのだが、8schools.stan ファイルの最後に、空の1行を入れておく必要がある。

File > New File > R Notebok でR Notebookファイルを作成後、C:/r/rstan/ フォルダに、180820_001.Rmd という名前で保存。

全く分からないが、上記サイトのコードをコピペして実行。

数分待ったが、たぶん、うまくいったような気がする。。。気がするだけだが、、、

結果の見方はさっぱりわからない。。。

ちなみに、Knit というボタンをクリックすると、1個のhtmlファイルでコードと結果を保存することができます。後日、自分で確認することもできるし、他の人にhtmlファイルを送ることもできます。

(参考)

https://oku.edu.mie-u.ac.jp/~okumura/rstan/

次は、上記サイトのRStanの具体例を試していきたい。。。

R

Posted by twosquirrel