开始使用免费开始使用

模拟后验抽样

您刚决定为疗效率使用 Beta(5, 2) 先验。您也使用二项分布来建模数据(治愈一名病人视为"成功",还记得吗?)。由于 beta 分布是二项似然的共轭先验,您可以直接模拟后验分布!

您知道,如果先验是 $Beta(a, b)$,则后验是 $Beta(x, y)$,其中:

$x = NumberOfSuccesses + a$,

$y = NumberOfObservations - NumberOfSuccesses + b$。

您能模拟后验分布吗?回顾一下,您一共拥有 22 名患者的数据,其中 19 人已被治愈。numpyseaborn 已分别以 npsns 导入。

本练习是课程的一部分

Python 中的贝叶斯数据分析

查看课程

练习说明

  • 将接受治疗的患者数和被治愈的患者数分别赋给 num_patients_treatednum_patients_cured
  • 使用合适的 numpy 函数从后验分布中采样,并将结果赋给 posterior_draws
  • 使用合适的 seaborn 函数绘制后验分布。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Define the number of patients treated and cured
num_patients_treated = ____
num_patients_cured = ____

# Simulate 10000 draws from the posterior distribuition
posterior_draws = ____(____ + ____, ____ - ____ + ____, 10000)

# Plot the posterior distribution
____(____, shade=True)
plt.show()
编辑并运行代码