จำลอง Beta Posterior
ในแบบฝึกหัดชุดถัดไป จะได้ใช้ฟังก์ชัน simulate_beta_posterior() ที่เห็นในวิดีโอที่ผ่านมา แบบฝึกหัดนี้จะช่วยให้เข้าใจการทำงานของฟังก์ชันนั้น ด้วยการคำนวณด้วยตนเองทีละขั้นตอน
มีรายการการโยนเหรียญสิบครั้ง ชื่อ tosses โดยที่ 1 หมายถึงหัว และ 0 หมายถึงก้อย และนิยามให้หัวคือ "ความสำเร็จ" หากต้องการจำลองความน่าจะเป็น posterior ของการออกหัว จะใช้ beta prior โดยถ้า prior คือ \(Beta(a, b)\) แล้ว posterior จะเป็น \(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()