데이터는 정규분포를 따르는가?

많은 통계 분석 기법과 머신러닝 알고리즘은 정규분포를 따른다는 가정 하에 설계되어 있다. 그러나 실제 데이터가 정말 정규분포를 따르는지를 검토하지 않고 분석을 수행한다면, 결과 해석이 왜곡되거나 의사결정에 오차가 발생할 수 있다. 이를 방지하기 위한 필수 절차가 바로 **정규성 검정(Normality Test)**이다.


정규분포를 따르는지 왜 확인해야 하는가?

t-검정(t-test), ANOVA, 회귀분석, 신뢰구간 추정 등 주요 통계 기법들은 대부분 “표본이 정규분포를 따른다”는 전제 위에서 계산된다. 이 가정이 무너질 경우, 검정력(power)이 떨어지고 제1종 오류(잘못된 귀무가설 기각) 혹은 제2종 오류(잘못된 귀무가설 수용) 확률이 비정상적으로 증가한다.

정규성은 수학적으로는 다음과 같은 확률 밀도 함수로 정의된다:

[
f(x) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( -\frac{(x – \mu)^2}{2\sigma^2} \right)
]

이 곡선은 흔히 말하는 “벨 커브(bell curve)”다. 중심에 평균(μ)이 위치하고, 분산(σ²)에 따라 넓게 또는 좁게 퍼진다. 데이터가 이 곡선에 얼마나 잘 맞는지를 검정하는 것이 정규성 검정의 본질이다.


대표적인 정규성 검정 방법

  1. Shapiro-Wilk 검정
    정규성 검정에서 가장 널리 쓰이는 방법이다. 소표본(n < 5000)에 강하고, 중심과 꼬리에서의 민감도도 높다.
    귀무가설은 “정규분포를 따른다”이며, p-value가 0.05보다 작으면 정규성을 기각한다.
  2. Kolmogorov–Smirnov(K–S) 검정
    데이터의 누적분포와 정규분포의 누적분포 함수 간 최대 차이를 기준으로 판단한다. 상대적으로 덜 민감하지만 계산이 빠르다.
  3. Anderson–Darling 검정
    K–S 검정보다 정규분포의 양끝(꼬리)에 더 민감하다. 극단값이 중요한 도메인(예: 금융 리스크)에서는 더 선호된다.
  4. Q-Q Plot (Quantile-Quantile Plot)
    수치적 검정이 아니라 시각적 정규성 확인 방법이다. 정규분포의 이론적 분위수와 실제 데이터를 정렬해 직선에 가까운지 확인한다.

실전 적용 예시

예를 들어, 사람의 키 데이터(평균 170cm, 표준편차 10cm)를 1000명 정도 수집했다고 가정하자. 이 데이터를 히스토그램으로 시각화하면, 대부분 벨 커브 모양을 보이지만 눈으로만 정규성을 판단하기엔 한계가 있다. 아래와 같은 검정을 통해 객관적 근거를 마련할 수 있다.

from scipy.stats import shapiro
stat, p = shapiro(data)

만약 p-value가 0.25로 나온다면, 이는 귀무가설(정규분포를 따른다)을 기각할 수 없음을 의미한다. 즉, 이 데이터는 정규분포 가정 하에 회귀 분석이나 t-검정에 활용 가능하다는 결론을 내릴 수 있다.


정규성 검정의 오해와 주의점

  • p-value > 0.05라고 무조건 정규성을 만족한다고 단정할 수는 없다. 이는 단지 “정규성을 기각할 수 없다”는 의미이며, 정규성의 강도나 품질을 보장하지는 않는다.
  • 대용량 데이터일수록 검정이 너무 민감해져 미세한 비정규성도 검출되며, 이로 인해 의미 없는 기각이 발생할 수 있다. 이때는 Q-Q plot 등 시각적 해석이 보완적 역할을 한다.
  • 정규성 검정은 분석 목적에 따라 필요 없는 경우도 많다. 예를 들어, 비모수 검정이나 결정 트리 기반 머신러닝 모델은 정규성을 전제로 하지 않는다.

정규성 검정은 통계 분석의 첫 단추이며, 분석의 신뢰성과 해석력을 결정짓는 기초 검증 도구다. 그러나 그 결과를 맹신하기보다 데이터의 성격과 분석 목적에 따라 유연하게 해석하는 태도가 요구된다. 데이터 과학자는 수학적 정확성과 함께 통계적 직관을 겸비해야 하며, 정규성 검정은 그 균형점을 점검하는 대표적인 관문 중 하나다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다