본문으로 바로가기



베이지안 통계 with R - 2. 이항분포와 베타분포의 궁합! 켤레사전분포(Conjugate prior dist.)에 대하여

category Statistics/Bayesian stat. 2017.07.23 14:00
베이지안 통계 with R - 2. 이항분포와 베타분포의 궁합! 켤레사전분포(Conjugate prior dist.)에 대하여

이전 포스팅에서 우리는 베타분포에 관하여 살펴보았다. 오늘은 이 베타분포와 궁합이 잘 맞는 이항분포와의 관계에 대하여 알아보고자 한다. 이번 포스팅은 필자가 다니는 학교의 Cowels 교수님이 쓴 책(Applied Bayesian statistics: with R and OpenBUGS examples)을 읽고 작성하게 되었다.

우리 둘리 진짜 잘한다구요!

baseball

둘리는 이제 막 중학교 야구부에 입단한 야구 꿈나무이다. 이제 초등학교 6학년을 마친 두치의 지난 시즌의 성적은 100번의 타석에 들어섰고, 그 중 40번을 출루하였다.

두치가 속한 중학교의 야구 감독로 있는 길동이는 이제 막 들어온 두치의 중학교 리그의 적응 가능성을 예상하기 위해서 정규 리그가 시작하기 전 시범 경기에 두치를 출전시키기로 하였다. 길동이는 여러 해에 걸쳐 신입생들을 관찰한 결과, 초등리그와 중학리그의 큰 차이를 알기 때문에 선수들의 초등학교에서의 성적을 별로 신뢰하지 않는 편이다.

한편, 둘리 아빠는 이번에 새로 중학교에 들어가는 두치에게 거는 기대가 크다. 초등학교를 졸업하고, 둘리는 매일매일 훈련을 빠지지 않고 열심히 했고, 실력도 점점 늘어가는게 눈이 보이기 때문이다.

어느날 학부모 상담을 마친 둘리 아빠는 기분이 썩 좋지만은 않았다. 왜냐하면 둘리의 야구부 감독인 길동이가 한 말 때문이었다.

“둘리가 처음 중학교 리그에 적응하는데에는 시간이 좀 필요할 겁니다. 초등 리그보다 중등 리그의 수준이 훨씬 높기 때문에 둘리의 초등학생때의 기록인 40%보다는 좀 못미치는 30% 정도쯤의 출루율이 나올것이라 생각하고 있습니다.”

둘리 아빠는 길동이가 아직 둘리에 대하여 잘 알지 못해서 그런 말을 한다고 생각했다.

‘지난 방학동안 둘리는 얼마나 많은 배트를 휘둘렀던가? 우리 둘리는 중학 리그에서도 충분히 초등학교에서의 출루율, 아니 그 이상의 출루율을 달성할 수 있을거야!’

길동이와 둘리 아빠의 사전분포

위의 이야기에서 길동이와 둘리아빠는 둘리의 출루율에 대한 각기 다른 사전분포를 가지고 있다. 길동이의 경우는 둘리의 중학 리그에서의 출루율을 30% 근처라고 예상하고 있다. 반면 둘리 아빠의 경우는 둘리의 출루율을 초등 리그에서의 출루율 40% 혹은 그 이상일 것이라 생각한다. 이 둘의 둘리의 출루율에 대한 사전분포를 베이지안에서는 보통 베타 분포를 사용해서 나타낸다. 이러한 이유는 연속함수 이면서 알파와 베타를 조정하여 0에서 1까지의 값을 갖는 여러가지 모양을 만들어낼 수 있는 베타분포의 특징 때문이다.

  • 베타분포 pdf

\[ p\left(\theta;\alpha,\beta\right)=\begin{cases} \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha,\beta)}\! & \theta\in\left[0,1\right]\\ 0 & otherwise \end{cases} \]

