2008年12月28日日曜日

OpenBUGS

OpenBUGS(for Windows)のインストールと使用方法

OpenBUGSはフリーソフトであり、Windows版やLinux版がある。OpenBUGSには、単体で使用する方法と、Rに組み込んで使用する方法がある。RからBUGS(OpenBUGSやWinBUGS14)を利用するには、パッケージR2WinBUGSあるいはBRugsなどをインストールしておく必要がある。

1.Rに組み込んで使用する方法
1)Rを起動し、「パッケージ」-「パッケージの読み込み」をクリックする。

2)R2WinBUGSを一覧から選択し、OKを押す。

3)インストールが完了すると、次のようにR2WinBUGSがRのライブラリーに追加される。(パッケージBRugsも同様にすればインストールできる。)

注)ライブラリR2WinBUGSを使用してRからBUGSを実行するには、別途下記のURLよりフリーソフトWinBUGS14(現在の最新版はWinBUGS1.4.3)をダウンロードして保存し、bugs関数においてbugs.directory="c:/Program Files/WinBUGS14/"のようにディレクトリを指定する。
http://www.mrc-bsu.cam.ac.uk/bugs/
あるいは、WinBUGS14を使用せず、OpenBUGSを使用する場合は次の2通りの方法がある。いずれもRのライブラリBRugsをインストールしておく必要がある。
1:bugs関数においてbugs.directoryを指定する代わりにprogram = "openbugs"を指定する。
2:bugs関数の代わりにopenbugs関数を用い、bugs.directory="c:/Program Files/OpenBUGS/と指定する。
このようにすれば、RはBRugsをロードし、OpenBUGSが実行される。OpenBUGSはBRugsに含まれているので、別途ダウンロードする必要はない。
なお、以上はライブラリR2WinBUGSを使用する場合であるが、ライブラリBRugsを使用したBUGSプログラミングも可能である。

2.単体で使用する方法
1)OpenBUGSのホームページ
http://www.mathstat.helsinki.fi/openBUGS/

http://www.openbugs.info/w/

からOpenBUGS(zipファイル)をダウンロードする。

(Windows用にはセットアップ用実行ファイルがダウンロードできる。)
2)ダウンロードしたzipファイルを適当なフォルダに解凍する。
3)フォルダ内の実行ファイルwinbugs.exeをクリックするとWinBUGSが起動する。
(以下、WinBUGSとあるのはすべてOpenBUGSに修正。)

 


4)例として、Examplesにある例題を実行する。WinBUGSのファイルは拡張子がodcのファイルである。「File」-「Open」をクリックし、Examplesのフォルダを開く。

5) その中のファイルSeeds.odcを開く。


6)画面をスクロールし、下方にあるmodelを表示する。

7)メニューの「Model」-「specification」をクリックする。
                                                                 
 
8)画面上のmodelの文字をマウスで選択してハイライトし、「Specification Tool」の「check model」をクリックする。modelに文法的な誤りがなければ次のような表示画面(左下のメッセージに注意)となる。

9)画面を更に下方へスクロールし、Data、Initsなどを表示させる。

10)Dataをクリックすると、データリストが表示される。listの文字部分をハイライトし、「Specification Tool」の「load data」をクリックする。正常にデータがロードされると下の画面が表示される。

11)modelとdataがロードされた後に、「compile」をクリックする。正常にコンパイルされると下の画面が表示される。

12)続いて初期値をロードする。Initsをクリックすると次の画面が表示される。

13)これまでと同様にlistの文字をハイライトし、「load inits」をクリックする。Chainの数が複数あるときは、chainの数だけ初期値設定をロードする。自動的に初期値を設定するには「gen inits」をクリックすればよい。

14)実行後の結果のグラフなどを参照する準備のため、メニューから「Inference」-「Samples」をクリックして「Sample Monitor Tool」を起動させる。

15)「node」に推定結果対象となる変数を入力する。この例ではalpha0, alpha2, alpha12, tau, sigmaなどである。変数名を入力するたびに「set」をクリックする。入力後はXを押して閉じる。

16)同様にメニューから「Inference」-「Summary」をクリックして「Summary Monitor Tool」を起動し、「node」に変数名を入力する。終了後は右上のXを押して画面を閉じる。

17)以上で準備が完了したので、BUGSを実行するため、Modelのアップロードを行う。メニューから「Model」-「Upload」をクリックする。
18)「Update Tool」が起動するので、サンプル数とburn-in、thinなどを入力する。入力後に「update」を押すとBUGSが実行される。

下は実行後の画面。計算時間も表示される。右上のXを押して画面を閉じる。

19)実行後の結果を見るため、メニューの「Inference」-「Samples」をクリックし、「Sample Monitor Tool」を起動させる。結果を知りたい変数をnodeから選ぶと、下部のボタンがONになるので、trace, history, densityなどをクリックすると結果がグラフ表示される。


20)また、メニューから「Inference」-「Summary」をクリックすると「Summary Monitor Tool」が起動するので、「node」から変数を選び「stat」をクリックするとその変数の統計量が表示される。


注)ODCファイルはmodelやdata等をひとまとめにしたファイルなので、保存や管理に便利であるが、以上の操作を行う場合、ODCファイルを作成していなくても同様の操作は可能である。modelファイルやdataファイル等をテキストファイルとして個々に作成し、それらを同じ作業ディレクトリに保存し、「File」から読み込んで同様の操作をすればよい。

* ODCファイルの作成
1) WinBUGSを起動し、「File」-「New」をクリックしてエディタを表示する。

2)model, data, 初期値をコピー&ペーストする。



3)適当なファイル名を付け、odcファイルとして保存する。

以上