중요도·거절·순차 몬테카를로 샘플링 효율화
Importance Sampling, Rejection Sampling, Sequential Monte Carlo의 제안분포 설계, ESS 진단, 재표집 전략과 적용 조건을 정리한다.
2026-08-14 · 최초 발행 2024-04-29
표본을 어디에서 가져올지가 추정 품질을 바꾼다
확률적 시뮬레이션에서는 표본의 수만으로 성능과 정확도가 결정되지 않는다. 목표분포의 중요한 영역을 얼마나 잘 포착하는지, 가중치를 어떻게 관리하는지, 단계별로 표본이 얼마나 다양하게 남는지가 결과를 좌우한다.
Importance Sampling(IS), Rejection Sampling(RS), Sequential Monte Carlo(SMC)는 이 문제를 다르게 푼다. IS는 제안분포에서 뽑은 표본에 가중치를 부여하고, RS는 수락 조건을 만족하는 표본만 남긴다. SMC는 시계열 또는 단계적 모델에서 입자와 가중치를 계속 갱신한다.
IS에서는 제안분포 (q(x))에서 표본을 생성한 뒤 (w(x)=p(x)/q(x))로 목표분포 (p(x)) 아래의 적분을 추정한다. 정규화 상수를 알 수 없을 때는 self-normalized estimator를 사용한다. 이때 분산은 (q(x))가 (p(x))의 고밀도 영역을 얼마나 잘 덮는지에 민감하다.
RS는 (p(x) \le M \cdot q(x))를 만족하는 제안분포 (q)와 상수 (M)을 둔다. (x \sim q), (u \sim Uniform(0,1))을 생성해 (u \le p(x)/(M q(x)))일 때만 표본을 채택한다. 기대 채택률은 (1/M)이며, 정확도는 이론적으로 편향이 없다.
SMC는 입자 집합 ({x_t^i, w_t^i})를 변이(mutation), 가중(weighting), 재표집(resampling)의 순서로 갱신한다. ESS(Effective Sample Size)를 기준으로 재표집 시점을 잡아 가중치 붕괴를 막는다.
제안분포와 가중치가 흔들리는 지점
IS와 RS에서는 제안분포 (q(x))의 중심과 꼬리가 목표분포 (p(x))에 맞을수록 분산과 거절률이 낮아진다. 모멘트 매칭, 모드 근사(Laplace), 혼합 분포(Mixture)가 정합을 맞추는 방법으로 쓰인다. 적합도는 ESS/N, 코랄로그-가중치(var(log w)), KL(q||p) 근사로 점검할 수 있다.
IS와 SMC의 가중치는 log 공간에서 다루는 편이 안전하다. (log\ w = log\ p - log\ q)로 계산한 뒤 max-log trick를 적용하면 언더플로를 줄일 수 있다. Self-normalized 추정량을 쓸 때는 바이어스와 분산의 트레이드오프도 남는다.
SMC의 재표집에는 systematic과 stratified 방식이 선호되며, 다변량 편차를 줄이는 데 목적이 있다. 반대로 재표집이 과도하면 표본 다양성이 떨어질 수 있다. ESS 임계값을 (0.3~0.7 \cdot N)으로 두고 트리거를 설정한다.
희귀사상에서는 IS의 꼬리강조 제안, 즉 tempering과 exponential tilting이 분산을 수십 배 낮출 수 있다. 고차원 문제에서는 블록 갱신, 독립·로컬 제안의 혼합, 적응형 공분산 조정이 필요하다. IS와 RS는 표본이 독립적이므로 GPU나 분산 환경에서 병렬화하기 좋다. SMC도 변이와 가중은 병렬화할 수 있지만 재표집 단계에는 동기화 장벽이 있다.
방법별 흐름과 진단 위치
Importance Sampling에서 ESS를 읽는 방법
입력은 목표분포 (p(x)) 또는 비정규화 밀도 (\tilde{p}(x)), 제안분포 (q(x)), 표본수 (N)이다. (x_i \sim q)를 생성하고, (log\ w_i=log\ \tilde{p}(x_i)-log\ q(x_i))를 계산한다. logw에서 최대값을 뺀 뒤 (w_i=exp(logw_i)/\Sigma exp(logw_i))로 정규화하고, 추정량은 (\Sigma w_i f(x_i))로 구한다.
진단에는 (ESS = 1/\Sigma w_i^2)를 사용한다. ESS/N이 낮으면 제안분포를 갱신하며, 추정치·가중 표본·ESS·var(log w)와 함께 ESS/N<0.1인 실패 조건을 알림으로 둘 수 있다.
Rejection Sampling에서 채택률을 관리하는 방법
RS에는 (p(x) \le M q(x))를 만족하는 (q), 상수 (M), 목표 표본수 (n)이 필요하다. 반복적으로 (x \sim q), (u \sim U(0,1))을 생성한 뒤 (u \le p(x)/(M q(x)))인지 평가한다. 채택률이 낮아지면 (q) 또는 (M)을 다시 설정한다.
출력은 독립 표본 (n)개와 채택률이다. 채택률은 (1/M)에 근사하며, 채택률<5%이면 설계 변경을 권장한다.
Sequential Monte Carlo의 입자 갱신
입력은 상태전이 (m_t(x_t|x_{t-1})), 관측우도 (g_t(y_t|x_t)) 또는 단계별 목표, 초기 분포 (\mu), 파티클 수 (N), 임계 ESS 비율 (\tau)다. 각 단계에서 (x_t^i \sim K_t(\cdot|x_{t-1}^i))로 변이시키고, (w_t^i \propto w_{t-1}^i \cdot g_t \cdot m_t / q_t)로 가중한다.
정규화 후 (ESS_t)를 계산하고, (ESS_t<\tau \cdot N)이면 재표집을 수행한다. systematic 재표집이 권장된다. 시점별 추정치와 필터·스무더 결과를 남기고, 유니크 파티클 수 같은 다이버시티 지표와 경로 퇴화를 함께 감시한다.
선택 기준은 병렬성보다 표본 구조에 있다
| 지표 | Importance Sampling | Rejection Sampling | Sequential Monte Carlo |
|---|---|---|---|
| 성능(표본 효율) | 제안 정합 시 고효율, 불일치 시 ESS 급락 | M 작게 설정 시 고효율, 고차원에서 급격히 저하 | 단계별 안정적, 누적 분산 관리 필요 |
| 확장성(병렬/분산) | 매우 높음(독립 샘플) | 높음(독립 시도), 거절 오버헤드 | 중간(재표집 동기화 장벽) |
| 일관성/편향 | self-normalized는 근사 편향, N→∞ 일치 | 무편향, 올바른 M 필요 | 점근 일치, 재표집 도입 시 분산-편향 균형 |
| 안정성/수치 | log-가중 필수, 가중 붕괴 위험 | 수치 안정, 채택률 민감 | log-가중+재표집로 붕괴 완화 |
| 운영 편의 | 구현 간단, 제안 설계가 관건 | M 설계 난이도, 단순 운영 | 구성 요소 다수, 튜닝 요구 높음 |
베이지안 추론과 희귀사상 추정에서는 IS로 posterior 기대치와 tail probability를 계산할 수 있다. exponential tilting은 (P(loss > L)) 같은 희귀사상 확률을 안정적으로 계산하는 데 쓰인다.
실시간 추적과 센서 융합에서는 SMC, 즉 파티클 필터가 비선형·비가우시안 상태공간 모델을 추정한다. 자율주행과 드론 위치추정이 적용 대상이다. 금융 공학과 옵션 가격에서는 경로의존 옵션 기대값을 평가할 때 IS가 분산을 10배 이상 줄일 수 있고, 정확한 표본이 필요할 때 RS가 기준선을 제공한다. 신뢰성·안전 공학에서는 IS와 SMC로 극저확률 영역의 샘플링을 강화해 시스템 고장 확률을 추정하고 시뮬레이션 횟수를 줄인다.
제안분포가 정합된 IS에서는 ESS/N을 0.1→0.6 이상으로 개선하고, 동일 정확도 기준의 시뮬레이션 횟수를 510배 줄일 수 있다. GPU 병렬 IS와 RS는 처리량을 10100배 높일 수 있으며, SMC는 단계 병렬화로 실시간 요건을 충족한다. SMC의 적응형 재표집은 가중치 붕괴를 막고 누적 RMSE를 20~40% 낮출 수 있다. RS의 무편향 샘플은 기준선 정확도를 확보한다. ESS, var(log w), 채택률을 기반으로 자동 튜닝을 구성하면 실험과 운영의 반복 횟수도 줄일 수 있다.
IS는 분산 감소와 병렬 성능에, RS는 무편향 표본 확보에, SMC는 시계열·순차 문제의 실시간 추정에 맞는다. 도입 시에는 제안분포 설계와 ESS·채택률 진단, log-스케일 수치 안정화, 재표집 전략을 함께 절차에 넣어야 한다.