필자의 경우, 길동이와 둘리 아빠의 사전분포를 다음과 같은 모수를 가진 베타분포를 따른다고 가정하였다.

-둘리 아빠의 사전분포

\[ p_{D}\left(\theta;\alpha=9,\beta=11\right)=\begin{cases} \frac{\theta^{9-1}(1-\theta)^{11-1}}{B(9,11)}\! & \theta\in\left[0,1\right]\\ 0 & otherwise \end{cases} \]

-길동이의 사전분포

\[ p_{G}\left(\theta;\alpha=6,\beta=12\right)=\begin{cases} \frac{\theta^{6-1}(1-\theta)^{12-1}}{B(6,12)}\! & \theta\in\left[0,1\right]\\ 0 & otherwise \end{cases} \]

이 두 분포를 그래프에 나타내어보면 다음과 같다.

즉, 위와 같이 둘리아빠와 길동이의 둘리의 출루율에 대한 사전분포를 베타분포로 설정하였다는 것은 다음과 같은 의미를 갖는다.

  1. 둘리 아빠와 길동이 둘 다 둘리의 중학 출루율에 대한 확신은 없다.
  2. 하지만 각자의 기존 경험, 정보에 비추어보아 길동이의 경우는 둘리의 중학 리그 실제 출루율이 0.3 근처일 확률이 가장 높다고 생각한다. 반면 둘리 아빠의 경우는 실제 출루율이 0.4 근처일 확률이 가장 높다고 믿는다.

둘리의 시범경기 데이터 모델링

둘리는 몇차례의 시범 경기를 통하여 총 15차례 타석에 들어섰다. 이 중 7번을 출루하는데에 성공하였다. 우리는 이 데이터를 바탕으로 모델을 설정할 수 있는데, 둘리의 진짜 출루율을 성공 확률로 보고, 총 타석에 들어선 횟수를 \(n\), 출루를 한 횟수 \(y\)를 이항분포를 따르는 확률변수로 생각할 수 있다.

\[ \begin{align*} Y|\Theta=\theta & \sim Bin\left(n,\theta\right)\\ & \sim p\left(y|\theta\right)=\left(\begin{array}{c} n\\ y \end{array}\right)\theta^{y}\left(1-\theta\right)^{n-y} \end{align*} \]

따라서 둘리의 출루율을 \(\theta\)라고 할 경우, 15번의 타석에서 7번을 출루할 확률은 다음과 같다.

\[ Pr\left(Y=7|\theta\right)=\left(\begin{array}{c} 15\\ 7 \end{array}\right)\theta^{7}\left(1-\theta\right)^{8} \]

사후 분포(posterior dist.) 구하기와 켤레분포(conjugate dist.)의 개념

(이 부분이 이해가 잘 안되시는 독자는 이산형 사전 분포 포스팅을 읽기를 추천합니다.)

따라서 베이즈 정리에 따른 사후 분포는 다음과 같이 구할 수 있다.

\[ \begin{align*} p\left(\theta|Y=y\right) & =\frac{p\left(Y=y|\theta\right)p\left(\theta\right)}{p\left(Y=y\right)}\\ & =\frac{p\left(Y=y|\theta\right)p\left(\theta\right)}{\int p\left(y,\theta\right)d\theta}\\ \tag{1} & =\frac{p\left(Y=y|\theta\right)p\left(\theta\right)}{\int p\left(Y=y|\theta\right)p\left(\theta\right)d\theta} \end{align*} \]

위의 식에서 첫번째 등호는 베이즈 정리에 의하여 성립하고, 두번째 줄은 결합분포함수의 성질에 의하여 성립하게 된다. 마지막 등호의 경우는 \(P(A,B)=P(A|B)P(B)\)식에 의하여 성립한다.

앞에서 설정한 사전분포와 조건부 확률분포를 이용하여 식 (1)의 분자 부분은 다음과 같이 나타낼 수 있다.

