. 서론: 베이지안 추론과 MCMC의 필요성
베이지안 통계에서는 모수를 확률변수로 보고,
- 사전분포 (Prior) p(θ)p(\theta)와
- 우도함수 (Likelihood) p(x∣θ)p(x \mid \theta)
를 결합하여 관측데이터 xx에 대한 사후분포 (Posterior) p(θ∣x)p(\theta \mid x)를 베이즈 정리
p(θ∣x)=p(x∣θ) p(θ)p(x)p(\theta \mid x) = \frac{p(x \mid \theta)\, p(\theta)}{p(x)}
를 통해 구합니다. 여기서 p(x)=∫p(x∣θ)p(θ) dθp(x) = \int p(x \mid \theta)p(\theta)\, d\theta는 정규화 상수로, 복잡한 모형이나 고차원 문제에서는 닫힌 형태로 계산하기 어려운 경우가 많습니다. 이로 인해, 사후분포를 직접적으로 해석하거나 그로부터 모멘트, 신뢰구간, 예측분포 등을 추정하는 데 한계가 생깁니다.
이러한 문제를 해결하기 위해 마르코프 연쇄 몬테카를로(Markov chain Monte Carlo, MCMC) 기법이 개발되었으며, 이는 정규화 상수를 모른 채로도 목표 사후분포로부터 샘플을 생성하여 근사적 추정을 가능하게 합니다.
2. 마르코프 연쇄와 자세익분포: MCMC의 이론적 기반
MCMC의 핵심 아이디어는 **마르코프 연쇄(Markov chain)**를 구성하여 그 연쇄의 **자세익분포(Stationary Distribution)**가 우리가 원하는 사후분포 p(θ∣x)p(\theta \mid x)가 되도록 하는 것입니다.
2.1 마르코프 연쇄의 기본 개념
- 정의 및 메모리리스 특성:
마르코프 연쇄는 상태공간에 있는 값들 θ(0),θ(1),θ(2),…\theta^{(0)}, \theta^{(1)}, \theta^{(2)}, \dots를 순차적으로 생성하는 확률적 과정으로,P(θ(t+1)∣θ(t),θ(t−1),… )=P(θ(t+1)∣θ(t))P(\theta^{(t+1)} \mid \theta^{(t)}, \theta^{(t-1)}, \dots) = P(\theta^{(t+1)} \mid \theta^{(t)})와 같이 오직 현재 상태에만 의존하는 메모리리스(Memoryless) 특성을 가집니다. - 자세익분포(Stationary Distribution):
마르코프 연쇄가 충분히 오래 진행되면 초기 상태의 영향을 잃고, 연쇄의 분포는 일정해집니다. 이 분포를 자세익분포라고 하며,limt→∞L(θ(t))=π(θ)\lim_{t\to\infty} \mathcal{L}(\theta^{(t)}) = \pi(\theta)라고 표기합니다. MCMC에서는 이 π(θ)\pi(\theta)가 목표로 하는 사후분포 p(θ∣x)p(\theta \mid x)와 일치하도록 전이확률(transition probability)을 설계합니다.
2.2 수렴을 위한 필수 조건
마르코프 연쇄가 목표 분포로 수렴하기 위해서는 다음 조건들이 만족되어야 합니다.
- 불가산성 (Irreducibility):
상태공간의 모든 점이 서로 연결되어 있어, 어떤 상태에서든 목표 상태로 도달할 수 있어야 합니다. - 정기성 (Aperiodicity):
연쇄가 주기성을 띄지 않아야 하며, 일정한 주기 없이 다양한 시점에서 상태 전이가 이루어져야 합니다. - 재귀성 (Positive Recurrence):
모든 상태에 대해 평균적으로 유한한 시간 내에 재방문할 수 있어야 합니다. - 상세 균형 조건 (Detailed Balance):
많은 MCMC 알고리즘(특히 Metropolis–Hastings)은 상세 균형 조건π(θ) T(θ→θ∗)=π(θ∗) T(θ∗→θ)\pi(\theta)\, T(\theta \to \theta^*) = \pi(\theta^*)\, T(\theta^* \to \theta)를 만족함으로써, 목표 분포가 자세익분포임을 보장합니다.
이와 같은 조건들이 충족될 때, 마르코프 연쇄는 긴 시간 후 목표 사후분포로부터의 샘플을 생성할 수 있습니다.
3. 대표적인 MCMC 알고리즘
MCMC의 다양한 구현 기법 가운데 대표적인 세 가지 알고리즘—Metropolis–Hastings, Gibbs 샘플링, Hamiltonian Monte Carlo—에 대해 자세히 살펴보겠습니다.
3.1 Metropolis–Hastings (MH) 알고리즘
알고리즘 절차
- 초기값 설정:
초기 상태 θ(0)\theta^{(0)}를 적당한 방법(랜덤 혹은 사전 지식을 반영한 추정치)으로 선택합니다. - 제안분포 정의:
현재 상태 θ(t)\theta^{(t)}로부터 새로운 후보 θ∗\theta^*를 생성하기 위해 제안분포 q(θ∗∣θ(t))q(\theta^* \mid \theta^{(t)})를 정의합니다.- 대칭 제안분포(예: q(θ∗∣θ(t))=q(θ(t)∣θ∗)q(\theta^* \mid \theta^{(t)}) = q(\theta^{(t)} \mid \theta^*))를 사용하면 수용 확률 계산이 단순해집니다.
- 비대칭 제안분포의 경우, 전이 확률의 비율에 제안분포의 비대칭성을 보정해야 합니다.
- 제안값 샘플링 및 수용 확률 계산:
제안분포로부터 θ∗\theta^*를 샘플링한 후,α=min{1,p(x∣θ∗) p(θ∗) q(θ(t)∣θ∗)p(x∣θ(t)) p(θ(t)) q(θ∗∣θ(t))}\alpha = \min \left\{ 1, \frac{p(x \mid \theta^*)\, p(\theta^*)\, q(\theta^{(t)} \mid \theta^*)}{p(x \mid \theta^{(t)})\, p(\theta^{(t)})\, q(\theta^* \mid \theta^{(t)})} \right\}를 계산합니다. 여기서 p(x∣θ)p(θ)p(x \mid \theta)p(\theta)는 정규화 상수를 모르는 상태에서도 비례식(∝)으로 계산할 수 있습니다. - 수용/거부 결정:
U∼Uniform(0,1)U \sim \text{Uniform}(0,1)를 샘플링하고, U<αU < \alpha이면 θ(t+1)=θ∗\theta^{(t+1)} = \theta^*로 채택(accept)하고, 그렇지 않으면 θ(t+1)=θ(t)\theta^{(t+1)} = \theta^{(t)}로 유지합니다. - 반복:
위 과정을 충분한 반복 횟수만큼 진행하여, Burn-in 이후의 샘플들을 목표 사후분포의 근사 표본으로 사용합니다.
추가 고려사항
- 제안분포 선택:
알고리즘의 효율성과 혼합도(mixing)에 큰 영향을 미치므로, 제안분포의 분산 조절 등 튜닝이 필수적입니다.
최근에는 Adaptive Metropolis와 같이 제안분포를 자동으로 조정하는 방법도 널리 연구되고 있습니다. - 수용률 (Acceptance Rate):
너무 낮거나 너무 높은 수용률은 효율적인 탐색에 문제를 일으킬 수 있으므로, 적절한 수용률(대략 20~40% 범위)을 유지하도록 설계해야 합니다.
3.2 Gibbs 샘플링
알고리즘 절차
- 모수 벡터 분해:
다차원 모수 θ=(θ1,θ2,…,θd)\theta = (\theta_1, \theta_2, \dots, \theta_d)에 대해, 각 성분의 조건부 분포 (Full Conditional Distribution)p(θi∣θ−i,x),i=1,…,dp(\theta_i \mid \theta_{-i}, x), \quad i=1,\dots,d를 구합니다. 여기서 θ−i\theta_{-i}는 θi\theta_i를 제외한 모든 모수를 의미합니다. - 순차적 샘플링:
초기값 θ(0)=(θ1(0),…,θd(0))\theta^{(0)} = (\theta_1^{(0)}, \dots, \theta_d^{(0)})를 설정한 후, 매 반복마다 다음과 같이 각 성분을 순차적으로 갱신합니다.θ1(t+1)∼p(θ1∣θ2(t),…,θd(t),x),\theta_1^{(t+1)} \sim p(\theta_1 \mid \theta_2^{(t)}, \dots, \theta_d^{(t)}, x), θ2(t+1)∼p(θ2∣θ1(t+1),θ3(t),…,θd(t),x),\theta_2^{(t+1)} \sim p(\theta_2 \mid \theta_1^{(t+1)}, \theta_3^{(t)}, \dots, \theta_d^{(t)}, x), ⋮\vdots θd(t+1)∼p(θd∣θ1(t+1),…,θd−1(t+1),x).\theta_d^{(t+1)} \sim p(\theta_d \mid \theta_1^{(t+1)}, \dots, \theta_{d-1}^{(t+1)}, x).
추가 고려사항
- Full Conditional 분포의 샘플링 용이성:
각 조건부 분포가 표준 분포(예: 정규, 감마, 베타 등) 형태일 때 Gibbs 샘플링은 매우 효율적입니다.
만약 특정 조건부 분포가 직접 샘플링이 어렵다면, Metropolis-within-Gibbs 같은 하이브리드 기법을 사용할 수 있습니다. - 고차원 문제와 혼합도:
변수 간 상관관계가 매우 강한 경우 순차적 업데이트로 인한 혼합(mixing) 문제가 발생할 수 있으며, 블록 샘플링(block sampling)이나 재매개변수화(reparameterization) 기법을 고려해야 합니다.
3.3 Hamiltonian Monte Carlo (HMC)
알고리즘 개요
HMC는 대상 분포의 기울기(gradient) 정보를 활용하여, 모수 공간을 보다 효율적으로 탐색하는 방법입니다.
물리학에서 Hamiltonian dynamics를 차용하여, 위치(모수)와 운동량(momentum)을 도입하고, 이들을 동시에 업데이트함으로써 보다 먼 거리의 상태로 이동할 수 있도록 합니다.
알고리즘 절차 및 주요 구성요소
- Hamiltonian 정의:
대상 분포 π(θ)\pi(\theta)에 대해, 음의 로그 우도를 위치 에너지 U(θ)=−logπ(θ)U(\theta) = -\log \pi(\theta)로 정의하고, 운동량 pp에 대해 보통 정규분포를 가정하여 운동 에너지 K(p)=12pTM−1pK(p) = \frac{1}{2} p^T M^{-1} p (여기서 MM은 질량 행렬)로 정의합니다.
Hamiltonian은 H(θ,p)=U(θ)+K(p)H(\theta, p) = U(\theta) + K(p)로 표현됩니다. - Leapfrog 통합법:
Hamiltonian dynamics를 수치적으로 모사하기 위해 leapfrog 알고리즘을 사용하며, 이는 일정한 스텝 크기(step-size)와 일정한 leapfrog 스텝 수를 필요로 합니다. - 제안 및 수용:
동역학을 통해 (θ,p)(\theta, p)를 업데이트하고, 최종 상태를 제안값으로 삼으며, Metropolis 수용 단계를 통해 오차를 보정합니다.
추가 고려사항
- 기울기 정보 활용:
HMC는 대상 분포의 미분 가능성이 전제되어야 하며, 기울기 계산이 효율적일 경우 고차원 문제에서도 우수한 성능을 보입니다. - 매개변수 튜닝:
Step-size, leapfrog 스텝 수, 질량 행렬 MM 등 튜닝 파라미터의 설정이 매우 중요합니다.
최신 알고리즘인 **No-U-Turn Sampler (NUTS)**는 이러한 튜닝 과정을 자동화하여, 사용자가 별도의 수동 조정 없이도 효율적인 샘플링이 가능하도록 돕습니다. - 컴퓨팅 비용:
기울기 계산 및 동역학 시뮬레이션은 계산 비용이 크므로, 대상 모형의 구조에 따라 적절히 선택해야 합니다.
4. MCMC 실행과정에서의 실무적 고려사항
MCMC 알고리즘을 실제로 적용할 때는 이론적인 설계뿐 아니라, 다양한 실무적 요소를 꼼꼼하게 점검해야 합니다.
4.1 수렴 진단 (Convergence Diagnostics)
- Burn-in:
초기 상태의 영향을 줄이기 위해 초기 몇 천 혹은 몇 만 번의 반복을 버리고, 그 이후의 샘플만을 분석에 사용합니다. - 여러 체인 실행:
서로 다른 초기값으로 여러 체인을 동시에 실행한 후, 각 체인의 분포가 유사하게 수렴하는지 확인합니다.
대표적인 진단 도구로는 **Gelman–Rubin 통계량 (R-hat)**이 있으며, 여러 체인의 분산 비교를 통해 수렴 여부를 판단합니다. - 추가 진단 지표:
- Geweke 진단: 초기와 후반부 샘플의 평균 차이를 비교합니다.
- Heidelberger–Welch 진단: 체인의 안정성을 통계적으로 평가합니다.
- Effective Sample Size (ESS): 샘플의 상관을 고려하여 실제 독립 표본 수를 산출합니다.
- Monte Carlo Standard Error (MCSE): 추정치의 표준 오차를 계산하여 샘플링의 신뢰도를 평가합니다.
- 시각적 진단:
- Trace Plot: 체인의 시간에 따른 이동 경로를 확인하여 안정적인 분포에 도달했는지 살핍니다.
- Autocorrelation Plot: 샘플 간 상관 구조를 분석하여 혼합도가 높은지 평가합니다.
4.2 체인 길이, 혼합도, 및 표본 추출
- 혼합도 (Mixing):
체인이 목표 분포를 얼마나 잘 탐색하는지를 나타내며, 혼합도가 낮으면 같은 지역에 오래 머무르게 되어 독립적인 표본이 생성되지 않습니다.
이 경우 제안분포 조정, 재매개변수화, 혹은 블록 업데이트(Block Sampling) 등의 기법을 고려해야 합니다. - Thinning (간격 추출):
연속된 표본 간 상관이 높을 경우, 일정 간격으로 표본을 추출하여 독립성을 높이는 방법을 사용할 수 있으나, 최신 연구에서는 전체 체인을 활용하는 것이 더 효과적이라는 논의도 있습니다. - Adaptive MCMC:
알고리즘 실행 도중에 제안분포나 튜닝 파라미터를 자동으로 조정하는 기법으로, 보다 효율적인 탐색과 수렴을 유도할 수 있습니다. - 표본 후처리 및 재매개변수화:
MCMC 결과로 얻은 표본을 바탕으로 사후평균, 분산, 신뢰구간, 사후예측 검증 등을 수행하며, 필요시 모형의 파라미터 재구성을 통한 재매개변수화 기법을 적용하여 표본 간 상관을 줄일 수 있습니다.
5. 결론
베이지안 추론에서 사후분포를 직접 계산하기 어려운 문제를 해결하기 위해 MCMC 기법은 필수적인 도구로 자리잡고 있습니다.
- 이론적 측면:
마르코프 연쇄의 자세익분포와 관련된 조건(불가산성, 정기성, 재귀성, 상세 균형 조건)을 통해 목표 분포에 수렴할 수 있음을 보장하며, - 알고리즘적 측면:
Metropolis–Hastings, Gibbs 샘플링, Hamiltonian Monte Carlo와 같은 대표 알고리즘들이 각기 장단점과 추가 고려사항을 내포하고 있어 모형과 문제의 특성에 따라 적절히 선택하고 튜닝할 필요가 있습니다. - 실무적 측면:
Burn-in, 여러 체인 실행, 수렴 진단, 혼합도 개선, 표본 후처리 등의 요소가 MCMC의 성공적 적용에 결정적인 역할을 하며, Adaptive MCMC, 재매개변수화, NUTS와 같은 최신 기법들이 이러한 문제를 보완하고 있습니다.
결론적으로, MCMC는 복잡한 베이지안 모형의 사후분포를 근사하는 "표준 기법"으로서, 이론과 실무의 균형 잡힌 이해 및 적절한 알고리즘 선택, 그리고 세심한 진단과 튜닝이 성공적인 적용의 열쇠입니다. 연구와 실무에서는 이를 바탕으로 Variational Inference, Sequential Monte Carlo 등 다른 근사 기법과의 비교 및 보완적 활용이 지속적으로 이루어지고 있으며, 최신 연구 동향을 꾸준히 반영하는 것이 중요합니다.