开始使用免费开始使用

回归先验

令 \(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 个样本。将输出分别赋给 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 = ___)) + 
    ___()
编辑并运行代码