← all posts
AI 2026.05.03 · 12 min read Advanced

분포 비교 메트릭은 무엇을 측정하는가

Covariate shift·Label shift·Concept drift의 수학적 분류부터 KS·Chi²·PSI·MMD·Wasserstein까지, drift detection 메트릭이 각 shift 유형을 어떻게 잡는지 추적한다.


프로덕션 모델이 “이상하다”는 신호가 잡혔을 때, 우리는 반사적으로 KS 검정을 돌리거나 PSI 값을 확인한다. 그런데 이 메트릭들은 저마다 결합 분포 p(x,y)p(x, y)의 서로 다른 인수를 측정한다. 메트릭이 어떤 shift를 잡고 어떤 shift를 놓치는지 모른 채 대시보드를 바라보면, 가장 위험한 종류의 drift는 영원히 보이지 않는다.

세 shift의 정식화

모든 논의는 결합 분포의 분해에서 출발한다.

p(x,y)=p(x)p(yx)=p(y)p(xy)p(x, y) = p(x)\,p(y \mid x) = p(y)\,p(x \mid y)

이 하나의 등식을 어디서 끊느냐에 따라 세 shift 유형이 정의된다.

Covariate shiftp(x)p(x)가 바뀌고 p(yx)p(y \mid x)가 유지되는 경우다. 사용자 demographic이 변해도 모델이 학습한 결정 경계는 그대로라면, 입력 분포만 보면 감지할 수 있다. Label shiftp(y)p(y)가 바뀌고 p(xy)p(x \mid y)가 유지되는 경우다. 사기 비율이 1%에서 5%로 높아졌지만 사기의 패턴 자체는 동일하다면, 입력 분포도 mixture 비율이 바뀌어 함께 변한다. Concept driftp(yx)p(y \mid x) 자체가 바뀌는 경우다 — “spam”의 정의가 변하는 것처럼.

Concept drift가 가장 위험한 이유

Concept drift만 발생하면 p(x)p(x)는 거의 변하지 않는다. KS, PSI, MMD 등 입력 기반 메트릭이 모두 조용한 채로 모델 성능만 무너진다. Ground truth 레이블 또는 예측 분포 변화(prediction drift)를 함께 모니터링하지 않으면 진단이 불가능하다.

KS — 연속 분포의 sup-norm 검정

1933년 도입된 Kolmogorov–Smirnov 통계량은 두 경험적 누적분포함수(ECDF)의 최대 수직 거리다.

Dn,m=supxFn(x)Gm(x)D_{n,m} = \sup_x |F_n(x) - G_m(x)|

distribution-free 성질이 핵심이다. FF가 연속이면 DnD_n의 분포는 FF의 형태와 무관하다 — PIT 변환 Ui=F(Xi)Uniform(0,1)U_i = F(X_i) \sim \mathrm{Uniform}(0,1)의 invariance로 증명된다. Dvoretzky–Kiefer–Wolfowitz(DKW) 부등식은 유한 샘플 보장을 준다.

Pr ⁣(supxFn(x)F(x)>ε)2e2nε2\Pr\!\left(\sup_x |F_n(x) - F(x)| > \varepsilon\right) \leq 2\,e^{-2n\varepsilon^2}

ε=log(2/δ)/(2n)\varepsilon = \sqrt{\log(2/\delta)/(2n)}으로 95% 신뢰 구간 band를 즉시 계산할 수 있다. 그러나 sup은 분포의 mass가 집중된 중심 부근에서 최대화된다 — tail 차이에는 power가 약하다. Categorical feature에는 ECDF 자체가 무의미하다.

Chi² 와 PSI — 빈도 테이블의 두 해석

범주형 drift의 표준은 Pearson chi² 검정이다.

χ2=i=1k(OiEi)2Eidχk12\chi^2 = \sum_{i=1}^k \frac{(O_i - E_i)^2}{E_i} \xrightarrow{d} \chi^2_{k-1}

Multinomial CLT로 각 셀의 정규화된 차이의 이차형식이 자유도 k1k-1의 카이제곱으로 수렴한다. Cochran의 "Ei5E_i \geq 5" 규칙은 이 점근 근사의 전제 조건이다 — 위반 시 Fisher exact 또는 시뮬레이션 기반 p-value로 대체한다.

G-test는 chi²의 KL 해석이다. G=2nDKL(p^p(0))G = 2n\,D_{\mathrm{KL}}(\hat{p} \| p^{(0)})이므로 PSI로 자연스럽게 이어진다.

PSI(a,e)=i(aiei)log(ai/ei)=DKL(ae)+DKL(ea)\mathrm{PSI}(a, e) = \sum_i (a_i - e_i)\log(a_i / e_i) = D_{\mathrm{KL}}(a\|e) + D_{\mathrm{KL}}(e\|a)
명제 1 · PSI = Symmetric KL

PSI(a,e)=DKL(ae)+DKL(ea)\mathrm{PSI}(a, e) = D_{\mathrm{KL}}(a \| e) + D_{\mathrm{KL}}(e \| a).

▷ 증명
i(aiei)log(ai/ei)=iailog(ai/ei)ieilog(ai/ei)=DKL(ae)+DKL(ea)\sum_i (a_i - e_i)\log(a_i/e_i) = \sum_i a_i \log(a_i/e_i) - \sum_i e_i \log(a_i/e_i) = D_{\mathrm{KL}}(a\|e) + D_{\mathrm{KL}}(e\|a) \quad \square

PSI는 chi²와 달리 sample size에 휘둘리지 않는 effect size다. Siddiqi(2006)의 임계값 0.1/0.25는 통계적 유도가 아닌 신용 평가 실증에서 정착했다 — 다른 도메인에서는 재교정이 필요하다.

