5-4. MCMC(Estimation of Posterior - Markov Chain Monte Carlo) - 수렴진단(Convergence Diagnostics)

2021. 7. 19. 17:40Bayesian

728x90

이번 글에서는 MCMC(Markov Chain Monte Carlo)의 알고리즘의 수렴 진단에 대해 알아보겠습니다.

[관련 글] MCMC(Estimation of Posterior - Markov Chain Monte Carlo) - 깁스 샘플러(Gibbs Sampler), MCMC(Estimation of Posterior - Markov Chain Monte Carlo) - 메트로폴리스-헤스팅스 알고리즘(Metropolis-Hastings Algorithm)


깁스 샘플링 또는 메트로폴리스-헤스팅스 알고리즘을 사용한 통계량의 추정이 정당성을 가지기 위해선 관심 모수 $\theta$의 수렴성을 진단해야 합니다.

MCMC방법의 수렴을 진단하는 방법 중 겔만-루빈(Gelman-Rubin) 방법에 대해 알아보겠습니다.

겔만-루빈(Gelman-Rubin) 방법

겔만-루빈 방법은 하나 또는 그 이상의 스칼라 요약 통계량의 분산에 관해 생성된 여러 연쇄의 성능을 비교하는 것에 근거하고 있습니다. 통계량의 분산 추정 값들은 일원 배치 분산분석(ANOVA)에서 표본 간 그리고 표본 내 평균 제곱 오차를 기초로 한 추정 값과 유사합니다.

샘플의 길이가 $2n$인 $m$개의 병렬 연쇄$Y_m^n$을 고려할 때, 초깃값의 영향을 제거하기 위해 반복의 앞부분 $n$개를 버리고 나머지 $n$개를 사용하여 사후 평균과 사후 분산을 계산한다고 가정하겠습니다. 알고리즘은 다음과 같습니다.

1. 전체 평균 $\bar {\psi}$과 수열 내 평균 $\bar {\psi}^{(i)}$ 그리고 수열 내 평균 간 분산 $B$를 계산합니다.

$\bar {\psi}=\displaystyle \sum^{m}_{i=1} \displaystyle \sum^{2n}_{j=n+1} \frac {\psi^{(ij)}}{(mn)}$

$\bar {\psi}^{(i)}=\displaystyle \sum^{2n}_{j=n+1} \frac {\psi}{n},~~i=1,\dots, m$

$B=\displaystyle \sum^{m}_{i=1}\frac{(\bar {\psi}-\bar {\psi}^{(i)})^2}{(m-1)}$

2. 각 자유도가 $(n-1)$인 $m$개의 수열 내 분산 $s_{i}^2$의 평균인 $W$를 계산한다.

$W=\displaystyle \sum^{m}_{i=1}{\frac {s_i^2}{m}}$

3. 수열 내 분산의 평균과 수열 내 평균 간 분산을 이용해 다음을 계산합니다.

$s^2=(n-1)\frac {W}{n}+\frac {B}{n}$

$V=s^2+\frac {B}{(mn)}$

4. 2. 와 3. 에서 구한 값을 이용하여 잠재적 척도 축소 인자(potential scale reduction factor) $\hat {R}$을 계산합니다.

$\hat {R}=\frac {V}{W}$

만약 $\hat {R}$이 1에 가까우면 이는 샘플링한 값들이 수렴한다는 것을 의미합니다.