많은 통계 분석 기법과 머신러닝 알고리즘은 정규분포를 따른다는 가정 하에 설계되어 있다. 그러나 실제 데이터가 정말 정규분포를 따르는지를 검토하지 않고 분석을 수행한다면, 결과 해석이 왜곡되거나 의사결정에 오차가 발생할 수 있다. 이를 방지하기 위한 필수 절차가 바로 **정규성 검정(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)”다. 중심에 평균(μ)이 위치하고, 분산(σ²)에 따라 넓게 또는 좁게 퍼진다. 데이터가 이 곡선에 얼마나 잘 맞는지를 검정하는 것이 정규성 검정의 본질이다.
대표적인 정규성 검정 방법
- Shapiro-Wilk 검정
정규성 검정에서 가장 널리 쓰이는 방법이다. 소표본(n < 5000)에 강하고, 중심과 꼬리에서의 민감도도 높다.
귀무가설은 “정규분포를 따른다”이며, p-value가 0.05보다 작으면 정규성을 기각한다. - Kolmogorov–Smirnov(K–S) 검정
데이터의 누적분포와 정규분포의 누적분포 함수 간 최대 차이를 기준으로 판단한다. 상대적으로 덜 민감하지만 계산이 빠르다. - Anderson–Darling 검정
K–S 검정보다 정규분포의 양끝(꼬리)에 더 민감하다. 극단값이 중요한 도메인(예: 금융 리스크)에서는 더 선호된다. - 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 등 시각적 해석이 보완적 역할을 한다.
- 정규성 검정은 분석 목적에 따라 필요 없는 경우도 많다. 예를 들어, 비모수 검정이나 결정 트리 기반 머신러닝 모델은 정규성을 전제로 하지 않는다.
정규성 검정은 통계 분석의 첫 단추이며, 분석의 신뢰성과 해석력을 결정짓는 기초 검증 도구다. 그러나 그 결과를 맹신하기보다 데이터의 성격과 분석 목적에 따라 유연하게 해석하는 태도가 요구된다. 데이터 과학자는 수학적 정확성과 함께 통계적 직관을 겸비해야 하며, 정규성 검정은 그 균형점을 점검하는 대표적인 관문 중 하나다.