실습 · 연습문제 1개
Beta 사전분포의 갱신과 사후예측분포 beta-binomial-update
동전의 앞면 확률 에 사전분포 를 둔다. 던진 결과(1 = 앞면, 0 = 뒷면)를 관측하면 사후분포는 다시 Beta 분포다. 두 함수를 완성한다.
-
update(a, b, tosses): 사전 와 관측tosses(0과 1로 된 배열)로 사후분포의 파라미터(a_post, b_post)를 반환한다. 관측이 없으면 사전분포를 그대로 반환한다. -
predictive_pmf(a, b, m): 일 때 앞으로 번 던져 앞면이 번 나올 확률을 길이 인 배열로 반환한다(Beta-Binomial 분포).
테스트는 다음을 확인한다.
- 하나씩 갱신한 결과와 한꺼번에 갱신한 결과가 같다.
- 예측분포의 합이 1이고, 평균이 다.
- 이면 예측분포가 다.
- 예측분포가 를 사후평균으로 고정한 이항분포보다 넓다.
힌트: 적분을 정리하면 이다. 는 베타 함수이고, 큰 수에서도 안정적으로 계산하려면 math.lgamma로 로그 공간에서 계산한다. scipy.stats.betabinom으로 답을 확인해 볼 수 있다.