상위 질문
타임라인
채팅
관점
콜모고로프-스미르노프 검정
위키백과, 무료 백과사전
Remove ads
통계학에서 콜모고로프-스미르노프 검정(Kolmogorov–Smirnov test, K-S 검정 또는 KS 검정)은 연속(또는 불연속, 섹션 2.2 참조) 1차원 확률 분포의 등가성에 대한 비모수 검정이다. 이 검정은 표본이 주어진 기준 확률 분포에서 나왔는지(1-표본 K-S 검정), 또는 두 표본이 같은 분포에서 나왔는지(2-표본 K-S 검정)를 검정하는 데 사용될 수 있다. 이 검정은 1930년대에 이를 개발한 안드레이 콜모고로프와 니콜라이 스미르노프의 이름을 따서 명명되었다.[1]

콜모고로프-스미르노프 통계량은 표본의 경험적 누적 분포 함수와 기준 분포의 누적 분포 함수 사이, 또는 두 표본의 경험적 누적 분포 함수 사이의 거리를 정량화한다. 이 통계량의 영 분포는 표본이 기준 분포에서 추출되었거나(1-표본의 경우) 표본이 동일한 분포에서 추출되었다는(2-표본의 경우) 귀무 가설 하에 계산된다. 1-표본의 경우, 귀무 가설 하에 고려되는 분포는 연속적일 수 있거나(섹션 2 참조), 순수하게 이산적이거나 혼합될 수 있다(섹션 2.2 참조). 2-표본의 경우(섹션 3 참조), 귀무 가설 하에 고려되는 분포는 연속 분포이지만 그 외에는 제한이 없다.
2-표본 K-S 검정은 두 표본의 경험적 누적 분포 함수의 위치와 형태의 차이에 모두 민감하므로 두 표본을 비교하는 데 가장 유용하고 일반적인 비모수 방법 중 하나이다.
콜모고로프-스미르노프 검정은 적합도 검정으로 사용되도록 수정될 수 있다. 분포의 정규성을 검정하는 특수한 경우, 표본은 표준화되어 표준 정규 분포와 비교된다. 이는 기준 분포의 평균과 분산을 표본 추정치와 동일하게 설정하는 것과 같으며, 이를 사용하여 특정 기준 분포를 정의하면 검정 통계량의 영 분포가 변경되는 것으로 알려져 있다(추정된 매개변수를 사용한 검정 참조). 다양한 연구에서 이 보정된 형태에서도 이 검정이 샤피로-윌크 검정 또는 앤더슨-달링 검정보다 정규성을 검정하는 데 검정력이 낮다는 사실이 밝혀졌다.[2] 그러나 이러한 다른 검정에는 자체적인 단점이 있다. 예를 들어, 샤피로-윌크 검정은 동일한 값이 많은 표본에서는 잘 작동하지 않는 것으로 알려져 있다.
Remove ads
1-표본 콜모고로프-스미르노프 통계량
요약
관점
n개의 독립적이고 동일하게 분포된(i.i.d.) 순서 관측치 Xi에 대한 경험적 누적 분포 함수 Fn은 다음과 같이 정의된다.
여기서 는 지시 함수이며, 이면 1이고 그렇지 않으면 0이다.
주어진 누적 분포 함수 F(x)에 대한 콜모고로프-스미르노프 통계량은 다음과 같다.
여기서 supx는 거리 집합의 상한이다. 직관적으로 이 통계량은 모든 x 값에서 두 분포 함수 사이의 가장 큰 절대 차이를 취한다.
글리벤코-칸텔리 정리에 따르면, 표본이 분포 F(x)에서 나온 경우, 이 무한대로 갈 때 Dn은 거의 확실하게 0으로 수렴한다. 콜모고로프는 이 수렴 속도를 효과적으로 제공함으로써 이 결과를 강화했다(콜모고로프 분포 참조). 돈스커 정리는 훨씬 더 강력한 결과를 제공한다.
실제로 이 통계량은 귀무 가설을 적절하게 기각하기 위해 상대적으로 많은 수의 데이터 포인트가 필요하다(앤더슨-달링 검정 통계량과 같은 다른 적합도 기준과 비교할 때).
Remove ads
콜모고로프 분포
요약
관점

