본문 바로가기

R 통계

[R] 정규성 분석

qq plot

qqnorm()

  • 정규 분포표의 qq plot을 그려주는 함수
<사용법>
qqnorm(data)

 

qqline()

  • qqnorm에서 정규성을 나타내주는 선이 추가된 형태
  • line 위에 dot이 존재한다면 정규분포하다고 이야기할 수 있다.
<사용법>
qqline(data)

 

^ qqnorm(df$age) ^qqline(df$age)

 

 t-test 등 정규분포의 형태를 전재로 하는 검정을 하기전 정규성 판단에 사용하는 함수


shapiro.test()

  • 정규성 검정을 위한 p-value도출 함수
  • p-value < 0.05이면 H0 : 정규분포 하다를 기각하므로 정규분포하지 않다고 할 수 있음
  • p-value > 0.05이면 H0를 기각하지 못하므로 정규분포한다고 할 수 있음
<사용법>
shapiro.test(data)     ##이때 data는 vector이어야함 1차원 dataframe을 넣을시 함수 실행안됨
                                ## 3<= n <= 5000범위에서 실행됨, 5000이상일 시 중심극한정리에 의해 정규분포하다고 판단

ex) shapiro.test(df$age)    O
      shapiro.test(df['age'])   X

 

이 경우에는 p-value가 0.05보다 작으므로 정규분포를 따른다고 할 수 없다.

 

하지만 n의 크기가 매우 크므로 중심극한정리에 의해 정규분포하다고 할 수 있음 -> 하나의 검정결과 말고 여러 검정결과를 보고 전체적인 맥락에서의 판단 필요

 

중심 극한 정리 :  동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포 가까워진다는 정리이다. (n >= 30)


GPT형님의 말씀

-Shapiro-Wilk 검정은 매우 민감하므로, p-값이 0.05보다 작더라도 데이터가 반드시 "심각하게" 정규분포에서 벗어났다는 뜻은 아닐 수 있습니다. 특히 표본 크기가 클수록 작은 비정규성에도 반응할 수 있습니다.

-QQ 플롯
에서 데이터가 선과 거의 일치한다면, 시각적으로는 정규성을 만족한다고 볼 수 있습니다.

-중심극한정리
에 의해 표본 크기가 충분히 크면, 데이터를 비록 완벽한 정규분포는 아니더라도 정규성 가정을 할 수 있습니다.

이러한 상황에서는, Shapiro-Wilk 검정 결과에만 의존하기보다는 시각적 분석(QQ 플롯)과 표본 크기 등을 고려하여 전체적인 맥락에서 판단하는 것이 좋습니다. p-값이 작더라도 데이터가 실질적으로 정규분포와 크게 다르지 않다고 판단될 수 있습니다.

'R 통계' 카테고리의 다른 글

[R] dataframe과 열의 차이  (1) 2024.10.15
[R] 데이터 전처리 -결측치 제거  (0) 2024.10.15
[R] 범주형 데이터와 그래프  (0) 2024.10.12
[R] 수치형 데이터와 그래프  (0) 2024.10.12
[R] 외부 데이터 불러오기  (0) 2024.10.12