開始使用免費開始

模擬 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()
編輯並執行程式碼