등분산 검정은 여러 그룹의 데이터가 동일한 분산(변동성)을 가지는지 여부를 확인하기 위한 통계적 방법입니다. 이 검정은 여러 그룹 간의 분산이 유의미하게 다른지 확인하여, 주로 다음과 같은 상황에서 사용됩니다:
- ANOVA(분산 분석): ANOVA를 수행하기 전에, 그룹 간의 분산이 동일하다는 가정이 필요한 경우 등분산 검정을 수행합니다.
- 두 그룹의 평균 비교(t-검정): 두 그룹의 평균을 비교할 때, 두 그룹의 분산이 동일한지 확인합니다.
등분산 검정의 대표적인 방법으로는 다음과 같은 것들이 있습니다:
Bartlett’s Test(바틀렛 검정):
- 가정: 각 그룹의 데이터가 정규 분포를 따릅니다.
- 바틀렛 검정은 여러 그룹 간의 분산이 동일한지 검정하는 가장 일반적인 방법입니다. 그러나 정규성을 가정하기 때문에 정규성을 만족하지 않는 경우 신뢰도가 떨어질 수 있습니다.
Levene’s Test(레빈 검정):
- 가정: 정규성을 가정하지 않습니다.
- 레빈 검정은 정규성을 가정하지 않기 때문에, 바틀렛 검정보다 더 널리 사용됩니다. 특히 데이터가 정규분포를 따르지 않는 경우에 유용합니다.
Fligner-Killeen Test(플리그너-킬린 검정):
- 가정: 정규성을 가정하지 않습니다.
- 레빈 검정과 비슷하지만, 더 강력한 방법입니다. 특히 데이터가 정규분포를 따르지 않거나, 이상치에 민감한 경우에 유리합니다.
예제: 그래프를 통한 등분산 검정

위 그림은 세 그룹의 데이터를 나타낸 박스플롯입니다. 각 그룹은 서로 다른 분산을 가지고 있으며, 이를 통해 등분산 검정을 수행할 수 있습니다.
- Group 1: 분산이 작습니다.
- Group 2: 중간 정도의 분산을 가지고 있습니다.
- Group 3: 가장 큰 분산을 가지고 있습니다.
Levene’s test의 결과로, 검정 통계량과 p-value가 그림에 표시되어 있습니다. p-value가 작을수록 그룹 간의 분산이 유의미하게 다르다는 결론을 내릴 수 있습니다.
예제: Python을 이용한 등분산 검정
여기서는 Python의 scipy
라이브러리를 이용하여 레빈 검정을 수행하는 예제를 보여드리겠습니다.
import scipy.stats as stats
# 예시 데이터
group1 = [12, 7, 3, 6, 8, 5, 7, 9]
group2 = [15, 10, 10, 14, 13, 12, 15, 11]
group3 = [8, 9, 7, 6, 8, 7, 5, 6]
# Levene 검정
stat, p_value = stats.levene(group1, group2, group3)
print(f"Levene's test statistic: {stat}")
print(f"p-value: {p_value}")
if p_value < 0.05:
print("그룹 간의 분산이 유의미하게 다릅니다.")
else:
print("그룹 간의 분산이 유의미하게 다르지 않습니다.")
해석
p-value
가 0.05보다 작으면, 그룹 간의 분산이 유의미하게 다르다는 귀무가설을 기각합니다.p-value
가 0.05보다 크면, 그룹 간의 분산이 동일하다는 귀무가설을 기각하지 않습니다.
이와 같은 방법으로 등분산 검정을 수행하여, 데이터 분석의 다음 단계를 진행할 수 있습니다.