시작하기무료로 시작하기

베타 사후분포 시뮬레이션

다음 몇 가지 연습 문제에서는 지난 영상에서 정의한 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()
코드 편집 및 실행