绘制 Poisson 回归模型
回顾针对体量(volume)\(Y\)i 的贝叶斯 Poisson 回归模型,其似然关于工作日状态 \(X\)i 与气温 \(Z\)i 的结构:\(Y\)i \(\sim Pois(l\)i),其中
- \(log(l\)i\() \; = a + b \; X\)i \(+ c \; Z\)i;因此
- \(l\)i\( \; = exp(a + b \; X\)i \(+ c \; Z\)i\()\)
您对模型后验的 RJAGS 10,000 次迭代模拟 poisson_sim 已在工作区中,同时还有马尔可夫链输出的数据框:
> head(poisson_chains, 2)
a b.1. b.2. c
1 5.019807 0 -0.1222143 0.01405269
2 5.018642 0 -0.1217608 0.01407691
您将使用这些结果来绘制后验 Poisson 回归趋势。这些非线性趋势可以通过在 ggplot() 中使用 stat_function() 来添加。例如,指定 fun = function(x){x^2} 将返回一条二次趋势线。
本练习是课程的一部分
使用 RJAGS 的贝叶斯建模
练习说明
请构建一个以 hightemp 为横轴、volume 为纵轴的散点图,包含以下要点:
- 使用
color区分工作日与周末。 - 叠加一条
red曲线,表示周末情形下volume与hightemp线性关系的后验「均值」Poisson 回归趋势 \(l\)i:l = exp(a + c Z)。 - 叠加一条
turquoise3曲线,表示工作日情形下volume与hightemp线性关系的后验「均值」Poisson 回归趋势 \(l\)i:l = exp((a + b.2.) + c Z)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Plot the posterior mean regression models
ggplot(___, aes(x = ___, y = ___, color = ___)) +
geom_point() +
stat_function(fun = function(x){___(mean(___) + mean(___) * x)}, color = "red") +
stat_function(fun = function(x){___(mean(___) + mean(___) + mean(___) * x)}, color = "turquoise3")