開始使用免費開始

迴歸先驗

令 \(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 次。將輸出分別指定給 ab、與 s。接著把它們與 set = 1:10000(抽樣次序指標)一起合併成 samples 資料框。
  • 分別為 ab、與 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 = ___)) + 
    ___()
編輯並執行程式碼