迴歸先驗
令 \(Y\)i 為第 \(i\) 位受試者的體重(公斤)。過去研究顯示,體重與身高 \(X\)i(公分)呈線性關係。對於任一相同身高 \(X\)i 的成人,其平均體重 \(m\)i 可寫為 \(m\)i \(= a + b X\)i。但身高並非完美的體重預測因子——個體會偏離整體趨勢。因此,合理的假設是 \(Y\)i 以「殘差標準差」\(s\) 為尺度,繞著 \(m\)i 呈常態分配:\(Y\)i \(\sim N(m\)i, $s^2)$。
注意此以身高解釋體重的模型包含 3 個參數:截距 $a$、斜率 $b$、以及標準差 $s$。在你的貝氏分析第一步,你將模擬下列參數的先驗模型:$a \sim N(0, 200^2)$、$b \sim N(1, 0.5^2)$,以及 $s \sim Unif(0, 20)$。
本練習屬於課程
使用 RJAGS 的貝氏建模
練習說明
- 從 $a$、$b$、與 \(s\) 的先驗各抽樣 10,000 次。將輸出分別指定給
a、b、與s。接著把它們與set = 1:10000(抽樣次序指標)一起合併成samples資料框。 - 分別為
a、b、與s的抽樣結果各建立一張機率密度圖。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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 = ___)) +
___()