开始使用免费开始使用

模拟 beta 后验分布

在接下来的几个练习中,您将使用上一个视频中定义的 simulate_beta_posterior() 函数。本练习中,您将通过亲自执行该函数所做的计算,来理解它的工作原理。

给您提供了一个包含 10 次抛硬币结果的列表 tosses,其中 1 表示正面,0 表示反面,并将正面视为"成功"。为了模拟抛出正面的后验概率,您将使用 beta 先验。回顾一下,如果先验为 $Beta(a, b)$,则后验为 $Beta(x, y)$,其中:

\(x = \text{NumberOfHeads} + a\)

\(y = \text{NumberOfTosses} - \text{NumberOfHeads} + b\)

本练习是课程的一部分

Python 中的贝叶斯数据分析

查看课程

交互式实操练习

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

# Set prior parameters and calculate number of successes
beta_prior_a = ____
beta_prior_b = ____
num_successes = np.sum(____)

# Generate 10000 posterior draws
posterior_draws = np.random.beta(
  ____ + ____, 
  ____ - ____ + ____, 
  10000)  

# Plot density of posterior_draws
sns.kdeplot(posterior_draws, shade=True)
plt.show()
编辑并运行代码