본문 바로가기
IT

[R Programming] 정규성 검정 - Shapiro-Wilks test

by urosie 2019. 7. 6.

주어진 자료가 있을 때, 그 자료의 데이터들이 정규분포를 따르는지 검정하는 방법으로

통계의 여러 검정법들이 데이터의 정규분포를 가정하고 수행되기 때문에
데이터 자체에 대한 정규성 검정 진행이 필요하다.

(만약 실제 자료가 정규성을 만족하지 않는다면 분석 결과에 대한 타당성이 떨어짐)

정규성 검정 종류에는 아래 3가지가 있고, 여기서는 Shapiro-Wilks Test를 정리하려 한다.
- 정규성 검정 종류 : Shpiro-Wilks test, Kolmogorove-Smirnov test, Quantile-Quantile plot

[Shpiro-Wilks test]

<가정 : 미국 여자 성인들의 몸무게는 정규분포를 따른다.> 는 가정이 있다고 한다.
1단계는 정규성 검정(Normality test) 으로 데이터의 정규분포를 검증하는 것으로, 귀무가설과 대립가설을 세운다
 - 귀무가설 : 정규분포를 따른다.
 - 대립가설 : 정규분포를 따르지 않는다.

데이터는 R샘플 데이터의 women의 weight 변수로 확인해 보았다.

shapiro.test(women$weight)

shapiro-wilks test를 통한 데이터의 정규성 검정

p-value 값인 유의확률이 0.699이므로 유의수준 0.05보다 크기 때문에  
귀무가설을 채택, 즉 정규성 가정을 만족한다고 볼 수 있다.
(W값에 대해서도 궁금한데 구글에 검색해도 나오지 않는다 @_@)

 해당 데이터에 대해서 QQ plot을 그려보아도 정규 분포 인지 확인 할 수 있다.

 

샘플 데이터를 하나 더 확인해 보도록 하자
iris 데이터의 Petal.Length로 shapiro.test 검정을 진행한다. (iris 꽃의 꽃잎의 길이)

p-value 값을 확인 해보면 0.05 보다 작은 값이기 때문에, 정규분포를 따른다고 할 수 없다.
즉, 대립가설을 채택하며 정규성 가정을 만족한다고 볼 수 없다.

해당 데이터에 대해서 QQ plot을 그려보아 확인한다.
그래프로 볼 때도 QQline에 데이터들이 따르지 않기 때문에 정규분포를 따르지 않음을 알 수 있다.
- QQline(정규분포를 가정하는 선)

추가로 확인되는 내용이 있을 때마다 업데이트 해야겠다 @_@

댓글