回归先验
令 \(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)$。
请注意在用身高建模体重时有 3 个参数:截距 $a$、斜率 \(b\) 和标准差 $s$。在贝叶斯分析的第 1 步,您将为这些参数模拟如下先验模型:$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 = ___)) +
___()