베타 사후분포 시뮬레이션
다음 몇 가지 연습 문제에서는 지난 영상에서 정의한 simulate_beta_posterior() 함수를 사용해 보겠습니다. 이 연습에서는 함수가 수행하는 계산을 직접 해 보면서 동작을 이해해 볼 거예요.
앞면을 1, 뒷면을 0으로 표시한 동전 던지기 10회의 목록 tosses가 주어지며, 앞면을 "성공"으로 정의합니다. 앞면이 나올 확률의 사후분포를 시뮬레이션하기 위해 베타 사전분포를 사용할 거예요. 사전분포가 $Beta(a, b)$라면, 사후분포는 $Beta(x, y)$이고 다음과 같습니다:
\(x = \text{NumberOfHeads} + a\)
\(y = \text{NumberOfTosses} - \text{NumberOfHeads} + b\)
이 연습은 강의의 일부입니다
Python으로 배우는 Bayesian 데이터 분석
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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()