겔만-루빈 진단

편집 역사 토론
통계 마지막 수정: 2026-08-02 05:03:28

1. 개요[편집]

겔만-루빈 진단
Gelman–Rubin diagnostic
기호$\hat R$ (potential scale reduction factor, PSRF)
원 논문Gelman & Rubin (1992)
현행 표준rank-normalized split-$\hat R$ — Vehtari et al. (2021)
권장 문턱$\hat R < 1.01$ (관례적 1.1은 너무 느슨)
같이 봐야 하는 것bulk-ESS · tail-ESS, MCSE, 발산 전이

수렴했다는 걸 증명할 방법은 없다. 안 했다는 걸 잡아낼 방법만 있을 뿐이다. R^\hat R은 후자다.

겔만-루빈 진단(Gelman–Rubin diagnostic)은 여러 개의 마르코프 연쇄 몬테카를로 연쇄를 서로 멀리 떨어진 과분산(overdispersed) 초기점에서 출발시킨 뒤, 연쇄 사이의 분산연쇄 안의 분산을 비교해 아직 정상분포에 도달하지 못했음을 탐지하는 수렴 진단 통계량이다. 흔히 R^\hat R 또는 잠재 척도 축소 인자(potential scale reduction factor, PSRF)라 부른다.

첫 문장을 다시 강조할 필요가 있다. R^\hat R은 수렴의 증명이 아니다. MCMC 표본이 목표분포에서 나온 것인지 유한 표본만 보고 판정하는 것은 원리적으로 불가능하며, 진단 통계량이 할 수 있는 일은 “이 표본은 확실히 못 믿겠다”는 반증을 제시하는 것뿐이다. R^1\hat R \approx 1은 무죄 판결이 아니라 기소 실패다.1

2. 정의[편집]

mm개의 연쇄에서 warmup을 버리고 남은 각 nn개의 표본 ψij\psi_{ij}(i=1..ni = 1..n, j=1..mj = 1..m)를 생각하자. ψ\psi는 스칼라 함수여야 하므로, 실제로는 모수 하나하나마다 (그리고 로그 사후밀도 lp__에 대해서도) 따로 계산된다.

연쇄 간 분산 BB와 연쇄 내 분산 WW는 다음과 같다.

B=nm1j=1m(ψˉjψˉ)2,W=1mj=1msj2,sj2=1n1i=1n(ψijψˉj)2B = \frac{n}{m-1}\sum_{j=1}^{m}\left(\bar\psi_{\cdot j} - \bar\psi_{\cdot\cdot}\right)^2, \qquad W = \frac{1}{m}\sum_{j=1}^{m} s_j^2, \quad s_j^2 = \frac{1}{n-1}\sum_{i=1}^{n}\left(\psi_{ij} - \bar\psi_{\cdot j}\right)^2

이 둘을 섞어 주변 사후분산의 추정량을 만든다.

V^=n1nW+1nB,R^=V^W\widehat{V} = \frac{n-1}{n}W + \frac{1}{n}B, \qquad \hat R = \sqrt{\frac{\widehat{V}}{W}}

이 조합이 작동하는 이유는 두 추정량이 참값을 서로 반대 방향에서 조인다는 데 있다. 연쇄들이 아직 각자 자기 동네만 돌고 있으면 WW는 각 연쇄가 본 좁은 영역만 반영하므로 참 분산을 과소평가한다. 반대로 초기점이 과분산이면 연쇄 간 흩어짐이 실제보다 크므로 V^\widehat V는 참 분산을 과대평가한다. 따라서 R^>1\hat R > 1이고, 연쇄가 섞여 갈수록 양쪽이 같은 값으로 수렴해 R^1\hat R \to 1이 된다. 이름 그대로 “표본을 더 돌리면 사후 척도 추정이 앞으로 얼마나 더 줄어들 여지가 있는가”의 척도다.

문턱값은 오랫동안 1.1이 관례였다. 그러나 이 값이 너무 느슨하다는 것이 최근의 합의다. R^=1.1\hat R = 1.1이면 사후 분산 추정이 아직 10% 넘게 부풀어 있을 수 있고, 그 상태의 표본으로 계산한 신용구간은 실제로 눈에 띄게 틀린다. Vehtari 등(2021)은 1.01을 권장하며, Stan·PyMC의 최신 문서도 이 기준을 따른다.2

3. 숫자 감각[편집]

R^\hat R이 실제로 무엇을 말하는지 감을 잡으려면 V^/W\widehat V/W 비율로 되돌려 보면 된다.

R^\hat RV^/W\widehat V / W해석
1.001.00연쇄 간 불일치를 감지하지 못함
1.011.02현행 권장 상한. 여기까지는 실용상 무시 가능
1.051.10사후 척도가 아직 5% 부풀어 있음. 구간 추정이 조금씩 틀리기 시작
1.101.21옛 관례적 상한. 분산 추정이 21% 어긋난 상태
1.502.25연쇄들이 사실상 서로 다른 분포를 표본추출 중

