반응형

크루스칼-왈리스 검정은 모수적 방법에서의 one-way anova와 같은 목적으로 쓰입니다.


대신 그룹별로 평균이 아닌 중위수가 같은지 아닌지를 검정합니다.



A (98,95,76,95,83,99,82,75,88)
B (95,71,80,81,77,70,80,72,81)
C (77,79,91,84,80,93,87,81,83)



예를 들어, 아래와 같은 세 그룹이 있는 이 세 그룹간의 중위수의 차이가 있는가를 알아보기 위하여 쓰입니다.


즉, H0 : A의 중위수 = B의 중위수 = C의 중위수 vs H1 : 최소 한 그룹의 중위수가 다르다.


이를 검정하기 위한 검정통계량은 아래와 같습니다.




이 때 N은 전체 표본의 수이고, ni는 각각의 그룹의 표본 수 입니다. ri는 표본들을 모두 합친 후 순위를 냈을 때의 그룹별 데이터의 순위값입니다. 만약 중위수가 정말 같다면(H0=True) ri의 평균은 비슷할 것입니다. 다르다면 이 값이 커지게 되고, 유의하게 컸을 때, H0를 기각하게 됩니다.


H의 정확한 분포를 구하는 것은 매우 복잡하기 때문에 그룹당 표본수가 충분하면 H가 자유도 (k-1)인 카이제곱 분포를 따른다는 것을 이용하여 검정할 수 있습니다. (이 때 k=그룹의 수)


R 을 통하여 크루스칼 왈리스 검정을 하는 법은 아래와 같습니다.



value1 <- c(98,95,76,95,83,99,82,75,88)
value2 <- c(95,71,80,81,77,70,80,72,81)
value3 <- c(77,79,91,84,80,93,87,81,83)
category <- c(rep("A",9),rep("B",9),rep("C",9))
data <- data.frame(value=c(value1,value2,value3), category)


kruskal.test(value~category, data=data)



결과

Kruskal-Wallis rank sum test



data: value by category


Kruskal-Wallis chi-squared = 5.6972, df = 2, p-value = 0.05793


반응형