콜모고로프 분포는 다음 확률 변수의 분포이다.
여기서 B(t)는 브라운교이다. K의 누적 분포 함수는 다음과 같다.[3]
이는 야코비 세타 함수 로도 표현될 수 있다. 콜모고로프-스미르노프 검정 통계량의 형식과 귀무 가설 하에서의 점근 분포는 안드레이 콜모고로프가 발표했으며,[4] 분포 표는 니콜라이 스미르노프가 발표했다.[5] 유한 표본에서 검정 통계량 분포에 대한 점화식도 구할 수 있다.[4]
표본이 가설 분포 F(x)에서 나왔다는 귀무 가설 하에,
분포 수렴이 발생하며, 여기서 B(t)는 브라운교이다. F가 연속이면 귀무 가설 하에 은 콜모고로프 분포로 수렴하며, 이는 F에 의존하지 않는다. 이 결과는 콜모고로프 정리로도 알려져 있다.
이 유한할 때 의 정확한 CDF에 대한 근사치로서 이 극한의 정확도는 그리 인상적이지 않다. 일 때조차 해당 최대 오차는 약 이며, 일 때 이 오차는 로 증가하고, 일 때는 전혀 허용할 수 없는 로 증가한다. 그러나 자코비 세타 함수의 인수에 대신
을 대입하는 매우 간단한 방법으로 이러한 오차는 각각 , , 로 줄어든다. 이러한 정확도는 일반적으로 모든 실제 적용에 충분한 것으로 간주될 것이다.[6]
적합도 검정 또는 콜모고로프-스미르노프 검정은 콜모고로프 분포의 임계값을 사용하여 구성될 수 있다. 이 검정은 일 때 점근적으로 유효하다. 귀무 가설은 수준 에서 기각되며,
여기서 Kα는 다음으로부터 얻어진다.
이 검정의 점근 검정력은 1이다.
임의의 과 에 대해 cdf 또는 그 보수를 계산하는 빠르고 정확한 알고리즘은 다음에서 찾을 수 있다.
- [7] 및[8]는 C 및 Java 코드를 포함하는 연속 영 분포를 위한 것이다.[7]
- [9]는 순수 이산, 혼합 또는 연속 영 분포를 위한 것으로, R 프로젝트 통계 컴퓨팅의 KSgeneral 패키지에 구현되어 있다.[10] 이 패키지는 주어진 표본에 대해 KS 검정 통계량과 p-값도 계산한다. 대체 C++ 구현은 다음에서 구할 수 있다.[9]
추정된 매개변수를 사용한 검정
F(x)의 형식이나 매개변수가 데이터 Xi에서 결정되는 경우, 이러한 방식으로 결정된 임계값은 유효하지 않다. 이러한 경우에는 몬테카를로 또는 다른 방법이 필요할 수 있지만, 일부 경우에는 표가 작성되어 있다. 정규 분포 및 지수 분포에 대한 검정 통계량의 필요한 수정 및 임계값에 대한 세부 정보가 게시되었으며,[11] 이후 출판물에는 굼벨 분포도 포함된다.[12] 릴리포스 검정은 정규 분포에 대한 이 특수한 경우를 나타낸다. 로그 변환은 콜모고로프 검정 데이터가 정규 분포에서 나왔다는 가정에 맞지 않는 경우를 극복하는 데 도움이 될 수 있다.
매개변수를 추정할 때는 어떤 추정 방법을 사용해야 하는지에 대한 의문이 생긴다. 일반적으로 최대가능도 방법이 사용되지만, 예를 들어 정규 분포의 경우 MLE는 시그마에 대한 큰 편향 오차를 가지고 있다. 대신 모멘트 적합 또는 KS 최소화를 사용하면 임계값에 큰 영향을 미치고, 검정력에도 어느 정도 영향을 미친다. df = 2인 스튜던트-T 데이터에 대해 KS 검정을 통해 데이터가 정규 분포인지 아닌지를 결정해야 하는 경우, H0(데이터가 정규 분포이므로 스케일에는 표준 편차 사용)에 기반한 ML 추정은 KS 최소화를 통한 적합보다 훨씬 큰 KS 거리를 제공할 것이다. 이 경우 H0를 기각해야 하는데, 이는 MLE의 경우 종종 발생한다. 왜냐하면 T-2 데이터의 표본 표준 편차는 매우 클 수 있지만, KS 최소화를 사용하면 H0를 기각하기에는 여전히 너무 낮은 KS를 얻을 수 있기 때문이다. 스튜던트-T의 경우, MLE 대신 KS 추정치를 사용한 수정된 KS 검정은 KS 검정을 실제로 약간 더 나쁘게 만든다. 그러나 다른 경우에는 이러한 수정된 KS 검정이 약간 더 나은 검정력을 제공한다.
이산 및 혼합 영 분포
가 비감소적이고 우연속적이며 셀 수 있는(무한할 수도 있는) 수의 점프를 가진다는 가정 하에, KS 검정 통계량은 다음과 같이 표현될 수 있다.
의 우연속성으로부터 및 가 성립하며, 따라서 의 분포는 영 분포 에 의존하게 된다. 즉, 연속적인 경우처럼 분포에 독립적이지 않다. 따라서 가 순수 이산적이거나 혼합일 때 의 정확하고 점근적인 분포를 계산하기 위한 빠르고 정확한 방법이 개발되었으며,[9] C++ 및 R 언어의 KSgeneral 패키지[10]에 구현되어 있다. disc_ks_test(), mixed_ks_test() 및 cont_ks_test() 함수는 순수 이산, 혼합 또는 연속 영 분포 및 임의 표본 크기에 대한 KS 검정 통계량과 p-값도 계산한다. 이산 영 분포 및 작은 표본 크기에 대한 KS 검정 및 p-값은[13]에서 R 언어의 dgof 패키지의 일부로 계산된다. SAS PROC NPAR1WAY,[14] Stata ksmirnov[15]와 같은 주요 통계 패키지는 가 연속이라는 가정 하에 KS 검정을 구현하는데, 이는 영 분포가 실제로 연속이 아닌 경우 더 보수적이다(Noether63Noether GE (1963). 《Note on the Kolmogorov Statistic in the Discrete Case》. 《Metrika》 7. 115–116쪽. doi:10.1007/bf02613966. S2CID 120687545.</ref>
[16]
[17] 참조).
Remove ads
2-표본 콜모고로프-스미르노프 검정
요약
관점

콜모고로프-스미르노프 검정은 두 개의 기초적인 1차원 확률 분포가 다른지 여부를 검정하는 데에도 사용될 수 있다. 이 경우 콜모고로프-스미르노프 통계량은 다음과 같다.
여기서 및 은 각각 첫 번째 표본과 두 번째 표본의 경험적 누적 분포 함수이며, 는 상한 함수이다.
큰 표본의 경우, 귀무 가설은 수준 에서 기각된다.
여기서 과 은 각각 첫 번째와 두 번째 표본의 크기이다. 값은 가장 일반적인 수준에 대해 아래 표에 나와 있다.
그리고 일반적으로[18] 다음으로 주어진다.
따라서 조건은 다음과 같다.
여기서 다시 표본 크기가 클수록 최소 경계가 더 민감해진다. 주어진 표본 크기 비율(예: )의 경우, 최소 경계는 표본 중 하나의 크기에 따라 역제곱근에 비례하여 조정된다.
두 표본 검정은 두 데이터 표본이 동일한 분포에서 왔는지 여부를 확인한다. 이는 공통 분포가 무엇인지(예: 정규 분포인지 아닌지)를 지정하지 않는다. 다시, 임계값 표가 발행되었다. 단변량 콜모고로프-스미르노프 검정의 단점은 두 분포 함수 간의 모든 가능한 유형의 차이에 민감하도록 고안되었기 때문에 검정력이 그리 강하지 않다는 것이다. 일부 사람들은[19][20] 원래 위치와 스케일을 동시에 비교하기 위해 제안된 쿠코니 검정이 두 분포 함수를 비교할 때 콜모고로프-스미르노프 검정보다 훨씬 더 강력할 수 있다고 주장한다.
Remove ads
분포 함수의 형태에 대한 신뢰 한계 설정
콜모고로프-스미르노프 검정은 일반적으로 주어진 F(x)가 Fn(x)의 기초 확률 분포인지 여부를 검정하는 데 사용되지만, 이 절차를 역으로 적용하여 F(x) 자체에 대한 신뢰 한계를 제공할 수 있다. 검정 통계량 Dα의 임계값을 P(Dn > Dα) = α가 되도록 선택하면 Fn(x) 주변의 ±Dα 폭의 구간은 확률 1 − α로 F(x)를 완전히 포함한다.
다차원 콜모고로프-스미르노프 통계량
분포에 독립적인 다변량 콜모고로프-스미르노프 적합도 검정이 후스텔, 페냐, 자마르(1997)에 의해 제안되었다.[22] 이 검정은 로젠블라트 변환을 사용하여 구축된 통계량을 사용하며, 이변량 경우에 이를 계산하는 알고리즘이 개발되었다. 또한 어떤 차원에서도 쉽게 계산할 수 있는 근사 검정도 제시되어 있다.
다변량 데이터에 유사한 검정을 적용하려면 콜모고로프-스미르노프 검정 통계량을 수정해야 한다. 이는 두 결합 누적 분포 함수 간의 최대 차이가 일반적으로 보완 분포 함수 중 어느 하나와의 최대 차이와 같지 않기 때문에 간단하지 않다. 따라서 또는 또는 다른 두 가지 가능한 배치 중 어느 것을 사용하는지에 따라 최대 차이가 달라질 것이다. 사용된 검정 결과가 어떤 선택에 의존하지 않아야 한다고 요구할 수 있다.
콜모고로프-스미르노프 통계량을 더 높은 차원으로 일반화하는 한 가지 접근 방식은 두 표본의 cdf를 가능한 모든 순서로 비교하고 결과 KS 통계량 세트 중 가장 큰 값을 취하는 것이다. d차원에서 이러한 순서는 2d − 1개가 있다. 이러한 변형 중 하나는 피콕(Peacock)의 것이며[23] (3D 버전은 고세트(Gosset)도 참조[24]) 다른 하나는 파사노(Fasano)와 프란체스키니(Franceschini)의 것이다[25] (비교 및 계산 세부 정보는 로페스 등 참조).[26] 검정 통계량의 임계값은 시뮬레이션을 통해 얻을 수 있지만, 결합 분포의 의존성 구조에 따라 달라진다.
Remove ads
구현
콜모고로프-스미르노프 검정은 많은 소프트웨어 프로그램에 구현되어 있다. 대부분은 1-표본 및 2-표본 검정을 모두 구현한다.
- Mathematica에는 KolmogorovSmirnovTest가 있다.
- MATLAB의 Statistics Toolbox에는 1-표본 및 2-표본 콜모고로프-스미르노프 검정을 위한 kstest와 kstest2가 있다.
- R 패키지 "KSgeneral"[10]은 임의의 이산, 혼합 또는 연속 영 분포 하에서 KS 검정 통계량과 p-값을 계산한다.
- R의 통계 기본 패키지는 "stats" 패키지에 ks.test {stats}로 검정을 구현한다.
- SAS는 PROC NPAR1WAY 프로시저에 검정을 구현한다.
- 파이썬에서는 SciPy 패키지가 scipy.stats.kstest 함수에 검정을 구현한다.[27]
- SYSTAT (SPSS Inc., 시카고, 일리노이)
- Java에는 아파치 커먼즈에서 제공하는 이 검정의 구현이 있다.[28]
- KNIME에는 위의 Java 구현을 기반으로 이 검정을 구현하는 노드가 있다.[29]
- Julia에는 함수 ExactOneSampleKSTest(x::AbstractVector{<:Real}, d::UnivariateDistribution)가 포함된 HypothesisTests.jl 패키지가 있다.[30]
- StatsDirect (StatsDirect Ltd, 맨체스터, 영국)은 모든 일반적인 변형을 구현한다.
- Stata (Stata Corporation, 칼리지 스테이션, 텍사스)는 ksmirnov (콜모고로프-스미르노프 분포 동등성 검정) 명령에 검정을 구현한다.[31]
- PSPP는 KOLMOGOROV-SMIRNOV (또는 KS 바로가기 함수 사용)에서 검정을 구현한다.
- Excel용 Real Statistics Resource Pack은 KSCRIT 및 KSPROB로 검정을 실행한다.[32]
Remove ads
같이 보기
- 르파주 검정
- 쿠코니 검정
- 쿠이퍼 검정
- 샤피로-윌크 검정
- 앤더슨-달링 검정
- 크라메르-폰 미제스 검정
- 바서슈타인 거리
각주
추가 자료
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
