R의 kolmogorov-smirnov 테스트(예제 포함)


Kolmogorov-Smirnov 테스트는 표본이 특정 분포에서 나오는지 여부를 테스트하는 데 사용됩니다.

R에서 1-샘플 또는 2-샘플 Kolmogorov-Smirnov 테스트를 수행하려면 ks.test() 함수를 사용할 수 있습니다.

이 튜토리얼에서는 실제로 이 기능을 사용하는 방법의 예를 보여줍니다.

예 1: Kolmogorov-Smirnov 테스트 샘플

다음과 같은 샘플 데이터가 있다고 가정합니다.

 #make this example reproducible
seed(0)

#generate dataset of 100 values that follows a Poisson distribution with mean=5
data <- rpois(n= 20 , lambda= 5 )

관련 항목: R의 dpois, ppois, qpois 및 rpois에 대한 가이드

다음 코드는 이 100개의 데이터 값 샘플에 대해 Kolmogorov-Smirnov 테스트를 수행하여 정규 분포에서 나온 것인지 확인하는 방법을 보여줍니다.

 #perform Kolmogorov-Smirnov test
ks.test(data, “ pnorm ”)

	One-sample Kolmogorov–Smirnov test

data:data
D = 0.97725, p-value < 2.2e-16
alternative hypothesis: two-sided

결과에서 검정 통계량은 0.97725 이고 해당 p-값은 2.2e-16 임을 알 수 있습니다. p-값이 0.05보다 작으므로 귀무가설을 기각합니다. 표본 데이터가 정규 분포에서 나오지 않는다고 말할 수 있는 충분한 증거가 있습니다.

푸아송 분포를 따르는 임의의 값을 생성하는 rpois() 함수를 사용하여 샘플 데이터를 생성했기 때문에 이 결과는 놀라운 일이 아닙니다.

예 2: 2-표본 Kolmogorov-Smirnov 검정

다음과 같은 두 가지 샘플 데이터 세트가 있다고 가정해 보겠습니다.

 #make this example reproducible
seed(0)

#generate two datasets
data1 <- rpois(n= 20 , lambda= 5 )
data2 <- rnorm( 100 )

다음 코드는 이 두 샘플에 대해 Kolmogorov-Smirnov 테스트를 수행하여 두 샘플이 동일한 분포에서 나온 것인지 확인하는 방법을 보여줍니다.

 #perform Kolmogorov-Smirnov test
ks.test(data1, data2)

	Two-sample Kolmogorov–Smirnov test

data: data1 and data2
D = 0.99, p-value = 1.299e-14
alternative hypothesis: two-sided

결과에서 검정 통계량은 0.99 이고 해당 p-값은 1.299e-14 임을 알 수 있습니다. p-값이 0.05보다 작으므로 귀무가설을 기각합니다. 두 개의 샘플 데이터 세트가 동일한 분포에서 나온 것이 아니라고 말할 수 있는 충분한 증거가 있습니다.

첫 번째 표본의 값은 포아송 분포를 사용하고 두 번째 표본의 값은 정규 분포를 사용하여 생성했기 때문에 이 결과도 놀랄 일은 아닙니다.

추가 리소스

R에서 Shapiro-Wilk 테스트를 수행하는 방법
R에서 Anderson-Darling 테스트를 수행하는 방법
R에서 다변량 정규성 테스트를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다