模擬 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\)
本練習屬於課程
Bayesian Data Analysis in 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()