SSブログ

[stan]階層ベイズモデルの書き方 その1 切片項だけのモデル [データサイエンス、統計モデル]

通常、階層ベイズモデルといえば、

y = β0i + β1i*x1 + ... + e
β0i = α01*w1 + α02*w2 + ...
β1i = α11*w1 + α12*w2 + ...

といった構造を持つ。

stanの本とかをみても、この辺りの書き方があまり載っていなかったので、備忘録として書いておきます。

まずは、階層部分の変数を持たずに、シンプルに切片項だけのモデルの場合。
y = β0i + β1i*x1 + ... + e

β0i, β1iは、個人ごとに異質性を持つけれど、それを回帰する階層部分の変数がない場合の書き方になります。
こちらはいろいろな本に載っているので、書かなくても良いのですが。w


model {
// 階層モデル
  for (k in 1:K) {
    b0[k] ~ normal(a0, s_b0);
    b1[k] ~ normal(a1, s_b1);
  }
// 観測モデル
  for (n in 1:N)
    y[n] ~ normal(b0[id[n]] + b1[id[n]]*x1[n], s_Y);
}


nice!(0)  コメント(0) 
共通テーマ:学問

nice! 0

コメント 0