내가 하는 통계 분석/SAS

[내가 하는 통계 분석] 크루스칼 왈리스 검정(Kruskal Wallis test) in SAS

산격동 너구리 2021. 3. 5. 11:39

안녕하세요, 산격동 너구리입니다.

 

 

이번 포스팅은,

 

SAS를 이용한 "크루스칼 왈리스 검정"입니다.

 


개요

 

 

 크루스칼 왈리스 검정이란??
분산 분석(ANOVA)에서 정규성 가정이 만족되지 않을 때 사용하는 비모수 검정법

ANOVA와는 달리 중앙값에 관한 결과를 얻을 수 있음.

 

 가정
1. 표본은 독립적이다.

2. 측정값은 최소 순서형 변수이다. (대소 비교가 가능해야 합니다.)

비모수 검정은 가정에 있어서 상당히 자유롭지만,

 

일반적으로 비모수 검정이 검정력에서 더 좋지 않은 경향을 가집니다.

 

따라서, 모수 검정의 가정을 충족시키지 못할 때 사용하는 것이 비모수 검정이라고 보시면 되겠습니다.

 

 가설
$H_0$ : 모든 그룹의 중앙값은 서로 같다.

$H_1$ : 모든 그룹의 중앙값이 전부 같은 것은 아니다.

예제

07. [산격동 너구리] ANOVA 예제.csv
0.00MB

이전에 사용했었던 ANOVA 예제와 같은 파일로 하겠습니다.

 

A, B, C 고등학교 학생들의 하루 공부 시간을 조사했을 때,

 

고등학교 간에 공부 시간이 차이가 있는지 확인해보겠습니다.

 

위의 파일을 이용하였고, 통계적 유의수준은 0.05로 두었습니다.

 

 

데이터 불러오기
/* SAS는 내가 실행시킬 줄을 드래그하고 F8을 누르시면 그 문장만 실행됩니다. */
/* 데이터 읽기 */
proc import file = "G:\산격동 너구리\[수정]\예제 파일\07. [산격동 너구리] ANOVA 예제.csv"
	out= work.data dbms = csv replace;
run;

 

가정

ANOVA 가정을 만족시켰던 예시이므로, 

 

당연하게 Kruskal Wallis test의 가정도 만족시키게 됩니다.

 

 

가설
$H_0$ : 세 고등학교 학생들의 평균 학습 시간은 전부 같다.

$H_1$ : 세 고등학교 학생들의 평균 학습 시간은 전부 같은 것은 아니다.

예제를 위해 임의로 지정한 가설입니다.

 

상황에 맞추어 적절히 변형하시길 바랍니다.

 

 

크루스칼 왈리스 검정
/* Kruskal Wallis test */
proc npar1way data = data wilcoxon;
	class group;
	var time;
run;

p-value가 0.05 미만이므로 귀무가설을 기각합니다.

 

따라서, "세 고등학교 학생들의 공부시간 중앙값은 유의한 차이가 있다"라는 결론을 낼 수 있습니다.

 

 

 

사후 분석
/* 사후 검정 */
proc rank data  = data out = data_rank;
	var time;
run;

proc glm data = data_rank;
	class group;
	model time = group;
	lsmeans group / adjust = bon ;
run;

SAS에서 Kruskal Wallis 사후 검정에 대해서 많이 찾아봤었는데요,

 

과정이 조금 번거롭기도하고, 직관적이지도 않습니다.

 

그래도 이론적인 부분을 생략하고, 해석만 하시려면 쉽게 하실 수 있습니다.

 

서로 교차되는 지점이 그룹 간 p-value라고 보시면 되기 때문에

 

어느 그룹끼리 유의한 차이가 있고, 어느 그룹끼리 유의한 차이가 없는지 확인하시면 되겠습니다.


이것으로 SAS를 이용한 크루스칼 왈리스 검정에 대해 마치도록 하겠습니다.

 

이상, 산격동 너구리였습니다.

 

감사합니다.

 

 

 

* 잘못된 정보 및 오타가 포함되어 있을 수 있습니다.

  그대로 받아들이시기보다는 다른 사람의 의견도 참고하셔서 분석하시길 바랍니다.

 

* 포스팅 내용 및 통계 분석 관련 질문은 언제나 환영입니다.

  가능한 선에서 최대한 답변하도록 하겠습니다.