§ 13.1~13.3 — Mode Finding·경계 회피 Prior·Laplace 근사

Gelman BDA Ch.13 심화 — Newton-Raphson/BFGS/CG 수식, 8 학교 \(\tau = 0\) 경계 문제 + Gamma(2, ·) prior 완전 유도, 정규 근사 + Laplace 적분 + 혼합 정규

Ch.13 overview 가 근사 추론의 네 축을 지도로 제시했다면, 이 포스트는 § 13.1~13.3 의 수식 유도. § 13.1 의 mode 찾기 알고리즘 — Newton-Raphson 의 2차 Taylor 근사 \(\theta^t = \theta^{t-1} - [L''(\theta^{t-1})]^{-1} L'(\theta^{t-1})\) 수렴 조건, BFGS 의 Hessian 근사 로직, conjugate gradient 의 메모리 절약 구조, 수치 미분 식 (13.1)(13.2) 와 \(\delta \approx 10^{-4}\) 선택 기준, § 13.2 의 8 학교 \(\tau\) 경계 문제 (1000 시뮬레이션 중 절반이 \(\widehat{\tau} = 0\)), lognormal·inverse-gamma prior 가 왜 부적절한지 (경계 근처 실질적 차단), Gamma(2, ·) prior 의 linear-at-zero 성질 + likelihood 와 일관성, correlation \(\rho\) 에 Beta(2, 2) 적용, covariance matrix 에 Wishart(d+3, AI) 일반화, § 13.3 의 정규 근사 \(V_\theta = [-\nabla^2 \log p(\widehat{\theta})]^{-1}\) 수식, 변수 변환 + Jacobian 처리, Laplace’s method for integrals \(\mathbb{E}[h] \approx h(\theta_0) p(\theta_0) (2\pi)^{d/2} |-u''|^{-1/2}\) 유도, 혼합 정규 근사 설계 — 각 수식 옆에 “왜 이 선택이 필요한가” 를 붙여 전개한다.

Statistics
Bayesian
저자

Kwangmin Kim

공개

2026년 04월 23일

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}\) 가:

  1. 점 추정 (MAP): 단일 대표값.
  2. 정규 근사 중심: Laplace 의 \(\mu\).
  3. MCMC 초기값: warm-up 단축.
  4. 모형 비교: 각 모형의 최빈값에서 점수.

Frequentist MLE 의 베이즈 대응. Prior 가 가미된 penalized likelihood.

2.2 조건부 최대화 (Coordinate Ascent)

단순한 방법. \(\theta = (\theta_1, \ldots, \theta_d)\) 를 성분별로 차례로 최대화.

알고리즘:

  1. \(\theta^{(0)}\) 에서 시작.
  2. 각 반복 \(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\) 까지.
  3. \(\lvert \theta^{(t)} - \theta^{(t-1)} \rvert < \epsilon\) 이면 중단.

수렴: \(L\) 이 bounded 이면 local mode 로 수렴 보장. 각 조건부 최대화가 \(L\) 을 증가.

직관 — Gibbs 와의 대응

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 사용하는 이유.

그럼에도 수치 미분이 쓸모 있는 경우:

  1. 디버깅: 해석 gradient 검증. 소수점 5 자리 일치 확인.
  2. 블랙박스 함수: 외부 라이브러리 호출로 gradient 전파 불가.
  3. 프로토타입: 초기 모형 탐색 시 해석적 유도 전.

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\) 선호를 과도하게 억제.

직관 — Gamma(2, ·) 의 “linear at zero” 성질

\(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) 의 유도. 모델 선택의 고전.

직관 — Laplace 가 “왜” 정확한가

\(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 + 정규” 의 조합이 왜 표준인가

수학적 이유:

  1. CLT: \(n \to \infty\) 에서 정규성 자동.
  2. 최적화 이론 성숙: Newton, BFGS 가 견고.
  3. 정규는 해석적: 기댓값·분위수 닫힌 형태.

역사적 이유: 베이즈 계산이 어려웠던 1970~80 년대에 유일한 현실적 옵션. INLA, VI 등 현대 방법도 뿌리는 이 조합.

5.2 Boundary 문제의 일반 원칙

Mode 기반 추론은 “smooth 분포” 를 전제. 경계가 있으면:

  • Mode 가 경계에 고정.
  • 정규 근사 불가 (경계 넘어 안 됨).
  • MAP 가 비대표적.

해결 패턴:

  1. Weakly informative prior로 경계 회피.
  2. 또는 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 의 교훈을 실무 절차로:

  1. L-BFGS 기본 선택 — scipy minimize(method="L-BFGS-B").
  2. 여러 시작점 — local mode 함정 회피.
  3. 해석 gradient 선호 — 수치 미분은 검증용.
  4. \(\delta \approx 10^{-4}\) — 수치 미분 기본값.
  5. 변환 먼저\(\log \tau, \mathrm{logit}(p)\).
  6. Jacobian 로그 추가 — 변환 사후에 반영.
  7. Boundary 의심 시 Gamma(2, ·)\(\tau > 0\) 모수.
  8. 상관 모수는 Beta(2, 2)\(\rho \in (-1, 1)\).
  9. Hessian 양정치 확인 — 진정한 mode 인지 검증.
  10. Laplace + MCMC 교차 검증 — 중요 결론은 두 방법.

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) — 자동 미분 표준서

Subscribe

Enjoy this blog? Get notified of new posts by email: