Kolmogolov-Smirnov

이정훈·2025년 12월 26일

콜모고로프-스미르노프 검정 (Kolmogorov-Smirnov Test)

  • 데이터의 분포가 특정 이론적 분포(예: 정규분포)와 얼마나 일치하는지를 비교하는 비모수 통계 방법

  • 데이터의 평균이나 분산 같은 파라미터에 의존하지 않고, 누적분포함수(CDF)의 차이를 이용하는 것이 핵심 (비모수 통계 특징)

  • PDF로 데이터의 구간(Bin)을 나누어서 하면 Bin에 따라 개인의 주관이 들어갈 수 있어서 CDF로 데이터가 나올 떄마다 DD를 계산하는 방식을 이용


1. K-S 검정의 핵심 원리

K-S 검정은 표본의 경험적 누적분포함수(ECDF)와 비교 대상의 누적분포함수(CDF) 사이의 최대 거리(DD)를 측정

  • ECDF (Empirical Cumulative Distribution Function): 실제 데이터를 순서대로 쌓아 올린 비율
  • 검정 통계량 (DD): 두 함수 사이의 수직 거리 중 가장 큰 값
    D=maxFn(x)F(x)D = \max |F_n(x) - F(x)|

이 거리(DD)가 작을수록 데이터가 해당 분포를 잘 따른다고 볼 수 있고, 일정 임계치를 넘으면 "두 분포는 다르다"고 판단합니다.


2. 코드 예제

from scipy.stats import kstest, norm, zscore
kstest(zscore(x, ddof=1), norm.cdf), index=["stat", "pvalue"])

3. K-S 검정의 두 가지 종류

구분일표본 K-S 검정 (1-sample)이표본 K-S 검정 (2-sample)
목적데이터가 특정 분포를 따르는가?두 집단의 분포가 서로 동일한가?
비교 대상표본의 ECDF vs 이론적 CDF표본 A의 ECDF vs 표본 B의 ECDF
주요 용도데이터의 정규성 검정집단 간 소득/성적 분포 비교

4. 장점과 단점

✅ 장점

  • 비모수적 방법: 데이터의 특정 분포 가정이 없어도 사용 가능합니다.
  • 종합적 판단: 평균뿐만 아니라 분포의 모양, 위치, 산포도를 모두 고려합니다.
  • 시각적 직관성: 그래프를 통해 두 곡선의 차이를 직접 확인할 수 있습니다.

❌ 단점

  • 중심부 민감도: 분포의 양 끝단(Tail)보다 중앙 부근의 차이에 더 민감합니다.
  • 연속형 데이터 위주: 이산형/범주형 데이터에서는 정확도가 떨어질 수 있습니다.
  • 파라미터 추정의 한계: 데이터로부터 파라미터를 직접 추정하여 검정할 경우 결과가 부정확할 수 있습니다. (이 경우 Lilliefors 검정 권장)

5. 결과 해석 (가설 검정)

  • 귀무가설(H0H_0): 데이터는 특정 분포와 같다. (두 집단의 분포가 같다.)
  • 대립가설(H1H_1): 데이터는 특정 분포와 다르다. (두 집단의 분포가 다르다.)

💡 해석 가이드
pp-value가 유의수준(예: 0.05)보다 크다면, 귀무가설을 채택하여 "해당 분포를 따른다"고 판단합니다.


Mann-Whitney U와 차이점?

많은 분이 헷갈려하시는 Mann-Whitney U 검정과의 차이점을 정리해 보겠습니다.

비교 항목Kolmogorov-Smirnov (K-S)Mann-Whitney U (M-W)
검정 대상전체적인 분포의 모양집단 간 중앙값(위치) 차이
데이터 활용누적분포함수(CDF) 간의 거리데이터의 순위(Rank) 합
강점분포의 왜도, 분산 등 모든 차이 탐지두 집단 중 어느 쪽이 더 큰지 판단
profile
AngDDo

0개의 댓글