\[ \begin{align*} p\left(\theta,y\right) & =\left(\begin{array}{c} n\\ y \end{array}\right)\theta^{y}\left(1-\theta\right)^{n-y}\frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha,\beta)}\\ & =\left(\begin{array}{c} n\\ y \end{array}\right)\frac{1}{B(\alpha,\beta)}\theta^{\left(y+\alpha\right)-1}\left(1-\theta\right)^{\left(n-y+\beta\right)-1} \end{align*} \]

식 (1)의 분모부분의 경우는 다음과 같다.

\[ \begin{align*} p\left(y\right) & =\int_{-\infty}^{\infty}p\left(y|\theta\right)p\left(\theta\right)d\theta\\ & =\int_{0}^{1}p\left(y|\theta\right)p\left(\theta\right)d\theta\\ & =\int_{0}^{1}\left(\begin{array}{c} n\\ y \end{array}\right)\theta^{y}\left(1-\theta\right)^{n-y}\frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha,\beta)}d\theta\\ & =\left(\begin{array}{c} n\\ y \end{array}\right)\frac{1}{B(\alpha,\beta)}\int_{0}^{1}\theta^{\left(y+\alpha\right)-1}\left(1-\theta\right)^{\left(n-y+\beta\right)-1}d\theta\\ & =\left(\begin{array}{c} n\\ y \end{array}\right)\frac{B(\alpha+y,\beta+n-y)}{B(\alpha,\beta)} \end{align*} \]

마지막 등호는 베타분포 모수 \(y+\alpha\), \(\beta + n - y\)의 확률밀도함수를 적분하면 1이 된다는 것을 이용한 것이다. 따라서 식 (1)을 위의 두 결과를 종합하여 계산하면 다음과 같이 사후분포를 구할 수 있다.

\[ \begin{align*} p\left(\theta|Y=y\right) & =\frac{\left(\begin{array}{c} n\\ y \end{array}\right)\frac{1}{B(\alpha,\beta)}\theta^{\left(y+\alpha\right)-1}\left(1-\theta\right)^{\left(n-y+\beta\right)-1}}{\left(\begin{array}{c} n\\ y \end{array}\right)\frac{B(\alpha+y,\beta+n-y)}{B(\alpha,\beta)}}\\ & =\frac{1}{B(\alpha+y,\beta+n-y)}\theta^{\left(y+\alpha\right)-1}\left(1-\theta\right)^{\left(n-y+\beta\right)-1}\\ & \sim Beta\left(\alpha+y,\beta+n-y\right) \end{align*} \]

위의 결과를 통하여 사후 분포 역시 우리가 사전 분포 썼던 베타분포를 따른다는 것을 알 수 있다. 이것은 이항분포의 pdf와 베타분포의 pdf의 형태 때문이라는 알 수 있는데, 이와 같이 사전분포와 사후분포가 같은 분포의 형태를 띄도록 만들어지는 궁합이 잘맞는 분포들을 켤레분포라고 부른다. 우리가 설정한 사전분포인 베타분포와 데이터 발생 분포인 이항분포의 조합으로 만들어지는 사후분포는 베타분포의 모수가 사전분포의 \(\alpha\)에 성공횟수를 더하고, \(\beta\)에는 실패횟수를 더하여 업데이트 된 베타분포가 된다.

길동이와 둘리아빠의 사후분포

시범경기를 마친 후 길동이와 둘리아빠의 심경의 변화는 어떻게 되었을까? 15번 중 7번이라는 좋은 시범경기 성적은 길동이를 놀라게하기 충분했을 것이고, 둘리 아빠는 둘리에대한 믿음이 더 강해졌을 것이라 생각한다. 둘의 사후분포를 그래프로 그려 결과를 확인해보자.

길동의 사후분포

먼저 길동이의 사전분포와 업데이트된 사후분포를 같이 그려보면 다음과 같다.

