1 개요 — 네 절을 한 포스트로 묶는 이유
Ch.7 § 7.1~7.4 는 “무엇을 측정할지 → 어떻게 보정할지 → 어떻게 비교할지 → 왜 Bayes factor 는 안 쓰는지” 의 일관된 논리 흐름이다.
| 절 | 역할 | 한 줄 요약 |
|---|---|---|
| 7.1 | 기준 선택 | 로그 점수가 예측 정확도의 자연 언어다 |
| 7.2 | 바이어스 보정 | AIC → DIC → WAIC 로 갈수록 베이즈적, LOO-CV 와 점근 동치 |
| 7.3 | 실전 비교 | 8 학교 예제로 세 지표가 같은 방향 결론 + 그 한계 |
| 7.4 | 반면교사 | Bayes factor 는 이산 예제엔 좋지만 연속 모형에선 사전 민감도로 붕괴 |
Overview (01-7-0) 가 결론과 도구를 지도로 제시했다면, 이 포스트는 각 수식의 근거·유도·실전 수치를 보인다.
2 § 7.1 — 예측 정확도의 언어
2.1 로그 점수가 “유일” 한 이유
확률 예측의 품질을 재는 함수를 점수 규칙(scoring rule) 이라 한다. 좋은 점수 규칙은 두 조건을 만족해야 한다.
- Proper — 분석자가 자기 믿음 \(p\) 를 진짜로 보고할 때 기대 점수가 최대. 거짓말할 유인이 없다.
- Local — 실제로 관측된 \(y\) 에서의 밀도만 점수에 영향. 관측 안 된 영역의 밀도 모양은 무관.
정리(Bernardo, 1979): 아핀 변환을 제외하면, local 하고 proper 한 유일한 점수 규칙은 로그 점수
\[ S(p, y) = \log p(y) \]
이다. 이 단일성이 Ch.7 의 모든 지표가 로그 예측 밀도 \(\log p(y \mid \theta)\) 를 기반으로 만들어지는 이유다.
점수가 local 하지 않으면 “관측 안 된 영역의 밀도 모양” 이 결과에 영향을 준다. 예를 들어 Brier 점수 (\(\sum (y_i - p_i)^2\)) 는 관측값뿐 아니라 예측 확률 전체 벡터를 쓴다. 이산 분류에선 쓸 만하지만 연속 분포에선 “예측하지 않은 영역에 밀도를 몰아 두면 점수가 올라간다” 같은 왜곡이 생긴다. 로그 점수는 오직 실제 관측점의 밀도 만 본다. 이 localness 가 KL 정보량과 직결되어 모델 비교의 자연 언어가 된다.
2.2 KL 정보량과의 연결
진짜 분포 \(f\) 에서 관측 \(y\) 가 생성되고, 모형이 예측 분포 \(g\) 를 준다면,
\[ \mathrm{KL}(f \,\|\, g) = \int f(y) \log \frac{f(y)}{g(y)} \, dy = H(f) - \mathbb{E}_f[\log g(y)] \]
여기서 \(H(f) = -\int f \log f\) 는 \(f\) 의 엔트로피 (상수). KL 최소화 = \(\mathbb{E}_f[\log g(y)]\) 최대화 = 기대 로그 예측 밀도 최대화. 따라서 elpd (식 7.1) 를 최대화하는 모형이 KL 거리 기준 최적 모형 이 된다. 로그 점수가 단순히 “예측 잘하는 지표” 가 아니라 정보 이론적으로 정당화된 기준 인 이유다.
2.3 점 예측 vs 확률 예측
| 구분 | 출력 | 점수 지표 |
|---|---|---|
| 점 예측 | 단일 값 \(\hat{y}\) | 스코어 함수 (MSE 등) |
| 확률 예측 | 분포 \(p(\tilde{y})\) | 스코어 규칙 (로그 점수 등) |
정규 모형·상수 분산에선 두 접근이 단조 관계 (로그 점수 = -½·MSE + 상수). 그러나 비정규 분포·이상치·이분산 에선 확률 예측이 본질적으로 우월하다. 관측이 두꺼운 꼬리에서 나오면 점 예측은 이를 무시하지만 확률 예측은 낮은 점수로 반영한다.
2.4 왜 사전을 점수에 안 넣는가
로그 예측 밀도는 \(\log p(y \mid \theta)\) 이지 \(\log p(y, \theta)\) 가 아니다. “왜 사후로 모수를 묶지 않고 likelihood 만 쓰는가?” 답:
예측 정확도 평가의 목적은 모형이 데이터를 얼마나 잘 설명하는가 이지 사전이 얼마나 그럴듯한가 가 아니다 (Gelman et al., 2013, § 7.1).
사전은 \(\theta\) 추정에서 이미 기여한다 — 그 결과가 사후분포. lppd 는 사후분포 하의 데이터 적합만 측정한다. 사전을 점수에 넣으면 “좁은 사전 = 점수 하락” 같은 왜곡이 생긴다.
3 § 7.2 — 정보 기준 삼총사의 유도
3.1 점근 기본 사실: 로그 예측 밀도의 분포
\(n \to \infty\) 에서 사후가 정규로 수렴한다는 Bernstein–von Mises 정리 (Ch.4) 를 쓰면, \(\theta \mid y \to \mathcal{N}(\theta_0, V_0/n)\). 이 극한에서
\[ \log p(y \mid \theta) = c(y) - \frac{1}{2}\!\left( k \log(2\pi) + \log|V_0/n| + (\theta - \theta_0)^{\!\top}(V_0/n)^{-1}(\theta - \theta_0) \right) \]
로그 예측 밀도를 \(\theta\) 의 함수로 보면, 상수 - \(\tfrac{1}{2}\chi^2_k\) 모양이 된다.
- 최댓값: \(\theta = \hat{\theta}_{\mathrm{mle}}\) 에서 달성.
- 사후 평균: 최대값보다 \(\tfrac{k}{2}\) 낮음 — 이것이 AIC 의 \(k\) 보정 근거.
선거 예측 회귀 (\(k=3\)) 의 실제 수치: \(\log p(y \mid \hat{\theta}_{\mathrm{mle}}) = -40.3\), 사후 평균 \(= -42.0\), 차이 \(= 1.7 \approx \tfrac{3}{2}\). 점근 예측과 일치.
3.2 AIC — MLE plug-in + 명목 \(k\)
\[ \widehat{\mathrm{elpd}}_{\mathrm{AIC}} = \log p(y \mid \hat{\theta}_{\mathrm{mle}}) - k, \qquad \mathrm{AIC} = -2\widehat{\mathrm{elpd}}_{\mathrm{AIC}} \tag{7.6} \]
유도 논리: \(\mathrm{elpd}_{\hat{\theta}} = \mathbb{E}_f[\log p(\tilde{y} \mid \hat{\theta}(y))]\) 을 추정한다. 관측 데이터 \(y\) 로 얻은 MLE 플러그인 \(\log p(y \mid \hat{\theta})\) 는 과적합되어 elpd 를 과대 추정한다. 그 과적합량이 점근적으로 \(k\) 이므로 빼 준다.
한계:
- 정보적 사전이 있으면 effective 파라미터 수 \(\neq k\).
- 계층 구조의 shrinkage 를 반영하지 못함.
- MLE 가 정의되지 않는 모형(혼합, 과모수화) 에선 쓸 수 없음.
3.3 DIC — 사후 평균 plug-in + 데이터 기반 \(p_{\mathrm{DIC}}\)
\[ p_{\mathrm{DIC}} = 2\!\left( \log p(y \mid \hat{\theta}_{\mathrm{Bayes}}) - \mathbb{E}_{\mathrm{post}}[\log p(y \mid \theta)] \right) \tag{7.8} \]
\[ \widehat{\mathrm{elpd}}_{\mathrm{DIC}} = \log p(y \mid \hat{\theta}_{\mathrm{Bayes}}) - p_{\mathrm{DIC}} \tag{7.7} \]
시뮬레이션 계산:
\[ \widehat{p}_{\mathrm{DIC}} = 2\!\left( \log p(y \mid \hat{\theta}_{\mathrm{Bayes}}) - \frac{1}{S}\sum_{s=1}^{S} \log p(y \mid \theta^{(s)}) \right) \tag{7.9} \]
유도 직관:
- 점근 극한에서 \(\log p(y \mid \theta)\) 의 최댓값 - 사후 평균 = \(\tfrac{k}{2}\).
- 따라서 \(2 \cdot (\log p(y \mid \hat{\theta}_{\mathrm{Bayes}}) - \mathbb{E}_{\mathrm{post}}[\log p(y \mid \theta)])\) 가 effective \(k\) 를 근사.
- 사후 평균이 모드와 가까우면 \(p_{\mathrm{DIC}} \approx k\), 멀면 \(p_{\mathrm{DIC}}\) 는 음수까지 갈 수 있음 (불안정).
대안 버전: \(p_{\mathrm{DIC,alt}} = 2\,\mathrm{Var}_{\mathrm{post}}[\log p(y \mid \theta)]\) (식 7.10). 항상 양수이나 수치적으로 덜 안정.
3.4 WAIC — Fully Bayesian
\[ p_{\mathrm{WAIC1}} = 2 \sum_{i=1}^{n} \!\left( \log \mathbb{E}_{\mathrm{post}}[p(y_i \mid \theta)] - \mathbb{E}_{\mathrm{post}}[\log p(y_i \mid \theta)] \right) \]
\[ p_{\mathrm{WAIC2}} = \sum_{i=1}^{n} \mathrm{Var}_{\mathrm{post}}[\log p(y_i \mid \theta)] \tag{7.11} \]
\[ \widehat{\mathrm{elppd}}_{\mathrm{WAIC}} = \mathrm{lppd} - \widehat{p}_{\mathrm{WAIC}}, \qquad \mathrm{WAIC} = -2\widehat{\mathrm{elppd}}_{\mathrm{WAIC}} \tag{7.13} \]
\(p_{\mathrm{WAIC1}}\) 는 DIC 와 평행한 구조 — “log of mean” 과 “mean of log” 의 차. Jensen 부등식으로 이 차는 항상 비음수. \(p_{\mathrm{WAIC2}}\) 는 로그 예측 밀도 자체의 분산의 합 — 점별 uncertainty 를 직접 재는 형태.
실전: \(p_{\mathrm{WAIC2}}\) 가 LOO-CV 와 더 잘 맞는다. 포인트별 분산을 독립 합산하므로 수치적으로 안정적. Gelman BDA 의 기본 권장.
3.5 BIC 는 다른 목적
\[ \mathrm{BIC} = -2 \log p(y \mid \hat{\theta}) + k \log n \]
원래 목적: marginal likelihood \(p(y)\) 의 Laplace 근사 → 모형 간 사후 확률 비교. 예측 정확도 추정이 아니다. BIC 와 AIC/DIC/WAIC 는 계산 공식은 비슷하지만 평가하는 양이 다르다. Gelman 은 예측 비교 맥락에서 BIC 를 쓰지 말라고 권한다.
3.6 LOO-CV — 재적합 없는 근사까지
LOO-CV 는 정보 기준의 “근사” 가 아니라 직접 계산.
\[ \mathrm{lppd}_{\mathrm{loo\text{-}cv}} = \sum_{i=1}^{n} \log p_{\mathrm{post}(-i)}(y_i) = \sum_{i=1}^{n} \log\!\left( \frac{1}{S} \sum_{s=1}^{S} p(y_i \mid \theta^{(is)}) \right) \tag{7.14} \]
여기서 \(\theta^{(is)}\) 는 \(i\) 번째 점을 뺀 데이터로 얻은 사후 표본. 즉 \(i\) 에 대한 예측이 \(i\) 자신과 분리된다.
소표본 bias correction:
\[ b = \mathrm{lppd} - \overline{\mathrm{lppd}}_{-i}, \qquad \mathrm{lppd}_{\mathrm{cloo}} = \mathrm{lppd}_{\mathrm{loo\text{-}cv}} + b \]
각 LOO 사후가 \(n-1\) 개만 보므로 약간 과소 추정됨. \(b\) 로 보정.
Effective 파라미터 수:
\[ p_{\mathrm{loo\text{-}cv}} = \mathrm{lppd} - \mathrm{lppd}_{\mathrm{loo\text{-}cv}} \tag{7.15} \]
점근 관계:
| 쌍 | 관계 |
|---|---|
| AIC ↔︎ LOO-CV (MLE plug-in) | 점근 동치 |
| DIC ↔︎ LOO-CV (Bayesian plug-in) | 점근 동치 |
| WAIC ↔︎ Bayesian LOO-CV | 점근 동치 |
실전 선택: 브루트 포스 LOO-CV 는 \(n\) 번 재적합 필요 → 비쌈. WAIC 는 한 번의 사후 시뮬레이션으로 끝. Pareto-smoothed importance sampling (PSIS-LOO, Vehtari et al., 2017) 은 LOO-CV 를 재적합 없이 근사 → 현대 표준.
단순 예: \(y_1, \ldots, y_n \sim \mathcal{N}(\theta, 1)\), \(\theta \sim U(0, \infty)\).
- \(\bar{y}\) 가 0 근처면, 사후가 “0 에서 잘림” — 사전 제약이 절반 작동 → \(p_{\mathrm{eff}} \approx 0.5\).
- \(\bar{y}\) 가 크면, 사전 제약 무력 → \(p_{\mathrm{eff}} \approx 1\).
같은 모형이 같은 \(\theta\) 로도 데이터에 따라 effective 파라미터 수가 달라진다. 계층 모형에서는 이 효과가 극적이다 — \(\tau\) 의 사후 크기에 따라 \(p_{\mathrm{eff}}\) 가 \(1\) 과 \(J\) 사이에서 연속 변동.
4 § 7.3 — 8 학교 예제 Table 7.1 전면 해석
Gelman BDA Table 7.1 이 Ch.7 의 결정적 사례다. SAT 코칭 8 학교 데이터에 세 모형을 적합:
- No pooling (\(\tau = \infty\)): 각 학교 독립, \(k = 8\)
- Complete pooling (\(\tau = 0\)): 한 값 공유, \(k = 1\)
- Hierarchical (\(\tau\) 추정): \(\theta_j \sim \mathcal{N}(\mu, \tau^2)\)
4.1 수치 해석
| 지표 | No pooling | Complete pooling | Hierarchical |
|---|---|---|---|
| \(-2\,\mathrm{lpd}\) (MLE) | 54.6 | 59.4 | — |
| \(k\) | 8.0 | 1.0 | — |
| AIC | 70.6 | 61.4 | — |
| \(-2\,\mathrm{lpd}\) (Bayes 평균) | 54.6 | 59.4 | 57.4 |
| \(p_{\mathrm{DIC}}\) | 8.0 | 1.0 | 2.8 |
| DIC | 70.6 | 61.4 | 63.0 |
| \(-2\,\mathrm{lppd}\) | 60.2 | 59.8 | 59.2 |
| \(p_{\mathrm{WAIC2}}\) | 4.0 | 0.7 | 1.3 |
| WAIC | 68.2 | 61.2 | 61.8 |
| \(p_{\mathrm{loo\text{-}cv}}\) | — | 0.5 | 1.8 |
| \(-2\,\mathrm{lppd}_{\mathrm{loo\text{-}cv}}\) | — | 60.8 | 62.8 |
(낮은 값 = 더 나은 예측.)
읽는 순서:
- Raw fit: \(-2\,\mathrm{lpd}\) 만 보면 no pooling 이 가장 작음 (54.6). MLE 가 데이터 점에 정확히 맞기 때문 — 과적합의 증거.
- 보정 후: AIC/DIC/WAIC 모두 complete pooling 이 최소. \(\tau = 0\) 이 데이터에 가장 일관적이라는 신호.
- Hierarchical: 두 극단 사이 — \(p_{\mathrm{DIC}} = 2.8\) (1 쪽에 훨씬 가까움) — 추정된 shrinkage 가 매우 강하다는 뜻.
- WAIC vs DIC: \(p_{\mathrm{WAIC2}} \approx \tfrac{1}{2} p_{\mathrm{DIC}}\) — hierarchical 에서 특히. WAIC 의 lppd 가 이미 사후 불확실성을 일부 반영하므로 추가 보정이 작다.
- LOO-CV 에서 no pooling: 불가능. 한 학교를 빼고 나머지 7 개로 그 학교를 예측할 방법이 이 모형에는 없다 (공유 정보가 없음). 이것이 information criterion 과 cross-validation 의 중요한 차이.
4.2 “왜 complete pooling 이 이기는데도 hierarchical 을 선호하는가”
이 지점이 Ch.7 의 가장 중요한 실무 교훈이다. Gelman 의 원문:
“In this case, \(\tau = 0\) is the best fit to the data, … nonetheless we would feel uncomfortable … stating that the posterior probability is 0.5 that the effect in school C is larger than the effect in school A” (Gelman et al., 2013, § 7.3).
세 가지 이유:
- \(\tau = 0\) 이 과학적으로 불가능 — 완전히 같은 효과를 갖는 실험은 현실에 없음.
- 예측 지표가 모든 추론을 반영하지 않음 — School A vs C 비교처럼 개별 추론 은 hierarchical 에서만 의미 있음.
- 감도 분석 관점 — \(\tau\) 에 더 정보적인 사전을 쓰면 hierarchical 이 이길 수도.
교훈: 예측 지표는 강력하지만 유일한 판단 기준이 아니다. 과학적 의미·다른 추론 목적·감도 분석과 함께 본다.
4.3 Statistical vs Practical Significance
예측 점수 차를 해석하는 두 축.
통계적 유의성: 점수 차 \(\Delta\) 가 표준오차 \(\mathrm{SE}\) 의 몇 배인가. 경험 법칙: \(|\Delta| > 2\,\mathrm{SE}\) 여야 “구분 가능”. 점수 차 자체의 SE 는 점별 로그 예측 밀도 차의 분산으로 계산.
\[ \mathrm{SE}(\Delta) = \sqrt{n \cdot \mathrm{Var}_i(\ell_{1,i} - \ell_{2,i})} \]
실무적 유의성: 차가 의사결정을 바꾸는가. Gelman 의 예시 — \(n = 1000\) 유권자 설문에서 “모두 50/50” 모형 vs “실제 60/40 모형”:
\[ \mathrm{elpd \, 차이} = n \cdot (0.6 \log 0.6 + 0.4 \log 0.4 - \log 0.5) = n \cdot 0.020 \]
\(n = 1000\) → 차이 20 (명확). \(n = 10\) → 차이 2 (노이즈에 묻힘). 같은 모형 개선이 표본 크기에 따라 다르게 보인다.
4.4 Selection Bias — “모형 선택 자체가 과적합”
여러 모형 중 하나를 고르는 행위 자체가 선택 편향 을 유도. 후보 모형이 많을수록 “우연히” 좋아 보이는 모형이 선택될 확률 증가.
극단 예: 예측자 \(p \gg \log n\) 인 공변량 선택 문제. 정보 기준으로 “최고” 를 고르면 새 데이터에서 크게 나빠짐. 해결: 2단계 교차 검증 — 선택 단계에서도 holdout 을 쓰거나, 선택을 피하고 연속 확장 (§ 7.5).
Gelman 의 입장:
“We view cross-validation and information criteria as an approach for understanding fitted models rather than for choosing among them” (Gelman et al., 2013, § 7.3).
여러 모형을 이해 하는 데 WAIC/LOO-CV 를 쓴다. 자동 선택 은 선택 편향을 만든다. 연속 확장으로 경계를 부드럽게 만들고, 예측 지표는 해석 보조로 사용.
5 § 7.4 — Bayes Factor
5.1 정의와 수식
두 모형 \(H_1\), \(H_2\) 의 사후 확률 비 가 사전 확률 비 × Bayes factor 로 분해된다.
\[ \frac{p(H_2 \mid y)}{p(H_1 \mid y)} = \frac{p(H_2)}{p(H_1)} \times \mathrm{BF}_{21} \]
\[ \mathrm{BF}_{21} = \frac{p(y \mid H_2)}{p(y \mid H_1)} = \frac{\int p(\theta_2 \mid H_2) \, p(y \mid \theta_2, H_2) \, d\theta_2}{\int p(\theta_1 \mid H_1) \, p(y \mid \theta_1, H_1) \, d\theta_1} \tag{7.16} \]
핵심 특성:
- 각 모형의 marginal likelihood (모수 적분 후의 데이터 확률) 이 필요.
- 사전이 proper 해야 정의됨. Improper 사전에선 \(0/0\).
- 두 모형이 공통 모수를 가질 필요 없음 — 완전히 다른 구조도 비교 가능.
5.2 이산 예제에서의 자연스러움 — 혈우병 유전 (§ 1.4)
한 여성이 혈우병 보인자(\(H_1\): \(\theta = 1\))인지 아닌지(\(H_2\): \(\theta = 0\)) 판단한다. 사전 확률 동등 (\(p(H_1) = p(H_2) = 0.5\)). 관측: 그녀가 영향받지 않은 아들 둘을 낳음.
\[ \mathrm{BF}_{21} = \frac{p(\text{두 아들 정상} \mid H_2)}{p(\text{두 아들 정상} \mid H_1)} = \frac{1.0}{0.5 \times 0.5} = \frac{1.0}{0.25} = 4 \]
\(H_1\) 하에서 각 아들이 정상일 확률 \(= 0.5\) (X 염색체 무작위 전달). \(H_2\) 하에선 확률 \(= 1\).
사후 오즈:
\[ \frac{p(H_2 \mid y)}{p(H_1 \mid y)} = 1 \times 4 = 4 \implies p(H_2 \mid y) = 0.8 \]
이 예제가 잘 작동하는 두 조건:
- 두 가설이 과학적으로 이산적 — 보인자인가 아닌가, 중간이 없음.
- 각 가설 하에서 \(p(y \mid H_i)\) 가 proper — 모수가 고정된 값이므로 적분 없이 계산.
5.3 연속 예제의 붕괴 — 8 학교
8 학교 데이터에서 다음 두 모형을 비교한다고 하자.
\[ H_1 \text{ (no pooling)}: \quad p(y \mid \theta) = \prod_j \mathcal{N}(y_j \mid \theta_j, \sigma_j^2), \quad p(\theta_1, \ldots, \theta_J) \propto 1 \]
\[ H_2 \text{ (complete pooling)}: \quad p(y \mid \theta) = \prod_j \mathcal{N}(y_j \mid \theta, \sigma_j^2), \quad p(\theta) \propto 1 \]
문제 1 — Improper prior: 두 사전이 flat 이므로 \(\int p(\theta) d\theta = \infty\). marginal likelihood \(p(y \mid H_i) = \int p(y \mid \theta, H_i) p(\theta \mid H_i) d\theta\) 도 정의되지 않음. \(\mathrm{BF} = 0/0\).
문제 2 — Proper 사전으로 대체해도 민감도 붕괴. flat prior 를 \(\mathcal{N}(0, A^2)\) 로 대체한다. \(A\) 는 큰 수.
Gelman 이 보인 계산 (Exercise 7.4 참조): \(A\) 가 증가하면 \(\mathrm{BF}_{21}\) 가 자동으로 \(H_2\) (complete pooling) 쪽으로 몰린다. 즉
\[ A \to \infty \implies p(H_2 \mid y) \to 1 . \]
수학적 직관:
- \(H_1\) (no pooling) 은 \(J\) 차원 모수 공간에서 데이터가 좁은 영역에 집중.
- \(H_2\) (complete pooling) 은 1 차원 모수 공간. 동일 데이터가 차지하는 상대 질량 이 훨씬 큼.
- 사전 분산 \(A\) 가 커질수록 \(H_1\) 의 marginal likelihood 가 상대적으로 더 빠르게 작아짐 (높은 차원에서 사전이 퍼지는 효과).
결론: 사후 확률이 데이터가 아니라 사전 분산 \(A\) 에 지배당함. \(A = 10\) 이면 \(H_1\) 유리, \(A = 10^5\) 이면 \(H_2\) 유리. 같은 데이터로 완전히 다른 과학적 결론.
5.4 문제 3 — 차원 민감도
같은 두 모형을 80 학교 문제에 적용하면 추론이 질적으로 달라짐. 차원만 바뀌어도 사전 효과가 지수적으로 증폭됨. 과학적으로 “무엇을 비교하느냐” 는 동일한데 “몇 개를 비교하느냐” 가 결론을 바꾸는 건 받아들이기 어렵다.
5.5 Gelman 의 제안
이산 모델 선택 대신 연속 확장 을 쓴다:
\[ y_j \sim \mathcal{N}(\theta_j, \sigma_j^2), \qquad \theta_j \sim \mathcal{N}(\mu, \tau^2) \]
\(\tau\) 의 사후분포가 “no pooling (\(\tau \to \infty\))” 과 “complete pooling (\(\tau = 0\))” 사이의 연속적 위치를 데이터가 스스로 알려 주게 한다.
Bayes factor 대안의 자연스러움: 사후분포가 \(\tau = 0\) 에 쌓이면 pooling, \(\tau\) 가 크면 no-pooling, 중간이면 partial. “모형 선택” 이 “모수 추정” 으로 환원됨. 사전 분산 \(A\) 같은 임의 선택이 결정을 지배하지 않음.
5.6 Bayes Factor 가 유용한 경우 / 유용하지 않은 경우
| 상황 | Bayes factor 적합성 |
|---|---|
| 과학적으로 이산 가설, proper 사전 | 적합 (혈우병, 유전 연관, 특정 가설 검증) |
| 정보적 사전이 실제 정보 반영 | 적합 (임상 의학 확립 prior) |
| 연속 모수 문제를 이산으로 변환 | 부적합 — 연속 확장 권장 |
| Improper 사전·참조 사전 | 정의 불가 |
| 변수 선택 | 사전 민감도 높음 — shrinkage prior 로 연속화 권장 |
6 실전 코드 — 8 학교 세 모형 정보 기준 비교
Ch.7 § 7.3 의 Table 7.1 을 PyMC + ArviZ 로 재현한다.
import numpy as np
import pymc as pm
import arviz as az
# Rubin (1981) 8 학교 데이터
J = 8
y = np.array([28, 8, -3, 7, -1, 1, 18, 12], dtype=float)
sigma_j = np.array([15, 10, 16, 11, 9, 11, 10, 18], dtype=float)
# ----- Model 1: No pooling -----
with pm.Model() as m_no_pool:
theta = pm.Flat("theta", shape=J) # 무정보 사전
pm.Normal("y_obs", mu=theta, sigma=sigma_j, observed=y)
idata_no_pool = pm.sample(2000, tune=1000,
idata_kwargs={"log_likelihood": True},
random_seed=42)
# ----- Model 2: Complete pooling -----
with pm.Model() as m_complete:
mu = pm.Flat("mu")
pm.Normal("y_obs", mu=mu, sigma=sigma_j, observed=y)
idata_complete = pm.sample(2000, tune=1000,
idata_kwargs={"log_likelihood": True},
random_seed=42)
# ----- Model 3: Hierarchical -----
with pm.Model() as m_hier:
mu = pm.Normal("mu", 0, 20)
tau = pm.HalfNormal("tau", 10)
theta = pm.Normal("theta", mu=mu, sigma=tau, shape=J)
pm.Normal("y_obs", mu=theta, sigma=sigma_j, observed=y)
idata_hier = pm.sample(2000, tune=1000, target_accept=0.95,
idata_kwargs={"log_likelihood": True},
random_seed=42)
# WAIC 와 LOO-CV 비교표
compare_table = az.compare(
{
"no_pool": idata_no_pool,
"complete": idata_complete,
"hier": idata_hier,
},
ic="waic", # 또는 "loo"
scale="deviance",
)
print(compare_table)기대 결과 (Gelman Table 7.1 과 비슷한 순서):
complete가 가장 낮은 WAIC (최고 예측)hier가 두 번째 — complete 보다 약간 높지만 SE 안에 들어감no_pool이 가장 높음 (과적합)
az.compare 의 결과 테이블에는 각 모형의 WAIC/LOO, \(p_{\mathrm{eff}}\), 순위, 표준오차가 자동 표시. \(\Delta\)WAIC 가 \(\mathrm{SE}\) 의 2배 이내면 “통계적으로 구분 못함” 으로 보고.
7 실전 체크리스트
- lppd 로 시작, bias 보정 필수 — 훈련 데이터 lppd 는 out-of-sample 추정치가 아니다.
- WAIC + LOO-CV 둘 다 계산 — 크게 다르면 모형 이상 신호 (영향력 큰 관측치 등).
- \(p_{\mathrm{WAIC2}}\) 사용 — \(p_{\mathrm{WAIC1}}\) 보다 LOO-CV 와 더 잘 맞음.
- \(|\Delta| \lesssim 2\,\mathrm{SE}\) 면 “구분 못함” — 점수 차가 SE 안이면 순위를 너무 믿지 않는다.
- Effective 파라미터 수 검증 — 계층 모형에서 \(p_{\mathrm{eff}}\) 가 명목 \(k\) 와 크게 다르면 확장/shrinkage 의 유효성 신호.
- 이산 모델 선택 자제 — 가능하면 연속 확장으로 전환 (Bayes factor 사용 최소화).
- BIC 는 예측 비교에 안 씀 — 다른 목적 (marginal likelihood 근사).
- Selection bias 유의 — 여러 모형 중 최고를 고르면 그 추정치가 낙관 편향 → 2단계 CV 또는 연속 확장.
8 관련 주제
선행 지식
- Ch.7 Evaluating, Comparing, Expanding Models (Overview) — 이 포스트의 지도
- Ch.6 Model Checking Overview — 예측 vs 점검 비교
- § 5.4~5.6 — 8 학교 정규 계층 모형 — Table 7.1 의 원판 모형
Ch.7 후속 절 (후속 작성 예정)
01-7-2-*— § 7.5 연속 모델 확장 + § 7.6 암묵적 가정 robustness 심화01-7-3-*— § 7.7 문헌 노트 + § 7.8 연습문제 풀이
후속 주제
- PSIS-LOO (Vehtari, Gelman, Gabry, 2017) — 재적합 없는 LOO-CV 의 현대 표준 구현
- Ch.17 Models for Robust Inference — t-분포·혼합 모형으로 가정 완화
- 모델 선택 vs 모델 평균 vs 연속 확장 — 세 전략의 철학적 비교
관련 개념
- 로그 점수의 단일성 (Bernardo, 1979) — local + proper 의 수학적 결과
- Akaike (1974), Spiegelhalter et al. (2002), Watanabe (2010) — AIC·DIC·WAIC 원저
- Kass & Raftery (1995) — Bayes factor 의 경험 스케일 (classic but contested)
arviz.compare,looR 패키지 — 현대 생태계의 표준 비교 도구