분산이 큰지 아닌지를 어떻게 확인하지?
데이터 분석이나 머신러닝을 하다 보면 자주 듣는 말 중 하나가 "이 데이터의 분산이 크다"는 표현입니다.
그런데 막상 실무나 공부를 하다 보면, "분산이 크다"는 게 정확히 어떤 의미인지 헷갈릴 수 있습니다.
이 글에서는 "분산이 크다는 게 뭘까?", "어떻게 확인하지?"에 대해 차근차근 알아보겠습니다.
분산이란?
분산(Variance)은 데이터가 평균을 기준으로 얼마나 퍼져 있는지를 수치로 표현한 값입니다.
수식적으로는:
$$
\text{분산} = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2
$$
- $x_i$ : 각 데이터 값
- $\bar{x}$ : 평균
분산이 크다는 것은 → 데이터가 평균에서 많이 떨어져 흩어져 있다는 뜻입니다.
분산이 큰지 확인하는 5가지 방법
1. 직접 분산을 계산해본다
import numpy as np
data = [3, 4, 5, 6, 50]
print("분산:", np.var(data)) # 출력 예: 313.6
숫자가 크면 클수록 평균에서 데이터가 멀리 떨어져 있다는 의미입니다.
(단, 단위에 영향을 받기 때문에 스케일도 고려해야 함)
2. 표준편차를 사용한다
분산은 제곱된 값이기 때문에 해석이 어려울 수 있습니다.
그래서 분산의 제곱근인 표준편차(Standard Deviation)를 많이 사용합니다.
print("표준편차:", np.std(data))
표준편차도 값이 크면 → 데이터가 퍼져 있다는 신호입니다.
3. 시각화로 확인한다
- 히스토그램
- 박스플롯(Box Plot)
- 산점도(Scatter Plot)
이런 시각화 방법으로 데이터의 흩어짐 정도를 직관적으로 확인할 수 있습니다.
import matplotlib.pyplot as plt
plt.hist(data, bins=10)
plt.title("Data Distribution")
plt.show()
4. 평균과 범위를 비교한다
평균과 최댓값-최솟값의 차이(range)가 크면 분산도 클 가능성이 높습니다.
예:
- 평균: 5
- 범위: 3 ~ 50 → 범위가 크므로 분산도 큼
5. 다른 집단과 비교한다
데이터가 2개 이상 있을 때는 상대 비교가 유용합니다.
a = np.array([4, 5, 6])
b = np.array([1, 20, 35])
print("A 집단 분산:", np.var(a))
print("B 집단 분산:", np.var(b))
이렇게 하면 어느 쪽이 더 퍼져 있는지 명확하게 알 수 있습니다.
마무리
"분산이 크다"는 건 단순히 숫자가 크다는 의미가 아닙니다.
그 데이터가 평균을 중심으로 얼마나 퍼져 있는지, 예측이 얼마나 어려운지와 직결되는 중요한 지표입니다.
데이터를 다룰 때는 다음을 항상 염두에 두세요:
- 분산을 계산해보고
- 시각화해서 눈으로 확인하고
- 다른 집단과 비교해보며
- 상황에 따라 해석을 다르게 하기
'통계' 카테고리의 다른 글
결정론적 의사결정 vs 통계적 의사결정 (1) | 2023.04.16 |
---|---|
기술통계(Descriptive Statistics)와 추론통계(Inferential Statistics) (1) | 2023.03.22 |
회귀분석(Regression Analysis) (1) | 2023.03.09 |