위의 길동이의 사전 분포와 사후 분포의 변화를 통해서 다음과 같은 두 가지를 관찰할 수 있다.

  1. 사전분포의 최고점을 만드는 모수 \(\theta\)의 값이 0.31에서 0.39로 이동하였다. 이것은 길동이가 생각하는 둘리의 출루율에 대한 의견이 바뀌었음을 의미한다. 즉, 둘리가 중등 리그에서도 초등 리그의 성적을 유지할 것이라 생각하는 쪽으로 바뀐 것이다.

  2. 사전분포의 최고점보다 사후분포의 최고점의 높이가 높다. 이는 곧 사후분포의 분산이 사전분포의 분산보다 더 작다는 의미인다. 이것이 의미하는 것은 길동이가 둘리의 출루율에 대한 확신의 정도가 높아졌음을 의미한다.

둘리 아빠의 사후분포

둘리 아빠의 사전분포와 업데이트된 사후분포를 같이 그려보면 다음과 같다.

둘리 아빠의 경우는 자신이 둘리에게 가지고 있던 믿음이 좀 더 확실해졌다는 것을 알 수 있다. 이유는 사후분포와 사전분포의 최고점의 높이가 거의 비슷하지만, 사후 분포의 분산이 좀 더 작아졌기 때문이다.

사후분포의 기대값과 최빈값

\[ \Theta\sim B\left(\alpha,\beta\right) \]

\(\alpha\)\(\beta\)를 모수로 하는 베타분포의 기대값과 최빈값의 공식은 다음과 같다.

\[ \operatorname{E}[\Theta] = \frac{\alpha}{\alpha+\beta}\! \]

\[ Mode[\Theta]=\frac{\alpha-1}{\alpha+\beta-2},\mbox{ for α, β >1} \]

따라서 우리가 구한 베타 사후분포의 기대값은 다음과 같다. 아래의 식은 사후분포의 기대값이 사전분포의 기대값과 이항분포 모수 p에 대한 MLE인 표본평균과의 weighted average로 나타내어 진다는 것을 보여준다.

\[ \begin{align*} \mathbb{E}_{post}\left[\Theta|Y=y\right] & =\frac{\alpha+y}{\alpha+\beta+n}\\ & =\frac{\alpha+\beta}{\alpha+\beta+n}\times\frac{\alpha}{\alpha+\beta}+\frac{n}{\alpha+\beta+n}\times\frac{y}{n}\\ & =p^{\star}\frac{\alpha}{\alpha+\beta}+\left(1-p^{\star}\right)\frac{y}{n} \end{align*} \]

즉, 위의 식에 따르면 표본의 수 n이 커지면 커질수록 사후분포의 기대값은 MLE로 수렴한다. 이것은 데이터가 늘어나면 늘어날 수록 모수에 대한 추정이 각 개인의 사전부포에 의존하는 정도가 점점 줄어드는 것을 의미한다. 따라서 둘리에 대한 정보가 없을 경우에 둘리 아빠와 길동의 사전분포가 달랐겠지만, 둘리가 중학리그의 첫시즌을 모두 마친 다음에는 둘리 아빠와 길동의 둘리 출루율에 대한 사후분포는 거의 같아 질 것이라 예상할 수 있다.

둘리아빠와 길동의 사후분포

둘리가 중학리그의 첫 시즌을 100번의 타석에서 45번의 출루를 했다고 가정하였을 경우, 길동와 둘리아빠의 사후분포는 각각 \(B(\alpha^\star = 13+45, \beta^\star =20+55)\), \(B(\alpha^\star = 16+45, \beta^\star = 19+55)\)이 될 것이다. 이 사후 분포를 같이 그려보면 다음과 같다.


Reference

[1] Cowles, Mary Kathryn. Applied Bayesian statistics: with R and OpenBUGS examples. Vol. 98. Springer Science & Business Media, 2013.


SHARE TO



티스토리 툴바