1. 개요[편집]
표본 10만 개 뽑았습니다. 네, 그런데 그게 몇 개어치죠?
유효표본크기(effective sample size, ESS)는 손에 든 상관되거나 불균등하게 가중된 표본이 독립 동일분포 표본 몇 개어치의 정보를 갖는가를 나타내는 수다. 추정량의 분산이 독립표본 개일 때의 분산과 같아지는 그 이 곧 ESS이며, 그래서 몬테카를로 표준오차는 이 아니라 언제나 다.
이 문서에서 가장 먼저 짚어야 할 것은, 같은 이름으로 불리는 서로 다른 두 양이 있다는 사실이다. 하나는 마르코프 연쇄 몬테카를로 표본의 자기상관 때문에 깎이는 ESS이고, 다른 하나는 중요도 표본추출 표본의 무게 불균등 때문에 깎이는 ESS다. 둘은 계산식도, 추정 난이도도, 실패 양상도 다르다. 논문이나 로그에서 “ESS 1200”을 봤을 때 어느 쪽인지 확인하지 않으면 숫자가 아무 의미가 없다.
2. 자기상관 기반 ESS[편집]
정상 마르코프 연쇄 에서 의 시간평균 의 분산은 독립일 때와 다르다. 시차 자기상관을 라 하면 에서
이고, 괄호 안이 적분 자기상관시간 다. 이걸 독립표본 공식 과 같게 놓으면
즉 연쇄가 자기 자신을 잊는 데 걸리는 스텝 수마다 독립표본이 하나씩 나온다는 해석이다. 이면 표본 10만 개가 유효 2천 개어치다.
문제는 이 급수를 실측으로 못 더한다는 것이다. 표본 자기상관 는 큰 에서 신호는 0에 가까운데 잡음은 그대로라, 다 더하면 잡음만 누적되어 추정량이 일치추정량조차 되지 않는다. 그래서 어디선가 잘라야 하고, 표준 처방이 셋 있다.
- 초기 양수열 절단(Geyer, 1992). 가역 연쇄에서는 이웃한 두 항을 묶은 이 이론적으로 항상 양수이며 에 대해 감소한다는 정리가 있다. 따라서 이 처음으로 음수가 되는 지점에서 자르면 되고, 이건 임의의 튜닝 상수가 없는 원리적 절단이라는 점에서 우아하다. Stan을 비롯한 대부분의 구현이 이걸 쓴다.
- 윈도 방법(Sokal). 절단 길이를 로 자기일관적으로 정한다(). 개념은 스펙트럼 추정에서 윈도 함수로 꼬리를 눌러 주는 것과 같은 편향-분산 거래다. 실제로 는 자기상관 함수의 스펙트럼 밀도를 0 주파수에서 평가한 값이라, 이 문제는 통째로 스펙트럼 추정 문제와 같은 물건이다.
- 배치 평균법. 연쇄를 길이 짜리 배치 개로 쪼개고 배치 평균들의 표본분산으로 장기분산 를 직접 추정한다. 자기상관을 아예 계산하지 않아 구현이 세 줄이고, 배치 길이를 로 늘려 가는 중첩 배치평균이 이론적 보증까지 갖췄다. 배치가 충분히 길어야 배치 간 상관이 무시된다는 게 유일한 전제.
3. 무게 기반 ESS (Kish)[편집]
이쪽은 시간이 아니라 무게의 불균등을 센다. 독립 표본에 무게 를 달아 가중평균을 내면 그 분산은 이고, 이를 과 같게 놓으면 곧바로 키시(Kish, 1965)의 공식이 나온다.
무게가 전부 같으면 정확히 , 하나가 전부를 먹으면 1이라 범위가 명확하고, 정규화 상수를 몰라도 계산된다는 점 때문에 입자 필터의 재표본추출 트리거로 그대로 쓰인다( 면 재표본추출, 이 임계값이 사실상 국룰).
주의할 점은 이 값이 무게만 보고 함수 는 보지 않는 거친 요약이라는 것이다. 무게가 큰 입자들이 마침 비슷한 값을 가지면 실제 정확도는 가 말하는 것보다 훨씬 좋고, 반대로 무게 분포가 두꺼운 꼬리를 가진 경우에는 아직 등장하지 않은 거대 무게를 알 리가 없으므로 안심시키는 방향으로 틀린다. 무한 분산 상황에서 가 수천을 보고하는 일은 드물지 않다.1 요즘 권장되는 보완책은 상위 무게에 일반화 파레토 분포를 적합해 꼬리 지수 를 보는 것으로, 이 실무 통과선이다.
4. 두 ESS는 왜 다른가[편집]
| 구분 | 자기상관 기반 | 무게 기반(Kish) |
|---|---|---|
| 대상 | MCMC 궤적 | 가중 독립 표본 |
| 깎는 원인 | 연속 표본의 상관 | 무게 불균등 |
| 이상적일 때 | 이면 | 무게 균등이면 |
| 추정 난점 | 급수 절단, 편향-분산 거래 | 미등장 거대 무게에 눈이 멂 |
| 상한 | 을 넘을 수 있음 | 항상 이하 |
가장 흥미로운 차이가 마지막 줄이다. 무게 기반 ESS는 코시-슈바르츠 부등식 때문에 구조적으로 을 못 넘지만, 자기상관 기반 ESS는 을 넘을 수 있다. 자기상관이 음수면(대심적, antithetic) 연속 표본이 서로의 오차를 상쇄해 독립표본보다 나은 추정을 주기 때문이다. 해밀토니안 몬테카를로의 NUTS가 반복 수보다 큰 ESS를 보고하는 일이 흔한데, 이건 버그가 아니라 U-턴 판정으로 궤적을 끊는 방식이 만들어 내는 실제 현상이다.2
두 양을 뒤섞으면 안 된다. MCMC로 뽑은 표본에 다시 중요도 무게를 단 경우(유사주변 MCMC, 재무게된 사후분포)에는 상관과 무게 불균등이 동시에 유효표본을 깎으므로, 어느 한쪽 공식만 쓰면 낙관적인 숫자가 나온다.
5. 진단과 보고 관행[편집]
베이즈 계산에서 ESS는 겔만-루빈 진단 과 한 세트로 보고한다. 역할이 다르다 — 은 “연쇄들이 같은 곳을 보고 있는가”(편향의 부재)를, ESS는 “몇 개어치인가”(분산의 크기)를 본다. 최근 표준(Vehtari 등, 2021)은 순위 정규화된 과 함께, 분포 중앙을 보는 bulk-ESS와 꼬리 분위수를 보는 tail-ESS를 나눠 보고하고 둘 다 400 이상을 요구한다. 꼬리를 따로 보는 이유는 명확하다 — 중앙값은 잘 섞이는데 95% 분위수는 전혀 안 섞이는 연쇄가 실제로 존재하고, 하필 공학에서 필요한 건 대개 꼬리다.
여기서 파생되는 실무 지침 몇 가지.
- 평균만 보고하지 말고 몬테카를로 표준오차를 보고하라. 이며, 이 값이 보고 자릿수를 결정한다. MCSE가 0.03인데 소수점 넷째 자리까지 쓰는 표는 그 자체로 오류다.
- 솎아내기(thinning)는 ESS를 늘리지 않는다. 10개 중 1개만 남기면 도 같이 줄어 ESS는 거의 그대로거나 오히려 준다. 저장 공간이 진짜 부족한 게 아니면 전부 쓰는 쪽이 낫다.
- 비교 단위는 ESS/초여야 한다. 반복당 ESS만 보면 반복 하나에 기울기를 수십 번 계산하는 알고리즘이 항상 이긴다. 무작위걷기 메트로폴리스가 여전히 살아 있는 이유가 이 분모에 있다.
6. 체인을 길게 vs 여러 개[편집]
같은 계산 예산을 긴 연쇄 하나에 쓸 것인가, 짧은 연쇄 여럿에 쓸 것인가는 오래된 논쟁이다. 긴 연쇄 한 개는 번인 비용을 한 번만 치르고 추정도 안정적이지만, 다른 봉우리에 갇혔는지 알 방법이 없다. 짧은 연쇄 여럿은 로 편향을 잡아내고 코어 수만큼 병렬 컴퓨팅으로 곧장 확장되지만, 연쇄마다 번인을 다시 치르므로 예산의 상당 부분이 버려진다.
현대적 절충은 “적당히 긴 연쇄 4~8개”이며, GPU로 연쇄를 수천 개 굴리는 극단 영역에서는 연쇄 길이가 보다 짧아져 기존 ESS· 추정식이 아예 성립하지 않는다는 점이 지적됐다. 이 영역을 위한 중첩 같은 진단이 따로 개발돼 있다.3 결론은 하나다 — ESS는 알고리즘의 성질이 아니라 추정 대상과 예산 배분의 성질이라, 같은 연쇄에서도 파라미터마다 다른 값이 나오는 것이 정상이다.4
7. 관련 문서[편집]
- 마르코프 연쇄 몬테카를로 · 해밀토니안 몬테카를로
- 중요도 표본추출 · 기각표본추출
- 입자 필터 · 부분집합 시뮬레이션
- 몬테카를로 방법 · 불확실성 정량화
- 윈도 함수 · 푸리에 변환
- 병렬 템퍼링 · 통계
8. Footnotes[편집]
-
무게 하나가 전체의 99%를 먹기 직전 상태와, 그 무게가 실제로 등장한 뒤 상태는 값이 극적으로 다르다. 문제는 우리가 항상 “직전 상태”에 있다는 것. 꼬리 지수 진단이 나온 이유가 이거다. ↩
-
처음 보면 “표본 1000개인데 유효표본 1400개”라는 출력에 손이 멈춘다. 정보를 창조한 게 아니라, 궤적 끝점이 직전 위치의 반대편에 놓이는 경향 덕분에 추정 오차가 서로 깎여 나가는 것이다. 계통 표본추출이 무작위 표본추출보다 정확한 것과 같은 이치. ↩
-
연쇄가 짧으면 각 연쇄가 정상분포에 도달하기 전이라 연쇄 내 분산 를 과소평가하고, 그러면 이 오히려 1에 가깝게 나오는 역설이 생긴다. 짧게 많이 굴리는 게 항상 이득이 아니라는 뜻. ↩
-
그래서 “이 모형의 ESS는 얼마입니까”라는 질문에는 답이 없다. 어느 스칼라 함수의, 어느 분위수의 ESS인지를 말해야 한다. 로그사후밀도 자체의 ESS를 같이 보는 관행이 있는데, 이게 유난히 낮으면 대개 계층 모형 기하가 뒤틀려 있다는 신호다. ↩