1 개요 — 세 절의 관계
Ch.13 § 13.1~13.3 은 Laplace 근사의 토대.
| 절 | 역할 |
|---|---|
| 13.1 | Mode \(\widehat{\theta}\) 를 어떻게 찾을 것인가 |
| 13.2 | Mode 가 경계에 붙을 때 어떻게 회피할 것인가 |
| 13.3 | Mode 주변에 어떤 분포를 씌울 것인가 |
세 절 합치면 “MAP 점 → 정규 근사” 의 완전 파이프라인. Overview (02-13-0) 의 첫 두 축 (§ 13.1~13.3) 의 수식 채움.
Ch.10 § 10.2 의 Laplace 근사 복습을 확장 — 수렴·경계·고차원 기술.
2 § 13.1 — Mode Finding
2.1 왜 Mode 부터인가
사후 \(p(\theta \mid y)\) 분석의 첫걸음. Mode \(\widehat{\theta}\) 가:
- 점 추정 (MAP): 단일 대표값.
- 정규 근사 중심: Laplace 의 \(\mu\).
- MCMC 초기값: warm-up 단축.
- 모형 비교: 각 모형의 최빈값에서 점수.
Frequentist MLE 의 베이즈 대응. Prior 가 가미된 penalized likelihood.
2.2 조건부 최대화 (Coordinate Ascent)
단순한 방법. \(\theta = (\theta_1, \ldots, \theta_d)\) 를 성분별로 차례로 최대화.
알고리즘:
- \(\theta^{(0)}\) 에서 시작.
- 각 반복 \(t\):
- \(\theta_1^{(t)} = \arg\max_{\theta_1} L(\theta_1, \theta_2^{(t-1)}, \ldots, \theta_d^{(t-1)})\).
- \(\theta_2^{(t)} = \arg\max_{\theta_2} L(\theta_1^{(t)}, \theta_2, \theta_3^{(t-1)}, \ldots)\).
- … \(\theta_d\) 까지.
- \(\lvert \theta^{(t)} - \theta^{(t-1)} \rvert < \epsilon\) 이면 중단.
수렴: \(L\) 이 bounded 이면 local mode 로 수렴 보장. 각 조건부 최대화가 \(L\) 을 증가.
Gibbs sampling: 각 조건부 추출. Conditional maximization: 각 조건부 최대화.
둘 다 “한 성분씩 업데이트”. 장점:
- 조건부가 해석적 최대화 가능 하면 빠름. 계층 모형의 정규-역감마 구조 등.
- Iterative proportional fitting 이 대표 예 (로그 선형 모형).
단점: 축 정렬 이동의 한계 — 강한 상관 변수에서 느림. Gibbs 의 지그재그와 같은 문제.
2.3 Newton-Raphson
2차 Taylor 전개 활용.
\(L(\theta) = \log p(\theta \mid y)\), \(L'(\theta) = \nabla L\), \(L''(\theta) = \nabla^2 L\).
\(\theta^{(t-1)}\) 주변 2차 근사:
\[ L(\theta) \approx L(\theta^{(t-1)}) + L'(\theta^{(t-1)})^\top (\theta - \theta^{(t-1)}) + \tfrac{1}{2}(\theta - \theta^{(t-1)})^\top L''(\theta^{(t-1)})(\theta - \theta^{(t-1)}) \]
이 quadratic 최대화 점이 다음 iterate:
\[ \theta^{(t)} = \theta^{(t-1)} - [L''(\theta^{(t-1)})]^{-1} L'(\theta^{(t-1)}) \]
Hessian 의 음정치 (\(-L'' \succ 0\)) 가정 필요 — 극대점 근처에선 자동 성립.
2.4 수렴 속도
2차 수렴: 극대점 \(\widehat{\theta}\) 근처에서:
\[ \lVert \theta^{(t)} - \widehat{\theta} \rVert \le C \lVert \theta^{(t-1)} - \widehat{\theta} \rVert^2 \]
오차 제곱 감소. 예: 오차 0.1 → 0.01 → 0.0001.
2.5 수렴 실패 시나리오
- 먼 시작점: 2차 근사가 부정확 → 엉뚱한 방향.
- \(-L''\) 비양정치: mode 밖 영역. saddle point 나 local min 으로 수렴 가능.
- Boundary 근처: § 13.2 의 경계 문제. 알고리즘이 경계 밖으로 튐.
대책:
- 여러 시작점.
- Conditional maximization 으로 초기 \(\theta^{(0)}\) 생성.
- Backtracking line search (각 step 크기 조정).
2.6 Quasi-Newton (BFGS)
Newton 의 한계: Hessian 계산·저장 비용 \(O(d^2)\).
BFGS (Broyden-Fletcher-Goldfarb-Shanno): \(-L''\) 역행렬을 gradient 정보만으로 반복 추정.
각 step 에서 rank-1 또는 rank-2 업데이트:
\[ B^{(t+1)} = B^{(t)} + \text{(rank-2 correction)} \]
\(B\) 가 \(-L''\) 에 수렴. O(\(d^2\)) 연산 유지, but Hessian 해석적 계산 불필요.
L-BFGS (Limited-memory): 최근 \(m\) step 만 저장. 메모리 \(O(md)\). 고차원 실무 표준.
2.7 Conjugate Gradient
Gradient 만 사용, Hessian 없음. 메모리 \(O(d)\).
순차 방향 선택:
\[ d^{(t)} = -L'(\theta^{(t)}) + \beta^{(t)} d^{(t-1)} \]
\(\beta^{(t)}\) (Fletcher-Reeves 또는 Polak-Ribière) 는 이전 방향과 직교성 유지.
초대형: \(d \ge 10^6\) 에서 유일한 현실적 옵션.
2.8 알고리즘 선택 정리
| 상황 | 추천 |
|---|---|
| 조건부 공액 | Conditional maximization |
| \(d < 100\) | Newton-Raphson |
| \(d < 10{^5}\), 일반 | L-BFGS |
| \(d \ge 10^5\) | Conjugate gradient / Stochastic |
Scipy: minimize(method="L-BFGS-B"), method="Newton-CG", method="CG".
2.9 수치 미분 — 식 (13.1)(13.2)
해석적 gradient 어려우면 유한 차분.
1차 미분:
\[ L_i'(\theta) \approx \frac{L(\theta + \delta_i e_i) - L(\theta - \delta_i e_i)}{2 \delta_i} \tag{13.1} \]
2차 미분:
\[ L_{ij}''(\theta) \approx \frac{L(\theta + \delta_i e_i + \delta_j e_j) - L(\theta - \delta_i e_i + \delta_j e_j) - L(\theta + \delta_i e_i - \delta_j e_j) + L(\theta - \delta_i e_i - \delta_j e_j)}{4 \delta_i \delta_j} \tag{13.2} \]
4 점 공식 — 대각 교차 패턴.
2.10 \(\delta\) 선택 — Trade-off
- \(\delta\) 너무 작음: 반올림 오차 지배. \(\delta \approx 10^{-15}\) 에서 사실상 무의미.
- \(\delta\) 너무 큼: Truncation 오차 (Taylor 항 생략). \(\delta \approx 1\) 에선 근사 실패.
최적: \(\delta \approx \sqrt{\epsilon_{\text{machine}}} \approx 10^{-8}\) (1차), \(\delta \approx \epsilon^{1/3} \approx 10^{-5}\) (2차).
실무: \(\delta_i = 10^{-4} \cdot \max(|\theta_i|, 1)\) (스케일 비례).
\(d\) 차원 gradient 수치 계산: \(2d\) 회 함수 평가 (중앙 차분). Autodiff: forward 1 회 + reverse 1 회 ≈ 2 회.
\(d = 1000\) 에서 500 배 차이. Stan/PyMC 가 autodiff 사용하는 이유.
그럼에도 수치 미분이 쓸모 있는 경우:
- 디버깅: 해석 gradient 검증. 소수점 5 자리 일치 확인.
- 블랙박스 함수: 외부 라이브러리 호출로 gradient 전파 불가.
- 프로토타입: 초기 모형 탐색 시 해석적 유도 전.
Gelman 의 권고: 항상 수치 미분으로 검증 루틴 유지. 해석 gradient 버그가 치명적이기 때문.
3 § 13.2 — 경계 회피 Prior
3.1 8 학교의 \(\tau\) 문제
Ch.5.5 계층 정규, prior \(p(\tau) \propto 1\).
주변 사후 \(p(\tau \mid y)\) 의 최빈값 (Figure 13.1): \(\tau = 0\).
이 결과의 의미:
- “모든 학교 효과가 같다” — 완전 풀링.
- Data 와 일관 (boundary 가 MAP).
- 하지만 substantive 로는 부자연스러움. 학교마다 프로그램이 달랐으므로 약간이라도 변동은 있어야.
3.2 왜 이게 문제인가
사후 점 추정으로서의 mode 가 붕괴:
- \(\widehat{\tau} = 0\) → \(\theta_j = \mu\) 모두 같음 (shrinkage 무한).
- 그룹 간 변동 정보 상실.
- 완전 풀링의 특이 해 가 MAP.
3.3 시뮬레이션 증거 (Figure 13.2)
Gelman 의 실험: \(J = 10\) 그룹, 참 \(\tau = 0.5\), 관측 당 분산 1.
1000 데이터셋 → 각각 marginal likelihood 최대화.
결과: 1000 번 중 약 500 번 \(\widehat{\tau} = 0\). 참값에서 상당한 거리. MAP 의 체계적 편향.
원인: Data 의 노이즈가 정보 보다 크면 likelihood 가 \(\tau = 0\) 쪽을 “그럴듯하게” 만듦.
3.4 Gamma(2, ·) Prior 제안
Gelman 권고: \(\tau \sim \mathrm{Gamma}(2, 1/A)\) (shape 2, scale \(A\)).
밀도:
\[ p(\tau) \propto \tau \cdot e^{-\tau / A} \]
성질:
- \(\tau = 0\) 에서 \(p(\tau) = 0\) (선형으로 영으로).
- \(\tau \to \infty\) 에서 \(e^{-\tau/A}\) 감소.
- Mode at \(\tau = A\) (prior information).
이 prior 하에서 posterior mode 는 항상 \(\tau > 0\) 내부.
3.5 왜 Gamma(2, ·) 인가 — 대안 비교
Figure 13.3 의 4 가지 prior 비교.
| Prior | \(\tau = 0\) 에서 | 꼬리 | 결론 |
|---|---|---|---|
| Gamma(2, 0.1) | 0 (선형) | 부드러운 감소 | 권장 |
| Lognormal(1, 0.5) | 0 에 급속 수렴 | 빠른 감소 | 경계 근처 차단 |
| Inv-gamma(2, 5) | 0 에 급속 | \(\tau^{-3}\) 꼬리 | \(\tau\) 작은 값 차단 |
| Inv-gamma(0.01, 0.01) | 매우 peaked | \(\tau^{-1}\) 꼬리 | 매우 peaked, 부적절 |
핵심 원리: “\(p(\tau) = 0\) 이지만 likelihood 에 방해 안 되게”.
3.6 Gamma(2, ·) 의 미묘함
\(p(\tau) \propto \tau\) (선형) at \(\tau = 0\).
- Likelihood 가 \(\tau = 0\) 를 선호해도 prior 가 약하게 pull up → mode 가 \(\tau > 0\).
- Likelihood 가 \(\tau\) 큰 값 선호하면 prior 가 방해 안 됨 (로그 선형 기울기 제한).
반면 lognormal 이나 inv-gamma 는 \(\tau = 0\) 에서 \(p\) 가 지수적으로 0 → likelihood 의 작은 \(\tau\) 선호를 과도하게 억제.
\(p(\tau) \propto \tau\) near 0 의 의미:
\(\log p(\tau) \approx \log \tau\) — \(\tau \to 0\) 에서 \(-\infty\) 로 천천히 감소.
이게 수학적으로 likelihood 의 \(\tau = 0\) peak 을 선형 감쇄 펀치만 가함 — 데이터가 진짜 \(\tau\) 클 것을 말하면 쉽게 mode 가 움직임.
반면 lognormal 의 \(\log \tau\) 가 정규 분포라 \(\tau \to 0\) 에서 \((\log \tau)^2\) 로 빠르게 감소. 이건 likelihood 를 체계적으로 밀어내는 강한 prior.
판단 기준: prior 가 경계에서 선형 기울기만 가지는가. Gelman 의 설계 원칙.
Full Bayes (샘플링) 에서는 \(p(\tau) \propto 1\) 또는 half-Cauchy 로 충분. Mode 기반 추론에서만 Gamma(2, ·) 필요.
3.7 Correlation \(\rho\) 경계
\(2 \times 2\) covariance matrix 에서 상관 \(\rho \in (-1, 1)\). Data 가 약하면 \(\widehat{\rho}\) 가 경계 \(\pm 1\).
Figure 13.4: 1000 시뮬레이션 중 10% 이상 이 \(\widehat{\rho} = \pm 1\).
해결: Beta(2, 2) on \((\rho + 1)/2\):
\[ p(\rho) \propto (1 - \rho)(1 + \rho) \]
양 경계에서 \(p = 0\) + 선형 기울기. Gamma(2, ·) 와 같은 설계 원칙.
3.8 Covariance Matrix 일반화
\(d \times d\) covariance matrix 전체에 대해 \(\mathrm{Wishart}(d + 3, AI)\) prior.
- Degenerate (singular) covariance 에서 밀도 0.
- 선형 기울기 유지.
- \(A \to \infty\) 극한에서 각 분산에 Gamma(2, ·), 상관에 Beta(2, 2) 유도.
이게 모든 차원을 포괄하는 “boundary-avoiding” 표준 (Gelman 의 권고).
4 § 13.3 — 정규·혼합 정규 근사
4.1 정규 근사 수식
Mode \(\widehat{\theta}\) 와 Hessian 기반:
\[ p(\theta \mid y) \approx \mathrm{N}(\widehat{\theta}, V_\theta), \quad V_\theta = \left[-\nabla^2 \log p(\theta \mid y)\big|_{\theta = \widehat{\theta}}\right]^{-1} \]
분산 = 음의 Hessian 역수. Fisher information 의 역수에 해당.
4.2 왜 이 형태인가 — 유도
Taylor 2차 전개 at \(\widehat{\theta}\):
\[ \log p(\theta \mid y) \approx \log p(\widehat{\theta} \mid y) + \underbrace{\nabla \log p(\widehat{\theta})^\top (\theta - \widehat{\theta})}_{= 0 \text{ (mode)}} + \tfrac{1}{2}(\theta - \widehat{\theta})^\top \nabla^2 \log p(\widehat{\theta}) (\theta - \widehat{\theta}) \]
Mode 에서 1차 도함수 0. 지수화:
\[ p(\theta \mid y) \approx p(\widehat{\theta} \mid y) \exp\!\left(-\tfrac{1}{2}(\theta - \widehat{\theta})^\top [-\nabla^2 \log p(\widehat{\theta})] (\theta - \widehat{\theta})\right) \]
정규 분포 kernel — \(V_\theta = [-\nabla^2 \log p]^{-1}\).
4.3 언제 잘 작동하는가
Bernstein-von Mises 정리 (Ch.4): \(n \to \infty\) 에서 posterior 가 정규로 수렴. Regularity 조건 하.
실용적 판단:
- \(n\) 충분히 큼 (모수당 수십~수백 관측).
- Smooth·unimodal.
- 모수 공간이 실수 전체 (변환 후).
4.4 변수 변환의 필요성
Non-normal 사후 모양을 변환으로 정규화.
대표 변환:
| 제약 | 변환 | Jacobian |
|---|---|---|
| \(\tau > 0\) | \(\log \tau\) | \(\tau\) |
| \(p \in (0, 1)\) | \(\mathrm{logit}(p)\) | \(p(1-p)\) |
| \(\sum p_k = 1\) | Stick-breaking | 복잡 |
Jacobian 처리: 새 공간 \(\phi = g(\theta)\) 에서의 사후 밀도.
\[ p(\phi \mid y) = p(\theta \mid y) \cdot \left\lvert \frac{d\theta}{d\phi} \right\rvert \]
예: \(\phi = \log \tau\) → \(\theta = e^\phi\), \(d\theta/d\phi = e^\phi = \tau\). 로그 사후에 \(+\log \tau\) 추가.
이 변환 후 정규 근사 → 원 공간으로 역변환.
\(\tau\) 사후: \(\tau > 0\) 제약 + 오른쪽 skew → 정규 근사 부적합.
\(\log \tau\) 사후: 실수 전체 + 더 대칭 → 정규 근사 양호.
근본 원리: CLT 가 작동하는 공간. 곱셈 구조 (\(\tau = \prod\)) 를 덧셈 구조 (\(\log \tau = \sum\)) 로 바꿔야 정규성 수렴 가능.
실무: Stan 이 자동 변환 + Jacobian 처리. 사용자는 <lower=0> 만 선언.
일반 원칙: Laplace 근사 전에 항상 정규화 변환 시도.
4.5 Laplace’s Method for Integrals
정규 근사의 확장 — 기댓값 계산.
\[ \mathbb{E}[h(\theta) \mid y] = \int h(\theta) p(\theta \mid y) d\theta \]
\(\theta_0\) = \(h(\theta) p(\theta \mid y)\) 의 mode (not just posterior mode). \(u(\theta) = \log[h(\theta) p(\theta \mid y)]\).
2차 Taylor + 정규 적분:
\[ \mathbb{E}[h] \approx h(\theta_0) p(\theta_0 \mid y) (2\pi)^{d/2} \lvert -u''(\theta_0) \rvert^{-1/2} \]
수식 해석:
- \(h(\theta_0) p(\theta_0 \mid y)\): 피크 높이.
- \((2\pi)^{d/2} \lvert -u'' \rvert^{-1/2}\): 피크 폭 (volume).
- 높이 × 폭 = 적분 근사.
4.6 Normalizing Constant 계산
특수 경우 \(h = 1\):
\[ \int p(\theta) p(y \mid \theta) d\theta = p(y) \approx p(\widehat{\theta}) p(y \mid \widehat{\theta}) (2\pi)^{d/2} \lvert -\nabla^2 \log p \rvert^{-1/2} \]
Marginal likelihood \(p(y)\) 의 Laplace 근사. BIC 유도에 사용.
4.7 BIC 유도 — Laplace 에서 나오는 규칙
\(\log p(y)\) 의 Laplace 근사에 \(n \to \infty\) 점근:
\[ \log p(y) \approx \log p(y \mid \widehat{\theta}) - \tfrac{d}{2} \log n + O(1) \]
BIC = \(-2 \log p(y) \approx -2 \log p(y \mid \widehat{\theta}) + d \log n\).
Schwarz (1978) 의 유도. 모델 선택의 고전.
\(n \to \infty\) 에서 likelihood 가 mode 근처에 집중. 정규 근사가 그 집중된 영역에 맞춰짐.
더 정밀한 분석: Laplace 오차는 \(O(1/n)\) — 표본 크기 반비례. 대표본에서 매우 정확.
실패 모드:
- \(n\) 작음: 근사 편향.
- 다봉: Mode 하나만 고려 → 다른 mode 의 기여 누락.
- Heavy tails: 정규 의 꼬리 부족으로 extreme quantile 과소 추정.
역사적 맥락: Laplace (1774) 가 원저. 통계에선 Tierney-Kadane (1986) 이 베이즈 응용 정식화. 현대 INLA (Rue et al. 2009) 이 이를 계층 모형에 대규모 적용.
4.8 혼합 정규 — 다봉 대응
단일 정규 불충분 시. 각 mode \(\widehat{\theta}_k\) 주변:
\[ p(\theta \mid y) \approx \sum_{k=1}^K w_k \mathrm{N}(\theta \mid \widehat{\theta}_k, V_k) \]
가중치:
\[ w_k \propto p(\widehat{\theta}_k \mid y) \cdot (2\pi)^{d/2} \lvert V_k \rvert^{1/2} \]
각 mode 의 Laplace 부피 에 비례. 높이 × 폭.
4.9 사용처
- MCMC 시작점 (각 mode 에서 하나씩).
- Importance sampling 의 envelope.
- 빠른 점 추정 여러 가설 비교.
단점: K-means 스타일 mode 발견 휴리스틱 필요. 고차원에서 mode 개수 미지.
5 세 절을 관통하는 직관 모음
5.1 “Mode + 정규” 의 조합이 왜 표준인가
수학적 이유:
- CLT: \(n \to \infty\) 에서 정규성 자동.
- 최적화 이론 성숙: Newton, BFGS 가 견고.
- 정규는 해석적: 기댓값·분위수 닫힌 형태.
역사적 이유: 베이즈 계산이 어려웠던 1970~80 년대에 유일한 현실적 옵션. INLA, VI 등 현대 방법도 뿌리는 이 조합.
5.2 Boundary 문제의 일반 원칙
Mode 기반 추론은 “smooth 분포” 를 전제. 경계가 있으면:
- Mode 가 경계에 고정.
- 정규 근사 불가 (경계 넘어 안 됨).
- MAP 가 비대표적.
해결 패턴:
- Weakly informative prior로 경계 회피.
- 또는 full Bayes (샘플링) 로 분포 전체 표현.
Gelman 의 원칙: “Mode 쓸 거면 prior 조정, 그렇지 않으면 MCMC”.
5.3 변환의 중요성
\(\tau > 0\) 같은 제약은 정규 근사의 적 1 순위. 변환 없이는 경계 문제 + 비대칭 + Hessian 안 정의.
\(\log \tau, \mathrm{logit}(p)\), stick-breaking 이 표준 변환. Stan 의 “자동화” 가 실무자 편의.
6 코드 — 8 학교 Laplace 근사
6.1 Data + 모형
import numpy as np
from scipy.optimize import minimize
from scipy.stats import norm
y = np.array([28, 8, -3, 7, -1, 1, 18, 12])
sigma = np.array([15, 10, 16, 11, 9, 11, 10, 18])
J = 8
# 모수: mu, log_tau (8 theta marginalize 함)
def neg_log_marginal(params):
mu, log_tau = params
tau = np.exp(log_tau)
V = tau**2 + sigma**2
log_lik = -0.5 * (np.log(2*np.pi*V) + (y - mu)**2 / V).sum()
# Prior: p(mu) flat, p(tau) = Gamma(2, A) with A = 10
A = 10.0
log_prior = np.log(tau) - tau / A + log_tau # Jacobian: + log_tau
return -(log_lik + log_prior)6.2 Mode 찾기 (L-BFGS)
res = minimize(
neg_log_marginal,
x0=[np.mean(y), np.log(5)],
method="L-BFGS-B"
)
mu_hat, log_tau_hat = res.x
tau_hat = np.exp(log_tau_hat)
print(f"Mode: mu = {mu_hat:.2f}, tau = {tau_hat:.2f}")Gamma(2, ·) prior 없을 때 (uniform): \(\widehat{\tau} \to 0\) 경계 문제. Gamma(2, 10) 하: \(\widehat{\tau} \approx 3{-}5\) 내부 해.
6.3 Hessian 수치 추정
def numerical_hessian(f, x, h=1e-4):
n = len(x)
H = np.zeros((n, n))
for i in range(n):
for j in range(n):
if i == j:
H[i, i] = (f(x + h*np.eye(n)[i]) - 2*f(x) + f(x - h*np.eye(n)[i])) / h**2
else:
ei, ej = np.eye(n)[i], np.eye(n)[j]
H[i, j] = (f(x + h*ei + h*ej) - f(x + h*ei - h*ej)
- f(x - h*ei + h*ej) + f(x - h*ei - h*ej)) / (4 * h**2)
return H
H = numerical_hessian(neg_log_marginal, res.x)
V = np.linalg.inv(H)
print(f"Posterior covariance (log scale):\n{V}")6.4 Laplace 근사로 적분
\(\Pr(\tau > 5 \mid y)\) 계산:
# 정규 근사 분포
from scipy.stats import multivariate_normal
dist = multivariate_normal(mean=res.x, cov=V)
# 시뮬레이션
n_samples = 10_000
samples = dist.rvs(size=n_samples)
log_tau_samples = samples[:, 1]
tau_samples = np.exp(log_tau_samples)
prob = (tau_samples > 5).mean()
print(f"Pr(tau > 5) ≈ {prob:.3f}")MCMC 와 비교하면 보통 5~10% 차이 — Laplace 의 2차 근사 한계.
6.5 Boundary-Avoiding 시각적 확인
import matplotlib.pyplot as plt
tau_range = np.linspace(0.01, 20, 200)
# Uniform prior 하 사후
def log_post_uniform(tau, mu=8):
V_terms = tau**2 + sigma**2
return (-0.5 * np.log(2*np.pi*V_terms) - 0.5*(y - mu)**2 / V_terms).sum()
# Gamma(2, 10) prior 하 사후
def log_post_gamma(tau, mu=8):
return log_post_uniform(tau, mu) + np.log(tau) - tau / 10
lp_uniform = np.array([log_post_uniform(t) for t in tau_range])
lp_gamma = np.array([log_post_gamma(t) for t in tau_range])
fig, axes = plt.subplots(1, 2, figsize=(10, 4))
axes[0].plot(tau_range, np.exp(lp_uniform - lp_uniform.max()))
axes[0].set_title("Uniform prior: mode at τ = 0 (경계)")
axes[1].plot(tau_range, np.exp(lp_gamma - lp_gamma.max()))
axes[1].set_title("Gamma(2, 10) prior: mode 내부")
for ax in axes:
ax.set_xlabel("τ")
plt.tight_layout()Uniform prior 결과: \(\tau = 0\) 에 peak (경계). Gamma 결과: 약 \(\tau \approx 3{-}5\) peak (내부).
7 실전 체크리스트
§ 13.1~13.3 의 교훈을 실무 절차로:
- L-BFGS 기본 선택 — scipy
minimize(method="L-BFGS-B"). - 여러 시작점 — local mode 함정 회피.
- 해석 gradient 선호 — 수치 미분은 검증용.
- \(\delta \approx 10^{-4}\) — 수치 미분 기본값.
- 변환 먼저 — \(\log \tau, \mathrm{logit}(p)\).
- Jacobian 로그 추가 — 변환 사후에 반영.
- Boundary 의심 시 Gamma(2, ·) — \(\tau > 0\) 모수.
- 상관 모수는 Beta(2, 2) — \(\rho \in (-1, 1)\).
- Hessian 양정치 확인 — 진정한 mode 인지 검증.
- Laplace + MCMC 교차 검증 — 중요 결론은 두 방법.
8 관련 주제
선행 지식
- Ch.13 Overview (02-13-0) — 근사 지도
- Ch.10 § 10.1~10.3 심화 — Laplace 근사 기초
- Ch.4 Asymptotics — Bernstein-von Mises 이론
- Ch.5 Hierarchical Models — 8 학교 예제
Ch.13 후속
02-13-2-*— § 13.4~13.6 심화 (EM·조건부 분해·8 학교)02-13-3-*— § 13.7~13.8 심화 (VI·EP)
후속 주제
- INLA — Laplace 의 계층 모형 확장
- BIC - Laplace 의 모델 선택 응용
관련 개념
- Nocedal & Wright (2006), Numerical Optimization — 최적화 표준서
- Tierney & Kadane (1986) — Laplace 근사의 베이즈 응용
- Chung et al. (2013) — Boundary-avoiding priors 이론
- Rue, Martino, Chopin (2009) — INLA
- Schwarz (1978) — BIC 유도
- Laplace (1774) — 원저
- Griewank & Walther (2008) — 자동 미분 표준서