옛 문턱 1.1이 얼마나 관대한지는 마지막 열을 보면 분명하다. 사후 분산이 20% 넘게 부풀어 있다는 것은 표준편차로 10%, 95% 신용구간 폭으로 10% 오차라는 뜻인데, 이 정도면 “수렴했다”고 보고할 수 있는 숫자가 아니다. 1.01로 조이면 V^/W\widehat V/W 오차가 2%로 내려간다.

또 하나 유용한 감각은 R^\hat R표본 수 nn에 따라 저절로 1로 가는 통계량이라는 점이다. V^\widehat V의 정의에서 BB에 붙은 계수가 1/n1/n이므로, 연쇄가 전혀 섞이지 않았더라도 nn을 무작정 늘리면 R^\hat R이 서서히 내려간다. 그래서 “R^\hat R이 조금 높으니 표본을 10배 더 뽑자”는 대응은 진단을 통과시키는 데는 성공하지만 문제를 고치지는 않는 경우가 많다. 이것이 split과 rank-normalization이 필요한 또 다른 이유다.

4. 원래 R^\hat R이 못 잡는 것들[편집]

고전적 R^\hat R에는 구멍이 여럿 있고, 전부 실제로 사고를 낸 적이 있는 실패 모드다.

  • 모든 연쇄가 똑같은 추세를 보이는 경우. 예컨대 모든 연쇄가 나란히 천천히 아래로 흘러내리고 있으면 연쇄 간 분산 BB가 작아 R^\hat R이 1에 가깝게 나온다. 정상성 위반인데 진단은 통과한다.
  • 평균은 같은데 분산이 다른 경우. R^\hat R은 본질적으로 중심 위치의 불일치에 민감한 통계량이라, 연쇄들이 같은 곳을 중심으로 서로 다른 폭으로 돌고 있으면 못 잡는다.
  • 무한 분산 표적. 코시분포처럼 분산이 존재하지 않는 사후분포에서는 BBWW 자체가 수렴하지 않아 R^\hat R이 표본마다 널뛴다. 통계량의 전제가 무너진 것이다.

**rank-normalized split-R^\hat R**은 이 셋을 각각 겨냥한 세 가지 수선으로 구성된다.

  1. Split. 각 연쇄를 반으로 잘라 2m2m개의 길이 n/2n/2짜리 연쇄로 취급한다. 연쇄 내부에 추세가 있으면 앞쪽 반과 뒤쪽 반의 평균이 달라지므로 곧바로 BB에 잡힌다. 이것만으로 첫 번째 구멍이 막힌다.
  2. 순위 정규화. 전체 연쇄를 합쳐 순위 rr을 매긴 뒤 z=Φ1 ⁣(r3/8S1/4)z = \Phi^{-1}\!\left(\frac{r - 3/8}{S - 1/4}\right)로 정규분포 눈금에 옮겨 놓고 R^\hat R을 계산한다. 순위는 항상 유한하므로 꼬리가 아무리 두꺼워도, 심지어 분산이 존재하지 않아도 통계량이 정의된다.
  3. Folded-R^\hat R. ψmedian(ψ)\lvert \psi - \mathrm{median}(\psi) \rvert에 같은 절차를 적용한 값. 중심 위치가 아니라 척도와 꼬리의 불일치를 본다. 두 번째 구멍이 여기서 막힌다. 최종적으로 보고되는 값은 bulk 버전과 folded 버전 중 최댓값이다.

5. R^\hat R만으로는 절대 부족하다[편집]

R^=1.00\hat R = 1.00을 보고 안심하는 것은 흔한 사고 유형이다. 최소한 다음 세 가지를 함께 봐야 한다.

첫째, 유효표본크기와 MCSE. R^\hat R은 편향(연쇄가 아직 안 섞였는가)을 보는 통계량이지 정밀도를 보는 통계량이 아니다. 완벽하게 섞였어도 자기상관이 심하면 유효표본은 몇십 개뿐일 수 있다. 사후 중앙부의 추정에는 bulk-ESS, 5%·95% 분위수 같은 꼬리 추정에는 tail-ESS를 봐야 하고, 이 둘은 상당히 다르게 나온다. 실무 권장치는 연쇄당 ESS 100 이상(4연쇄 기준 총 400 이상)인데, 이는 R^\hat R과 ESS 추정량 자체가 신뢰할 만해지는 최소선이기도 하다. 그리고 최종적으로 보고할 숫자는 몬테카를로 표준오차 MCSE σ/ESS\approx \sigma/\sqrt{\mathrm{ESS}}가 관심 있는 소수점 자리보다 작은지로 판단한다.

