정규성 검정 (Normality test)

Shapiro-Wilk Normality test

특정 데이터셋이 정규분포를 하고 있는지 테스트하는 방법으로는 graphical methods (histogram, boxplots, Q-Q plots), numerical methods (skewness, kurtosis indics), 그리고 일반적인 정규성 검정등이 있습니다. Razali NM & Wah YB (2011)은 10,000개의 샘플을 가지고 몬테카를로 시뮬레이션으로 다양한 방법의 검정방법을 서로 비교한 결과 Shapiro-Wilk test가 가장 검정력이 좋았으며 그 뒤로 Anderson-Darling test, Lilliefors test, Kolmogorov-Smirnov test 순으로 나타났다고 보고한 바 있습니다. 그러나 여전히 샘플사이즈가 작은 경우는 모두 다 검정력이 낮다고 하였습니다.

R에서 Shapiro-Wilk Normality test는 missing data를 포함하여 총 3-5000개의 observations을 검정할 수 있으며, p-value < 0.05 이면 정규분포를 하지 않는다고 가정할 수 있으나 Royston (1995)는 p < 0.1 정도가 적당하다고 언급한바 있습니다.


x <- rnorm(100, mean = 5, sd =3)
shapiro.test(x)
##  Shapiro-Wilk normality test
## 
## data:  x
## W = 0.99394, p-value = 0.9378

y <- runif(100, min = 2, max = 4)
shapiro.test(y)
##  Shapiro-Wilk normality test
## 
## data:  y
## W = 0.94055, p-value = 0.0002082

Kolmogorov-Smirnov test

일반적으로 Kolmogorov-Smirnov test는 통계적 파워가 약해서 하나의 데이터셋에 대한 정규성 검정의 방법으로 잘 추천되지 않으나 (Ghasemi & Zahediasi, 2012), 두 샘플이 동일한 분포를 가지고 있는지에 대한 검정에서는 유용하게 사용할 수 있습니다.


x <- rnorm(50)
y <- runif(30)
ks.test(x, y)

##  Two-sample Kolmogorov-Smirnov test
## 
## data:  x and y
## D = 0.62, p-value = 2.964e-07
## alternative hypothesis: two-sided

References

  • Ghasemi A, Zahediasl S. Normality tests for statistical analysis: a guide for non-statisticians. International journal of endocrinology and metabolism. 2012;10(2):486.
  • Razali NM, Wah YB. Power comparisons of shapiro-wilk, kolmogorov-smirnov, lilliefors and anderson-darling tests. Journal of statistical modeling and analytics. 2011 Jan 1;2(1):21-33.
  • Royston P. Remark AS R94: A remark on algorithm AS 181: The W-test for normality. Journal of the Royal Statistical Society. Series C (Applied Statistics). 1995 Jan 1;44(4):547-51.