MMD — 커널 공간에서의 분포 비교

KS와 Chi²/PSI는 모두 1차원 또는 범주형에 국한된다. ML embedding처럼 수십 차원의 연속 벡터를 비교하려면 다른 도구가 필요하다.

MMD(Maximum Mean Discrepancy, Gretton 2012)는 RKHS의 mean embedding 거리다.

MMD2(P,Q)=μPμQH2=E[k(x,x)]+E[k(y,y)]2E[k(x,y)]\mathrm{MMD}^2(P, Q) = \|\mu_P - \mu_Q\|_{\mathcal{H}}^2 = \mathbb{E}[k(x,x')] + \mathbb{E}[k(y,y')] - 2\mathbb{E}[k(x,y)]

RBF 커널 k(x,y)=exp(xy2/2σ2)k(x,y) = \exp(-\|x-y\|^2/2\sigma^2)characteristic 커널이다 — MMD(P,Q)=0\mathrm{MMD}(P,Q)=0이면 P=QP=Q가 보장된다. Linear 커널은 평균 차이만 잡는다.

bandwidth σ\sigma는 median heuristic으로 자동화할 수 있다: σ=median{xiyj}\sigma = \mathrm{median}\{\|x_i - y_j\|\}. 단 계산 비용이 O(n2)O(n^2)이라 대규모 프로덕션에서는 Random Fourier Features(Rahimi & Recht 2007)로 O(nD)O(nD)에 근사한다.

Wasserstein — Earth Mover’s Distance

Wasserstein distance는 한 분포를 다른 분포로 변형하는 데 드는 최소 운반 비용이다.

Wp(P,Q)=(infγΠ(P,Q)xypdγ(x,y))1/pW_p(P, Q) = \left(\inf_{\gamma \in \Pi(P,Q)} \int \|x - y\|^p\,d\gamma(x,y)\right)^{1/p}

1D에서는 분위수 함수의 차이로 닫힌 형식이 존재한다.

W1(P,Q)=01F1(u)G1(u)duW_1(P, Q) = \int_0^1 |F^{-1}(u) - G^{-1}(u)|\,du

KS의 ECDF 수직 거리가 “최대 어긋남”이라면, Wasserstein은 “분위수별 수평 거리의 평균”이다. 값의 단위가 원본 데이터와 같아서 도메인 전문가에게 직관적으로 설명할 수 있다.

KL과 PSI는 분포의 support가 겹치지 않으면 무한대로 발산한다. Wasserstein은 거리 기반이라 P=δ0P = \delta_0, Q=δ1Q = \delta_1일 때 W1=1W_1 = 1로 유한하다. Rare class가 완전히 사라지거나 새로 등장하는 케이스에서 유일하게 작동하는 메트릭이다.

Kantorovich 쌍대성은 WGAN의 이론적 토대이기도 하다.

W1(P,Q)=supfLip1EP[f(X)]EQ[f(X)]W_1(P, Q) = \sup_{\|f\|_{\mathrm{Lip}} \leq 1} \mathbb{E}_P[f(X)] - \mathbb{E}_Q[f(X)]

다변량 Wasserstein은 직접 LP로 풀면 O(n3logn)O(n^3 \log n)이다 — Sinkhorn(Cuturi 2013)의 엔트로픽 정규화로 O(n2/ε2)O(n^2/\varepsilon^2)에 근사한다.

트레이드오프

메트릭 선택의 트레이드오프

KS는 1D 연속 분포에서 빠르고 distribution-free하지만 tail 차이와 multivariate에 약하다. Chi²는 범주형에 자연스럽지만 Ei5E_i \geq 5 전제가 필요하다. PSI는 sample size 독립적 effect size이지만 bin 수와 임계값이 도메인 의존적이다. MMD는 multivariate embedding을 직접 처리하지만 O(n2)O(n^2) 비용과 bandwidth 선택 문제가 따른다. Wasserstein은 직관적 단위와 disjoint support 허용이 장점이지만 다변량 계산이 비싸고 p-value를 직접 제공하지 않는다.

실전 진단 순서는 메트릭 선택보다 중요하다. 먼저 입력 drift(KS/PSI/MMD)를 측정한다. 입력 drift가 잡히지 않는데 성능이 떨어지면 concept drift를 의심한다. 입력과 예측 drift가 함께 잡히되 방향이 특정 클래스 쪽으로 치우치면 label shift를 의심한다. 대용량 샘플에서는 모든 통계 검정이 trivial한 차이도 “유의”로 판정하므로, p-value보다 effect size(Cramér’s V, PSI, Wasserstein 값 자체)를 먼저 본다.

정리

  • p(x,y)p(x, y)를 어디서 끊느냐에 따라 covariate·label·concept shift가 정의되고, 각각 감지 가능성과 보정 방법이 다르다.
  • KS(연속 1D) → Chi²/PSI(범주형·effect size) → MMD(multivariate embedding) → Wasserstein(interpretable·disjoint support) 순으로 적용 범위가 넓어지고 계산 비용도 커진다.
  • Concept drift는 입력 기반 메트릭으로 잡히지 않는다 — 예측 drift 또는 ground truth 지연(Ch5-01)을 함께 모니터링해야 한다.
  • 임계값(KS p-value, PSI 0.1/0.25)은 통계적 유도가 아닌 실증 합의다 — 도메인마다 재교정이 필요하다.

메트릭이 측정하는 것과 측정하지 못하는 것을 동시에 아는 것이 drift detection의 출발점이다.

REF
Gretton et al. · 2012 · A Kernel Two-Sample Test · JMLR