1. 学ぶ
  2. /
  3. コース
  4. /
  5. RJAGS によるベイズモデリング

Connected

演習

事後予測の計算

ここまでは、身長 \(X = 180\) の成人における体重 \(Y\) の事後トレンド \(m\)180 \(= a + b * 180\) を確認しました。データフレーム weight_chains には、\(a\) と \(b\) の対応する値から計算された \(m\)180 の事後妥当値が 100,000 件格納されています。

> head(weight_chains, 2)
          a        b        s iter     m_180
1 -113.9029 1.072505 8.772007    1  79.14803
2 -115.0644 1.077914 8.986393    2  78.96014

トレンドだけでなく、身長 180 cm の特定の成人の体重を予測したい場合はどうすればよいでしょうか。実は、それも可能です。そのためには、次のモデルで表されるトレンドからの個人差を考慮する必要があります。

\(Y\)180 \(\sim N(m\)180\(, s^2)\)

このモデルを使って、weight_chains 内の各事後妥当パラメータセットのもとで体重の予測値をシミュレートしましょう。

指示

100 XP
  • rnorm() を使って、weight_chains の 1 行目のパラメータ設定のもとで体重の予測値を 1 つシミュレートしてください。
  • 同様に、weight_chains の 2 行目のパラメータ設定を使って繰り返してください。
  • weight_chains 内の 100,000 件のパラメータ設定それぞれについて、体重の予測値を 1 つずつシミュレートしてください。結果は weight_chains の新しい変数 Y_180 として保存してください。
  • weight_chains のパラメータ値と予測値の最初の 6 行を表示してください。