winBUGS関数パラメタ説明編

  • 昨日の記事でR+openBUGSのことを書いた
  • winBUGS ~ openBUGSでの分布関数を使ってモデル指定しないといけない
  • 分布関数には形状パラメタとか尺度パラメタとかがあるけれど、場合によって、使い方が違ったりするので、BUGSのモデル設定のパラメタがどういう指定になっているかを知らないと失敗する
    • なので、それをきちんと把握するにはBUGSマニュアルで確認するのがよいのだが!
    • 色々困ったことがある
      • winBUGSのマニュアルにページ番号がついていないことがある!
      • winBUGSのマニュアルPDFの冒頭目次からクリッカブルになっていない!
    • というわけでページ番号のついた版がこちら
    • そしてそのp57に関数の引数説明がある→その一覧はこちらの記事
    • さて、どうしてそれを確認しないとまずいかと言うと、よく使うdnorm(),dgamma()だけでも要注意だから。
    • たとえば、BUGSの正規分布関数 dnorm()では、平均m、分散vの場合には
## winBUGS
dnorm(m,1/v)
      • と書く。これは、Rで値xでの確率密度を
#### R
rnorm(x,m,sqrt(v))
      • と書くのと、紛らわしい
    • また、ガンマ関数は正の値だけれど、どんな値をとるか皆目見当がつかないときにBUGSでは
## winBUGS
dgamma(0.0001,0.0001)
      • を使うのがデフォルト(0.0001は『小さい値』のこと)だが、これは、
## winBUGS
dgamma(alpha,beta)
      • として\frac{\beta^{\alpha}}{\Gamma(\alpha)}x^{\alpha-1}e^{-\beta x}という密度関数に用いられるshapeパラメタとrateパラメタによる指定であり
      • それは、平均\frac{\alpha}{\beta}=1で、分散\frac{\alpha}{\beta^2} =とても大、という分布を指定していることになる
      • これのR対応は
#### R
dgamma(x,shape=alpha,rate=beta)
      • Rのdgamma()などでは、紛れの内容にshape,rateを指定して使っておくのが無難(いろんなところで何かしら紛らわしい説明などがあるので)。ここでのshape,rate,scaleパラメタはWiki(英語版)の記事に揃えた(こちら)