정규성 검정


정규성을 판별해야지 통계학의 많은 개념들을 활용 할 수 있다.

평균값, 중앙값, 왜도, 첨도 등을 확인하는것이 필 수 적이다.

정규성 검증에 관한 고찰

정규성 가정이 상대적으로 덜 한 통계적 분석 방법

  • Sample t test
  • t test
  • ANOVA (비모수 Krukal-Wallis test)
  • Regression Analysis

위와 같은 경우 평균에 대해서 비교하기 때문에 정규성 가정의 중요도가 상대적으로 덜 하다.

이러한 이유에서 정규분포 하지 않는 데이터 분석에도 사용되어지고 있다.

정규성이 성립하지 않는 이유들로는 다음과 같다.

  • 배경에 사용된 분포가 정규분포를 하지 않는 경우
  • 이상치나 두개 이상의 분포가 섞여 있는 경우
  • 낮은 해상도의 Gage R&R을 사용한 경우
  • 데이터의 중심이 한쪽으로 치우쳐 있는 경우(Skewed data)
  • 표본의 갯수가 너무 많은 경우

통계학의 근간 이론

중심극한 정리 (Central Limit Theorem)

모집단의 실제 분포에 관계 없이 표본크기 n이 증가할수록 표본평균의 분포는 정규분포에 근사한다.

대수의 법칙 (Law of Large Number)

정규성 검증 Sapiro-Wilks Test

정규성을 판별하는 검증 방법은
Kolmogorov-Smirnov test(콜모고로프 스미르노프), Sapiro-Wilks test가 있다.
표본수가 30개 이하 일 때는 중심극한정리를 가정하기 어렵기 때문에 정규성 검정을 해야 한다.

귀무가설 $H_0$: 데이터가 정규분포를 따른다.
대립가설 $H_1$: 데이터가 정규분포를 따르지 않는다.

p-value가 .05 보다 커야 귀무가설을 채택할 수 있다.

> data <- sample(50:1000,replace=TRUE)
> shapiro.test(data)

    Shapiro-Wilk normality test

data:  data
W = 0.95422, p-value < 2.2e-16

p값이 너무 작기 때문에 귀무가설은 기각 된다.
히스토그램을 그려봐도 정규성을 만족하지 않음을 알 수 있다.

정규성을 따르지 않는다.

이제, rnorm으로 해보자. 당연히 parameter(모수)가 정규 분포이므로 정규분포를 따를 것이다.

> dataNorm <- rnorm(1000,0,1)
> hist(dataNorm)
> hist(dataNorm,las=1)
> shapiro.test(dataNorm)

    Shapiro-Wilk normality test

data:  dataNorm
W = 0.99882, p-value = 0.7661

p값이 0.05많이 크다. 귀무가설을 채택한다.
히스토그램도 정규성을 가진다는것을 눈으로 쉽게 확인 가능 하다.

그래프에 의한 정규성 검증, Kernel Density Plot, Q-Q plot

Normal Q-Q plot을 그려서 Linear화의 정도를 눈으로 보면서 확인 할 수 있다.

dataNorm <- rnorm(1000,0,1)
qqnorm(dataNorm)
qqline(dataNorm)

비정규성 일떄의 검증 방법, Kruskal-Wallis Test(비모수적인 방법)

갖고 계신 표본이 정규성 가정을 만족하지 못할 경우에 각 집단별 표본평균의 동질성을 비교하기 위해서는 비모수 검정 중 하나인 Kruskal-Wallis Test를 한다.

비모수 검정에서는 Bonferroni Correction이라는 방법을 이용해서 각 집단간 차이를 비교한다.

예를 들어 a,b,c,d 4개 집단을 비교하고 싶다면, a-b, a-c, a-d, b-c, b-d, c-d 에 대해 각각 Mann-Whitney test 를 한다.

총 6번의 분석을 다시 해야 되겠죠. 그 다음에 각각의 분석 결과에서 얻은 p-value 를 살펴보는데, 유의수준을 0.05로 설정했을 경우 0.05가 아닌 0.05/6 = .00833를 기준값으로 p-value를 해석한다.

즉, p-value 가 .00833 작으면 Bonferroni Correction 에 의한 사후분석 결과 그 집단들 사이에는 통계적으로 유의한 차이가 있다고 판단하면 된다.

참고자료

[1] 이론, http://dermabae.tistory.com/148
[2] 코드, http://acpi.tistory.com/30
[3] 단일 모집단 분포의 정규성 검정, http://rfriend.tistory.com/118
[4] 정규성 가정이 상대적으로 덜 중요한 통계적 분석 방법은?|작성자 평화롭게
[5] 깜신의 통계이야기, R을 이용해서 정규성 검증을 해보자!


'Data Science > Probability & Statistics (R)' 카테고리의 다른 글

표준오차 (Standard Error)  (0) 2016.10.27
정규성 검정  (3) 2016.08.20
비교 분석  (0) 2016.08.03
가설 검증과 추정  (0) 2016.08.03
이상치 제거 (Box-plot 해석을 통한)  (0) 2015.01.03
통계학: F-검정  (0) 2013.08.29
  1. 정복영 2016.11.28 21:38

    게시물 잘 보았습니다.
    제가 통계를 돌리다가 고민이 되어 도움을 구하고자 질문올립니다.
    3집단(n=20/39/19)의 평균을 비교하고자하는데요.
    2개의 집단은 정규성이 만족되는데 하나의 집단이 정규성 만족이 안됩니다.
    n도 두 집단은 30을 넘지 못하고요.
    하지만 anova나 manoava 분석 결과 유의미한 값이 나오는데 이런경우 결과를 써야할까요? 아니면 비모수 통계로 돌려야할까요??

    • 주인장 2016.11.29 10:35

      확실하진 않지만 ANOVA가 분산 분석인 만큼 F 통계량에 기반하기 때문에 정규성을 만족하긴 해야합니다.
      하지만 많은 논문들에서 정규성 검정을 생략하고 ANOVA 분석만 실행하기도 합니다.

  2. 곰돌이청 2019.05.28 20:32

    좋은 글 감사합니다.
    표본 수가 30이하인 경우 정규성 검정을 해야 한다고 말씀하셨는데요.
    사용하신 예시 데이터를 보면, 데이터 수가 30개보다 훨씬 많은데, 이러한 경우는 정규성 검정을
    왜 하는 것인지 알고 싶습니다 ~!

+ Recent posts