始める無料で始める

回帰モデルの事前分布

\(Y\)i を対象者 \(i\) の体重(kg)とします。過去の研究から、体重は身長 \(X\)i(cm)と線形の関係があることが示されています。身長 \(X\)i が同じ成人の平均体重 \(m\)i は、\(m\)i \(= a + b X\)i と表せます。ただし、身長は体重の完全な予測変数ではなく、個人によってトレンドからのばらつきがあります。そこで、\(Y\)i残差標準偏差 \(s\) を持つ正規分布に従い、平均 \(m\)i の周りに分布すると仮定するのが妥当です:\(Y\)i \(\sim N(m\)i, $s^2)$。

身長による体重モデルには、切片 $a$、傾き $b$、標準偏差 \(s\) の 3 つのパラメータがあります。ベイズ分析の第一ステップとして、各パラメータに対する以下の事前分布をシミュレートします:$a \sim N(0, 200^2)$、$b \sim N(1, 0.5^2)$、$s \sim Unif(0, 20)$。

この演習はコースの一部です

RJAGS によるベイズモデリング

コースを見る

演習の手順

  • $a$、$b$、\(s\) それぞれの事前分布から 10,000 件のサンプルを抽出し、結果を abs に代入しましょう。これらはその後、抽出番号を示す set = 1:10000 とともに samples データフレームにまとめられます。
  • abs の各サンプルについて、それぞれ個別の密度プロットを作成しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Take 10000 samples from the a, b, & s priors
a <- ___
b <- ___
s <- ___

# Store samples in a data frame
samples <- data.frame(set = 1:10000, a, b, s)

# Construct density plots of the prior samples    
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
コードを編集して実行