둘째, 다봉성. 목표분포에 봉우리가 여러 개인데 모든 연쇄가 같은 봉우리에 갇혀 있으면 BB가 작아 R^\hat R은 1.000을 찍는다. 진단이 통과하지만 결과는 완전히 틀렸다. 이것이 진단의 근본 한계이고, 동시에 초기점 과분산이 왜 옵션이 아니라 전제인지를 설명한다. 초기점을 사후 최빈값 근처에 몰아서 잡으면(예: 최적화 결과에서 시작) R^\hat R은 아무것도 감지할 수 없는 장식품이 된다. Stan이 기본적으로 [2,2][-2, 2]의 비제약 공간에서 무작위 초기화를 하는 이유가 이것이다. 다봉 표적이 의심되면 진단이 아니라 표본추출기 쪽을 손봐야 한다 — 병렬 템퍼링이나 다중 초기화 + 모드별 가중이 그 대응이다.

셋째, 표본추출기 고유의 진단. 해밀토니안 몬테카를로/NUTS에서는 발산 전이(divergence) 하나가 R^\hat R 백 개보다 정보량이 많다. 발산은 사후 기하가 급격히 좁아지는 영역(전형적인 예: 계층 모형의 깔때기)에서 립프로그 적분이 실패했다는 신호이며, 발산이 있으면 R^\hat R이 아무리 예뻐도 그 표본은 편향되어 있다. E-BFMI, 최대 트리 깊이 포화도 같이 본다. 중요도 표본추출이라면 파레토 k^\hat k 진단이 같은 역할을 한다.

이론적으로도 안전망은 얇다. MCMC 추정량에 대한 중심극한정리는 연쇄가 **기하 에르고딕(geometrically ergodic)**일 때 비로소 보장되는데, 실전 모형에서 이를 확인하는 것은 사실상 불가능하다. 즉 우리가 매일 찍는 MCSE는 성립이 검증되지 않은 CLT 위에 서 있다.3

6. 실무 관행[편집]

  • 4연쇄가 국룰. 통계적 필연은 아니고 관행이다.4 연쇄가 많을수록 BB의 추정이 안정되지만, 노트북 코어 수와 “이상한 연쇄 하나를 눈으로 발견할 수 있는 최소 개수”의 타협점이 대략 4다. 코어가 넉넉하면 8~10개도 좋다.
  • warmup은 버린다. Stan 기본값은 warmup 1000 + 표본 1000. warmup 구간은 스텝 크기와 질량행렬 적응이 진행 중이라 애초에 정상 연쇄가 아니므로, 진단에 포함하면 R^\hat R이 무의미하게 나빠진다.
  • R^\hat R은 모수별로 본다. 요약 표에서 최댓값 하나만 보고 넘어가되, 특정 모수 하나만 R^\hat R이 높다면 그건 대개 모형 식별성(identifiability) 문제의 신호다. 라벨 스위칭이 일어나는 가우시안 혼합 모형이 교과서적인 사례.
  • 눈으로도 본다. 트레이스 플롯을 겹쳐 그렸을 때 연쇄들이 구분되지 않고 뭉개져 보이면(“털모자(fuzzy caterpillar)”) 대체로 괜찮다. 숫자 하나로 대체할 수 없는 정보가 여기에 있다.
  • R^\hat R이 나쁘면 표본을 더 뽑기 전에 모형을 의심한다. 사전분포가 지나치게 평평하거나, 비중심 매개화(non-centered parameterization)를 안 썼거나, 스케일이 서로 10610^6배 차이 나는 모수를 그냥 넣은 경우가 대부분이다. 불확실성 정량화의 신뢰도는 결국 여기서 갈린다.

한 줄로 요약하면, R^\hat R은 값싸고 잘 만들어진 연기 감지기다. 울리면 확실히 문제가 있고, 안 울린다고 집이 안전한 것은 아니다.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 겔만 본인도 여러 글에서 “convergence diagnostics는 convergence를 진단하지 못한다”는 취지의 말을 반복했다. 그럼에도 논문 심사에서 “R^<1.1\hat R < 1.1이므로 수렴했다”는 문장은 오늘도 통과되고 있다.

  2. Vehtari, Gelman, Simpson, Carpenter, Bürkner (2021), Rank-normalization, folding, and localization: An improved R^\hat R for assessing convergence of MCMC, Bayesian Analysis 16(2). 1.1 → 1.01은 문턱을 10배 조인 것이라, 이 논문 이후 “예전에 낸 논문들 다시 돌려봐야 하나” 하는 정신적 데미지를 입은 사람이 적지 않다.

  3. 기하 에르고딕성 없이는 CLT가 성립한다는 보장이 없고, 따라서 MCSE라는 숫자 자체의 근거가 사라진다. 이걸 이론적으로 확인한 모형은 극히 일부이며, 나머지는 “일단 돌려” 정신으로 살아간다. 다행히 대부분의 경우 실제로 잘 돌아간다는 것이 이 분야의 미스터리이자 위안.

  4. 4연쇄 관행의 기원을 추적하면 대체로 “겔만-루빈 원 논문이 m2m \ge 2면 된다고 했고, 사람들이 안전하게 두 배 이상 잡았고, 어쩌다 보니 CPU가 4코어였다”에 도달한다. 코어가 128개인 지금도 여전히 4인 이유는 아무도 기본값을 안 바꾸기 때문이다.