1 이 포스트의 위치 — Ch.1 심화의 마지막 조각
§ 1.1~1.4 가 문법, § 1.5~1.8 이 의미와 도구 상자 였다면, 이 포스트의 § 1.9~1.12 는 “실행 · 철학 · 검증” 이다. 베이즈 분석을 실제로 돌리는 데 필요한 계산 전략 (§ 1.9), 응용 분석에서 Gelman 이 반복 강조하는 아홉 주제 (§ 1.10), 그리고 그 모든 것을 익히는 데 Ch.1 이 남긴 연습문제 (§ 1.12) 의 풀이를 함께 다룬다.
“베이즈 계산의 통화는 사후 표본이고, 응용 베이즈의 정체성은 아홉 가지 실천 원칙에 있으며, 연습문제는 이 원칙들을 몸에 새기는 훈련이다.”
Part III 의 MCMC 엔진, Part IV·V 의 모델 전개, 그리고 지속적 모델 점검 문화가 모두 이 세 절에 뿌리를 둔다 (Gelman et al., 2013, § 1.9·1.10·1.12).
2 § 1.9 계산과 소프트웨어
2.1 베이즈 계산의 핵심 — 시뮬레이션
Gelman 은 § 1.9 의 첫 문장에서 베이즈 계산의 중심 도구는 시뮬레이션 이라고 선언한다.
“시뮬레이션은 많은 응용 베이즈 분석의 중심을 이루는데, 확률 분포에서 표본을 생성하는 것이 밀도 함수를 명시적으로 적분할 수 없을 때조차 상대적으로 쉽기 때문이다.” (교재 원문)
이 선언의 함의.
- 적분을 못 풀어도 된다 — 복잡한 사후분포의 평균·분위수·확률을 적분 없이 표본으로 근사
- 다차원에서 강력하다 — 차원이 높아져도 표본 기반 요약이 가능
- 코드 중심 워크플로 — 분석이 “수식 풀이” 가 아니라 “표본 생성과 조작” 이 된다
2.2 밀도 함수와 표본 히스토그램의 쌍대성
“충분히 큰 표본이 주어지면 히스토그램이 밀도에 대해 실질적으로 완전한 정보 를 제공할 수 있다.”
\(S\) 개 표본 \(\theta^{(1)}, \ldots, \theta^{(S)} \sim p(\theta)\) 로부터 분포의 어떤 측면이든 추정 가능.
| 요약량 | 추정 |
|---|---|
| 평균 \(E[\theta]\) | \(\bar{\theta} = \frac{1}{S} \sum_s \theta^{(s)}\) |
| 분산 \(\text{var}(\theta)\) | \(\frac{1}{S-1} \sum_s (\theta^{(s)} - \bar{\theta})^2\) |
| 95분위수 | 정렬된 표본의 \((0.95 S)\) 번째 순서 통계량 |
| \(\Pr(\theta > c)\) | \(\theta^{(s)} > c\) 인 \(s\) 의 비율 |
| \(E[h(\theta)]\) | \(\frac{1}{S} \sum_s h(\theta^{(s)})\) |
95 분위수를 추정할 때 주변 순위의 불확실성이 Monte Carlo 오차를 지배한다. \(S = 1000\) 이면 그 주변에 약 \(\sqrt{S \cdot 0.05 \cdot 0.95} \approx 7\) 개 표본이 분포하므로 표준오차가 분위수 간격의 수분의 1 수준. 5% 분위수·95% 분위수까지는 이 정도로 충분하다.
그러나 0.5% 분위수 (99% 구간의 끝) 이나 \(\Pr(\theta > c) < 0.01\) 같은 극단 요약은 \(S = 10{,}000\) 이상이 필요하다. 교재는 Section 10.5 에서 이를 체계적으로 다룬다.
2.3 시뮬레이션의 부수적 이점
“극도로 크거나 작은 시뮬레이션 값은 종종 모델 명세나 매개변수화의 문제를 표시 한다 — 해석적 형태로 추정하면 놓칠 수 있는 문제.”
사후에서 뽑힌 \(\theta^{(s)}\) 가 비현실적이면 모델이 잘못된 것이다. 이것이 Part II Ch.6 사후 예측 점검의 직접적 동기.
2.4 역 CDF (inverse cdf) 표본 추출
가장 기본적인 시뮬레이션 방법. 일변수 분포 \(p(v)\) 의 누적분포함수.
\[ F(v_*) = \Pr(v \leq v_*) = \begin{cases} \sum_{v \leq v_*} p(v) & v \text{ 이산} \\ \int_{-\infty}^{v_*} p(v) \, dv & v \text{ 연속} \end{cases} \]
알고리즘 — \(U \sim \text{Uniform}(0, 1)\) 을 뽑고 \(v = F^{-1}(U)\).
지수 분포 예시. \(F(v) = 1 - e^{-\lambda v}\), 역함수 \(F^{-1}(U) = -\log(1 - U) / \lambda\). \(1 - U\) 도 Uniform 이므로 간단히 \(-\log(U) / \lambda\).
\(U\) 를 0~1 에 균등 분포시키고, 분포가 두꺼운 구간 (CDF 의 기울기가 가파른 구간) 에 더 많이 떨어지도록 값을 맵핑한다. 이산 분포에서도 CDF 의 점프 높이에 비례한 확률이 할당된다. 이 방법이 Part III Ch.11 Metropolis-Hastings 의 제안 분포 샘플링 의 밑바닥 엔진이다.
2.5 사후 · 사후 예측 시뮬레이션 표
실무 베이즈 분석은 사후분포 \(p(\theta \mid y)\) 와 사후 예측 분포 \(p(\tilde{y} \mid y)\) 에서의 표본을 생성한다. 결과는 다음과 같은 \(S \times (k + n)\) 표로 저장.
| 시뮬 \(s\) | \(\theta_1^{(s)}\) | \(\cdots\) | \(\theta_k^{(s)}\) | \(\tilde{y}_1^{(s)}\) | \(\cdots\) | \(\tilde{y}_n^{(s)}\) |
|---|---|---|---|---|---|---|
| 1 | \(\theta_1^{(1)}\) | \(\cdots\) | \(\theta_k^{(1)}\) | \(\tilde{y}_1^{(1)}\) | \(\cdots\) | \(\tilde{y}_n^{(1)}\) |
| 2 | \(\theta_1^{(2)}\) | \(\cdots\) | \(\theta_k^{(2)}\) | \(\tilde{y}_1^{(2)}\) | \(\cdots\) | \(\tilde{y}_n^{(2)}\) |
| \(\vdots\) | ||||||
| \(S\) | \(\theta_1^{(S)}\) | \(\cdots\) | \(\theta_k^{(S)}\) | \(\tilde{y}_1^{(S)}\) | \(\cdots\) | \(\tilde{y}_n^{(S)}\) |
각 행이 한 번의 “세계” 의 샘플 — 사후분포가 그리는 \(2^{}\) 그 세계가 \(S\) 번 샘플된 결과다.
2.6 표 하나로 모든 질문에 답한다
이 표만 있으면 모든 사후 요약 을 후처리로 계산한다.
- 유도량의 사후: \(\theta_1 / \theta_3\) 의 사후분포? → 새 열 \(\theta_1^{(s)} / \theta_3^{(s)}\) 추가하면 끝
- 복잡한 사건의 사후 확률: \(\Pr(\tilde{y}_1 + \tilde{y}_2 > e^{\theta_1} \mid y)\)? → 해당 조건 만족하는 \(s\) 의 비율
- 신용 구간: 95% 중앙 구간 \([a, b]\)? → \(\theta_j^{(s)}\) 의 2.5·97.5 분위수 (S=1000 이면 25 번째·976 번째 순서 통계량)
“우리는 보통 추론을 50% 와 95% 구간 으로 요약한다.” (교재)
2.7 계산 철학 — 점진적 복잡도
“우리의 일반적 계산 접근은 많은 모델을 적합하되, 점진적으로 복잡도를 높이는 것이다. 모델을 작성하고 컴퓨터에 밤새 돌려서 완벽하게 추정하는 전략은 권장하지 않는다.”
권장.
- 단순 모델 빠르게 적합
- 결과 보고 데이터와 비교
- 다음 모델의 시작값으로 이전 추정 사용
- 단계적으로 복잡도 증가
이것이 응용 베이즈의 디버깅 철학 — Ch.6 모델 점검 · Ch.7 확장의 실행 규칙으로 자연스럽게 이어진다.
3 § 1.10 응용 베이즈 통계학 — 아홉 가지 실천 주제
3.1 왜 베이즈를 쓰는가 — 실용적 근거
“베이즈 방법 사용의 실용적 근거는 그 내재적 유연성 이다 — 여러 수준의 무작위성을 통합하고, 다양한 정보 원천을 결합하며, 모든 합리적 불확실성 원천을 추론 요약에 포함할 수 있는 능력.”
세 가지 구체적 이점.
- 복잡한 데이터 구조에서 자연스럽게 스무딩 — 계층적 축약
- 여러 출처 정보 결합 — 사전 정보 + 데이터 + 배경 지식
- 모든 불확실성 요약 한 곳에 — 사후 분포 한 덩어리
3.2 “클라이언트는 이미 베이즈 해석을 쓴다”
Gelman 의 심리적 근거.
“많은 실용 사례에서 클라이언트는 통계학자가 제공한 구간 추정값을 베이즈 구간으로 해석 한다 — 데이터의 증거에 조건부인 미지량의 가능한 값에 대한 확률 진술로.”
빈도주의 신뢰 구간은 엄밀히 “절차의 장기 포괄률” 이어야 하지만, 실제 사용자는 ‘참값이 여기 있을 확률 95%’ 로 해석한다. 이 해석을 직접 정당화하려면 완전 확률 모델 이 필요하고, 그것이 베이즈다.
3.3 접근의 두 강점
“이 관점에서 베이즈 접근의 강점은 — (1) 여러 출처의 정보를 결합할 수 있는 능력 (이로써 실제로는 결론에 더 큰 ‘객관성’ 을 부여하고), (2) 통계 문제의 미지량에 대한 불확실성을 더 포괄적으로 설명 한다는 데 있다.”
3.4 아홉 가지 실천 주제
Gelman 이 교재 전체에 걸쳐 반복하는 응용 베이즈의 특징.
1. 많은 모수를 사용할 의지 (willingness to use many parameters)
빈도주의 교재는 “간명성” 을 덕목으로 가르치지만, 베이즈는 계층 구조 · 정규화 · 부분 풀링 으로 많은 모수를 안전하게 다룬다. 이것이 Part IV 회귀의 자연스러운 확장.
2. 모델의 계층 구조 (hierarchical structuring)
“추정의 부분 풀링을 달성하고, 대체 정보 원천 사이에서 과학적 방식으로 타협하기 위한 본질적 도구.”
계층 구조가 없으면 “완전 풀링 vs 풀링 없음” 의 양극단만 남는다. Ch.5·15 의 핵심.
3. 모델 점검 (model checking)
“모델이 관측·미래 데이터에 내부적으로 적합하는지뿐 아니라, 추정량·예측에 대한 추론을 실질 지식 (substantive knowledge) 과 비교함으로써.”
이 표현이 중요하다 — 통계적 적합도 외에도 도메인 지식과의 대조 가 점검의 일부. Part II Ch.6.
4. 점 추정이 아닌 분포/구간 추정 강조
“단순한 점 추정이 아니라 분포 또는 최소한 구간 추정의 형태로 추론 을 강조.”
빈도주의도 95% 신뢰 구간을 쓰지만, 베이즈는 “사후분포 전체” 를 제시한다. 보고서의 표준 단위가 숫자 하나에서 분포 하나로 이동한다.
5. 시뮬레이션이 계산의 주요 방법
“결합 확률 분포의 현대적 계산 대응물은 무작위로 뽑힌 값들의 집합 이며, 결측 데이터 처리의 핵심 도구는 다중 대체.”
이 한 줄이 § 1.9 의 철학을 다시 확인한다. Ch.18 다중 대체와 연결.
6. 확률 모델을 비베이즈 기법 이해 도구로 사용
“명시적으로 베이즈 모델을 사용하지 않는 데이터 분석 기법도 개선하는 도구 로 확률 모델을 사용하는 것의 중요성.”
Ridge 를 베이즈 해석으로 이해하면 정규화 강도의 의미가 명확해진다. LASSO 를 Laplace 사전으로 볼 때 희소성이 왜 생기는지 드러난다 — Part IV Ch.14.
7. 가능한 한 많은 배경 정보 포함
“데이터가 모델의 모든 변수에 조건부로 무작위 표본으로 간주될 수 있는 목표에 근접 하도록 분석에 가능한 많은 배경 정보를 포함하는 것의 중요성.”
\(X\) 를 충분히 포함하면 교환가능성 가정이 합리화된다 — § 1.2 의 핵심.
8. 견고한 연구 설계
“관심 추정량에 대한 추론이 모델 가정에 견고하도록 설계 하는 것의 중요성.”
베이즈는 모델 의존적이지만, 좋은 설계 (무작위 배정 · 맹검 · 층화) 는 다양한 모델에서 결론이 유사 하도록 보장한다. 설계가 모델 선택의 부담을 줄여준다.
9. 시뮬레이션이 이해와 디버깅 도구
§ 1.9 의 마지막 포인트와 연결 — 시뮬레이션으로 모델의 비현실적 함의 를 찾아내고 수정하는 문화.
이 아홉 가지는 추상적 선언이 아니라 실무 절차. 모델을 많이 만들고 · 계층으로 묶고 · 점검하고 · 분포로 보고하고 · 시뮬레이션으로 돌리고 · 배경 정보를 포함하는 것이 베이즈 분석의 표준 워크플로. Part II~V 는 이 절차를 구체화한 도구 매뉴얼로 읽을 수 있다.
4 § 1.12 선정 연습문제 풀이
Ch.1 의 연습문제는 확률 계산 · 베이즈 업데이트 · 조건부 분산 · 시뮬레이션 을 모두 훈련한다. 주요 다섯 문항을 풀이한다.
4.1 Exercise 1 — 조건부 정규 혼합
문제. \(\theta = 1\) 이면 \(y \sim N(1, \sigma^2)\), \(\theta = 2\) 이면 \(y \sim N(2, \sigma^2)\). \(\Pr(\theta=1) = \Pr(\theta=2) = 0.5\).
(a) \(\sigma = 2\) 일 때 \(y\) 의 주변 밀도.
전확률 공식으로.
\[ p(y) = 0.5 \cdot N(y \mid 1, 4) + 0.5 \cdot N(y \mid 2, 4) \]
두 정규의 평균이 1 만 차이나고 표준편차 2 씩이면 두 모드가 거의 중첩 — 주변은 살짝 폭이 넓은 단일 봉우리 모양 (1.5 에서 정점을 지나는 약간 평평한 종). 모드가 잘 분리되려면 평균 차이가 표준편차의 두세 배 이상 필요.
(b) \(\sigma = 2, y = 1\) 에서 \(\Pr(\theta = 1 \mid y = 1)\).
베이즈 규칙.
\[ \Pr(\theta = 1 \mid y = 1) = \frac{0.5 \cdot N(1 \mid 1, 4)}{0.5 \cdot N(1 \mid 1, 4) + 0.5 \cdot N(1 \mid 2, 4)} \]
정규 밀도 계산.
\[ N(1 \mid 1, 4) = \frac{1}{\sqrt{8\pi}} \exp\left(-\frac{0^2}{8}\right) = \frac{1}{\sqrt{8\pi}} \]
\[ N(1 \mid 2, 4) = \frac{1}{\sqrt{8\pi}} \exp\left(-\frac{1^2}{8}\right) = \frac{1}{\sqrt{8\pi}} \cdot e^{-1/8} \]
정규화 상수 \(1/\sqrt{8\pi}\) 가 약분.
\[ \Pr(\theta = 1 \mid y = 1) = \frac{1}{1 + e^{-1/8}} = \frac{1}{1 + 0.8825} \approx 0.531 \]
해석 — \(y = 1\) 이 \(\theta = 1\) 의 정확한 평균이므로 \(\theta = 1\) 쪽 가능도가 약간 더 높다. 그러나 \(\sigma = 2\) 가 크기에 비해 평균 차 1 이 작아서 업데이트가 미약 (0.5 → 0.531).
(c) \(\sigma\) 변화에 따른 사후 모양.
- \(\sigma \to 0\): 가능도가 매우 뾰족 → 사후가 극단적 (한쪽으로 급격히 이동). \(y = 1\) 에서 \(\Pr(\theta = 1 \mid y) \to 1\)
- \(\sigma \to \infty\): 가능도가 매우 평평 → 사후가 사전과 거의 같음. 사후 \(\to 0.5\)
\(\sigma\) 는 관측의 “정보량” 의 역수 역할. 작은 \(\sigma\) = 선명한 관측 = 강한 사후 업데이트. 큰 \(\sigma\) = 흐린 관측 = 약한 업데이트. 이것이 Ch.2 켤레 사전에서 “관측 정밀도 vs 사전 정밀도” 의 비율로 공식화된다.
4.2 Exercise 3 — 유전 이형접합체 (Lindley, 1965)
설정. 인구에서 눈 색 유전자 쌍 (X 또는 x). xx 는 파란 눈, Xx·xX·XX 는 갈색 눈. 파란 눈 비율 \(p^2\), 이형접합체 비율 \(2p(1-p)\). 이형접합체는 각 자손에 X 유전자를 1/2 확률로 전달.
1부: 갈색 눈 부모의 갈색 눈 자녀 중 이형접합체 비율이 \(2p / (1 + 2p)\) 임을 보여라.
풀이. 갈색 눈 부모의 가능한 유전형 — XX 또는 Xx (xx 는 파란 눈이라 제외).
갈색 눈 부모 중 XX 비율: \(\frac{(1-p)^2}{(1-p)^2 + 2p(1-p)} = \frac{1-p}{1+p}\) 갈색 눈 부모 중 Xx 비율: \(\frac{2p(1-p)}{(1-p)^2 + 2p(1-p)} = \frac{2p}{1+p}\)
두 갈색 눈 부모의 자녀가 갈색 눈일 확률 — 각 부모 유전형 조합을 고려하여 계산. 결과는 자녀 유전형 분포 — XX, Xx, xx 각각의 확률.
각 부모가 독립적으로 유전형 분포를 갖고, 유전자 전달도 독립. 자녀가 XX 를 가질 확률 은 두 부모가 모두 X 를 전달할 확률. 부모 유전형과 전달 확률을 조합하면.
\[ \Pr(\text{자녀 XX}) = \left(\frac{1-p}{1+p} \cdot 1 + \frac{2p}{1+p} \cdot \frac{1}{2}\right)^2 = \left(\frac{1-p+p}{1+p}\right)^2 = \frac{1}{(1+p)^2} \]
(이 계산은 반접사 전달 확률 편의 유도 — 교재에서 상세.)
간단히 — 갈색 눈 자녀가 Xx 일 조건부 확률 \(= 2p / (1 + 2p)\) 가 유도됨. 이는 \(p\) 가 작으면 거의 모든 갈색 눈 자녀가 이형접합체 라는 직관과 부합.
2부: Judy (갈색 눈 부모의 갈색 눈 자녀) 가 이형접합체 남편과 결혼해 \(n\) 명의 갈색 눈 자녀를 낳았다. Judy 가 이형접합체일 사후 확률은?
Judy 의 사전 확률 (갈색 눈 자녀 배경 사전).
\[ \Pr(\text{Judy XX}) = \frac{1}{1 + 2p}, \quad \Pr(\text{Judy Xx}) = \frac{2p}{1 + 2p} \]
남편이 Xx 일 때 자녀가 갈색 눈일 확률.
- Judy XX 인 경우: 자녀는 XX 또는 Xx, 모두 갈색. \(\Pr(\text{갈색} \mid \text{Judy XX}) = 1\)
- Judy Xx 인 경우: 각 자녀가 xx 일 확률 = \(1/2 \cdot 1/2 = 1/4\), 갈색 확률 = 3/4
\(n\) 명 자녀 모두 갈색일 가능도.
\[ L(\text{XX}) = 1^n = 1, \quad L(\text{Xx}) = (3/4)^n \]
사후.
\[ \Pr(\text{Judy Xx} \mid n \text{ 갈색}) = \frac{\frac{2p}{1 + 2p} \cdot (3/4)^n}{\frac{1}{1 + 2p} + \frac{2p}{1 + 2p} \cdot (3/4)^n} = \frac{2p \cdot (3/4)^n}{1 + 2p \cdot (3/4)^n} \]
\(n\) 이 증가할수록 \((3/4)^n \to 0\), 사후 \(\to 0\) — 자녀가 많고 모두 갈색이면 Judy 는 XX 쪽으로 수렴. 직관과 일치.
3부: Judy 의 첫 손주가 파란 눈일 확률.
Judy Xx + 남편 Xx → 자녀 Xx 확률 1/2, XX 확률 1/4, xx 확률 1/4 (하지만 xx 는 파란 눈이니 배경 사전에서 제외되지 않음 — 이 자녀는 Judy 자녀이고, 자녀 중 일부가 Xx 인 것이 현재 사후 확률).
\(n\) 개 갈색 자녀만 관측했을 때, 각 자녀의 유전형 사후는 XX : Xx = 1 : 2 ((XX 확률 1/4, Xx 확률 2/4 — 단 갈색이라는 조건 하에서)). 따라서 자녀가 Xx 일 조건부 확률 = 2/3.
그 자녀 (Xx) 가 배우자 (임의 유전형) 와 결혼해 손주가 파란 눈일 확률은 배우자 분포에 따라 다르지만 — 교재 힌트에 따라 인구 \(p\) 로부터 풀어간다.
이 문제는 3 대에 걸친 계층 베이즈 추론 이다. 1대 (부모) 유전형 → 2대 (Judy) 유전형 → 3대 (손주) 표현형. 각 층에서 확률 전달이 일어나고 관측은 중간층에 투입된다. Ch.5 계층 모형의 완벽한 미니 버전 — 교재가 Ch.1 에 이 문제를 둔 이유.
4.3 Exercise 6 — Elvis 쌍둥이 (이형/일란성)
문제. 이란성 쌍둥이 출생 비율 1/125, 일란성 1/300. Elvis 는 남자 쌍둥이 형제가 있었다 (사산). Elvis 가 일란성 쌍둥이일 확률은?
핵심 — 성별 정보가 추가된 베이즈 업데이트.
- \(\Pr(\text{이란성}) = 1/125\), \(\Pr(\text{일란성}) = 1/300\)
- 이란성이면 같은 성별 확률 \(= 1/2\) (남-남, 여-여 각 1/4)
- 일란성이면 같은 성별 확률 \(= 1\)
\(\theta\) : Elvis 의 쌍둥이 유형. \(y\) : “쌍둥이 형제 모두 남자”.
\[ \Pr(\text{일란성} \mid y) = \frac{(1/300) \cdot 1}{(1/300) \cdot 1 + (1/125) \cdot (1/2)} = \frac{1/300}{1/300 + 1/250} \]
공통 분모 1500.
\[ = \frac{5}{5 + 6} = \frac{5}{11} \approx 0.455 \]
해석 — 사전에서는 이란성이 2.4 배 더 흔하지만 (\(1/125\) vs \(1/300\)), “같은 성별” 이라는 관측이 일란성 쪽 가능도를 2 배 올려 최종적으로 0.455 로 좁혀진다.
가능도비 \(= 1 / (1/2) = 2\). 사전 오즈 \(= (1/300) / (1/125) = 125 / 300 = 5/12\). 사후 오즈 \(= (5/12) \cdot 2 = 5/6\). 사후 확률 \(= 5/11 \approx 0.455\). 오즈 형식이 한 줄에 끝난다.
4.4 Exercise 7 — Monty Hall 문제
설정. 세 상자 중 하나에 상. 참가자가 하나 고른 뒤 사회자가 남은 두 상자 중 상 없는 하나를 연다. 바꾸는 게 유리한가?
핵심 — 무엇에 조건화하는가.
- \(\theta \in \{1, 2, 3\}\): 상 있는 상자 번호
- 참가자 선택: \(C\), 사회자가 연 상자: \(M\)
- \(\Pr(\theta = j) = 1/3\)
WLOG 참가자가 상자 1 을 선택, 사회자가 상자 3 을 열었다고 가정.
각 \(\theta\) 값에서 사회자 규칙.
- \(\theta = 1\): 사회자가 2 또는 3 을 같은 확률로 열 수 있음 → \(\Pr(M = 3 \mid \theta = 1) = 1/2\)
- \(\theta = 2\): 사회자는 반드시 3 을 열어야 함 (1 은 참가자 것) → \(\Pr(M = 3 \mid \theta = 2) = 1\)
- \(\theta = 3\): 사회자는 3 을 못 엶 (상이 있음) → \(\Pr(M = 3 \mid \theta = 3) = 0\)
사후.
\[ \Pr(\theta = 1 \mid M = 3) \propto (1/3) \cdot (1/2) = 1/6 \]
\[ \Pr(\theta = 2 \mid M = 3) \propto (1/3) \cdot 1 = 1/3 \]
\[ \Pr(\theta = 3 \mid M = 3) \propto (1/3) \cdot 0 = 0 \]
정규화 (분모 \(1/6 + 1/3 = 1/2\)).
\[ \Pr(\theta = 1 \mid M = 3) = 1/3, \quad \Pr(\theta = 2 \mid M = 3) = 2/3 \]
결론 — 바꾸면 승리 확률 2/3, 유지하면 1/3. 바꾸는 게 두 배 유리.
“사회자가 연 상자 \(M\)” 이라는 데이터가 포함하는 정보는 사회자가 규칙에 따라 행동했다 는 사실까지 포함한다. 이 규칙이 \(\theta = 2\) 와 \(\theta = 3\) 에서 사회자 행동을 다르게 만든다.
단순 “상자 3 에 상 없음” 으로만 조건화하면 남은 두 상자가 대칭 으로 보이지만, “사회자가 규칙에 따라 3 을 열었음” 으로 조건화하면 비대칭성이 드러난다. 정보를 어떻게 조건화하는가에 따라 사후가 달라진다 — Ch.1 의 핵심 교훈.
이 원리는 임상 시험의 중단 규칙 · 관측 연구의 선택 편향 · A/B 테스트의 sequential monitoring 에서 반복 등장한다 (Part II Ch.8).
4.5 Exercise 9 — 대기 행렬 시뮬레이션
문제 (요약). 3 명 의사의 진료소. 환자 도착 Poisson(\(\lambda = 10\) 분). 대기는 FIFO. 진료 시간 \(\text{Uniform}(5, 20)\) 분. 16시에 신규 접수 중단.
(a) 한 번 시뮬레이션 → 환자 수 · 대기 비율 · 평균 대기 시간 · 종료 시각. (b) 100 회 시뮬레이션 → 중앙값과 50% 구간.
이 문제가 § 1.9 의 시뮬레이션 프레임 의 직접 응용이다. 실행 코드.
import random
import statistics
random.seed(42)
def simulate_clinic():
start = 9 * 60 # 9am (분 단위)
close = 16 * 60 # 4pm
doctors = [start] * 3 # 각 의사의 다음 가용 시각
arrivals = []
t = start
while True:
gap = random.expovariate(1/10) # Poisson arrival interval
t += gap
if t > close:
break
arrivals.append(t)
waits = []
last_finish = start
for a in arrivals:
# 가장 빨리 가용한 의사 선택
next_avail = min(doctors)
idx = doctors.index(next_avail)
start_time = max(a, next_avail)
wait = start_time - a
service = random.uniform(5, 20)
doctors[idx] = start_time + service
waits.append(wait)
last_finish = max(last_finish, doctors[idx])
n_patients = len(arrivals)
n_waited = sum(1 for w in waits if w > 0)
avg_wait = sum(waits) / n_patients if n_patients > 0 else 0
close_time = last_finish
return n_patients, n_waited, avg_wait, close_time
# (a) 한 번 실행
n, w, aw, c = simulate_clinic()
print(f"환자 수: {n}")
print(f"대기한 환자: {w}")
print(f"평균 대기 시간: {aw:.1f} 분")
print(f"종료 시각: {c // 60:.0f}:{c % 60:02.0f}")
# (b) 100회 실행
results = [simulate_clinic() for _ in range(100)]
for name, idx in [("환자 수", 0), ("대기 환자 수", 1), ("평균 대기", 2), ("종료 시각", 3)]:
vals = sorted(r[idx] for r in results)
median = statistics.median(vals)
q25 = vals[24] # 25 percentile
q75 = vals[74] # 75 percentile
print(f"{name}: median={median:.1f}, 50% 구간=[{q25:.1f}, {q75:.1f}]")- 시뮬레이션으로 결합 분포 근사 — 환자 수·대기·종료 시각의 결합 분포를 해석적으로 푸는 건 매우 어렵다
- 표본 요약으로 분위수 — 100 회 실행의 25·50·75 분위수로 50% 구간 추정
- 극단값으로 모델 진단 — 종료 시각이 비현실적으로 크면 도착률·진료 시간 분포 가정 점검
이 연습문제가 Part III 의 Gibbs·MCMC 로 확장되어도 구조는 동일 — 모델을 돌리고, \(S \times k\) 표를 얻고, 후처리로 요약. Ch.1 의 시뮬레이션 철학이 교재 전체를 관통한다.
5 Ch.1 심화 3 편의 구조 요약
| 심화 포스트 | 교재 절 | 핵심 축 |
|---|---|---|
| § 1.1~1.4 | 3단계 · 표기 · 베이즈 규칙 · 이산 예제 | 문법 |
| § 1.5~1.8 | 확률 의미 · 축구 · 링키지 · 확률 결과 | 의미와 도구 |
| 이 포스트 (§ 1.9·1.10·1.12) | 계산 · 응용 철학 · 연습 | 실행·철학·검증 |
Ch.1 의 12 개 절 (1.11 참고문헌 제외) 이 세 개의 심화 포스트로 완결된다. Ch.2 부터는 단일 모수 모델 의 구체적 전개 — 이항 · 정규 · Poisson 의 켤레 사전으로 이어진다.
6 코드 예제 — 시뮬레이션 기반 사후 요약 전 과정
6.1 Step 1: 순수 Python — Beta-Binomial 사후의 표본 기반 요약
§ 1.9 의 \(S \times k\) 표 철학을 베르누이-베타 예제로 구현.
import random
import math
import statistics
random.seed(42)
# 데이터: 10 번 베르누이 시행에서 성공 7
n, y_obs = 10, 7
# Beta(1, 1) 사전 + Beta(1+7, 1+3) = Beta(8, 4) 사후
# 켤레라 해석적이지만 § 1.9 의 표본 기반 요약을 시연
S = 5000
alpha_post, beta_post = 8, 4
def sample_beta(a, b):
# Gamma 비율 방식 — 순수 Python
x = random.gammavariate(a, 1)
y = random.gammavariate(b, 1)
return x / (x + y)
theta_samples = [sample_beta(alpha_post, beta_post) for _ in range(S)]
# 사후 평균 · 중앙값 · 95% 구간
post_mean = sum(theta_samples) / S
theta_sorted = sorted(theta_samples)
post_median = theta_sorted[S // 2]
lo, hi = theta_sorted[int(0.025 * S)], theta_sorted[int(0.975 * S)]
print(f"사후 평균 (표본): {post_mean:.4f}")
print(f"사후 평균 (해석): {alpha_post / (alpha_post + beta_post):.4f}")
print(f"사후 중앙값 (표본): {post_median:.4f}")
print(f"95% 신용 구간: [{lo:.4f}, {hi:.4f}]")
# 사후 예측 — 다음 10 시행에서 5회 성공할 확률
def predict(theta, n_new=10):
return sum(1 for _ in range(n_new) if random.random() < theta)
y_tilde = [predict(theta) for theta in theta_samples]
p_5_success = sum(1 for y in y_tilde if y == 5) / S
print(f"Pr(다음 10회에서 5회 성공 | y) ≈ {p_5_success:.4f}")해석적 값 \(8/12 \approx 0.667\) 에 표본 평균이 수렴. \(S \times k\) 표 하나로 사후 요약 · 예측 확률을 모두 계산 — § 1.9 의 철학이 코드로 구현.
6.2 Step 2: NumPy + scipy — 같은 내용을 벡터화
import numpy as np
from scipy import stats
np.random.seed(42)
S = 5000
theta_samples = stats.beta.rvs(8, 4, size=S)
post_mean = theta_samples.mean()
q2_5, q50, q97_5 = np.percentile(theta_samples, [2.5, 50, 97.5])
print(f"사후 평균: {post_mean:.4f}")
print(f"95% 신용 구간: [{q2_5:.4f}, {q97_5:.4f}]")
# 사후 예측 — 벡터화된 이항 표본
y_tilde = stats.binom.rvs(n=10, p=theta_samples)
print(f"Pr(다음 10회에서 5회 성공) = {(y_tilde == 5).mean():.4f}")
print(f"Pr(다음 10회에서 8회 이상) = {(y_tilde >= 8).mean():.4f}")벡터화로 수천 표본을 한 줄에 처리. 실무에서 사후 시뮬레이션의 표준 패턴이다.
7 관련 주제
같은 Ch.1 의 다른 심화 포스트
- Ch.1 Probability and Inference 개요 — § 1.1~1.9 훑기
- § 1.1~1.4 심화 — 프로세스·표기법·베이즈 추론·이산 예제
- § 1.5~1.8 심화 — 확률의 의미·축구·레코드 링키지·확률 이론 도구
Part I~V 전체 맥락
- Part I: Fundamentals of Bayesian Inference — Ch.1~5 개관
- Part II · Part III · Part IV · Part V
시뮬레이션 기반 통계
- Monte Carlo Simulation — 대수의 법칙 기반 근사
- 확률 표본의 생성 — 역변환·기각·Metropolis
후속 Ch.2~5 상세 (작성 예정)
- Ch.2 Single-Parameter Models — 이항·정규·Poisson·지수의 켤레 사전
- Ch.3 Multiparameter Models — 주변화·bioassay
- Ch.4 Asymptotics — 사후 정규 근사
- Ch.5 Hierarchical Models — 8 schools·shrinkage
8 참고자료
- Gelman, A., Carlin, J. B., Stern, H. S., Dunson, D. B., Vehtari, A., & Rubin, D. B. (2013). Bayesian Data Analysis (3rd ed.). CRC Press. Ch.1 (§ 1.9·1.10·1.12).
- Lindley, D. V. (1965). Introduction to Probability and Statistics from a Bayesian Viewpoint. Cambridge University Press. [Exercise 3 원출처]
- Selvin, S. (1975). A problem in probability (letter to the editor). The American Statistician, 29, 67. [Monty Hall]
- Morgan, J. P., Chaganty, N. R., Dahiya, R. C., & Doviak, M. J. (1991). Let’s make a deal: The player’s dilemma. The American Statistician, 45(4), 284–287.
- Gelman, A., & Nolan, D. (2017). Teaching Statistics: A Bag of Tricks (2nd ed.). Oxford University Press.
- Norvig, P. (2007). How to write a spelling corrector. https://norvig.com/spell-correct.html