Bartlett Test

이정훈·2026년 2월 4일
post-thumbnail

등분산 가정이란?

통계 검정(t-test, ANOVA)를 검정하기전에 등분산 가정을 만족해야 한다는 가정이 들어가는 것을 볼 수 있습니다.

1. 등분산 가정이 왜 중요한가?

A반과 B반의 시험 성적 평균을 비교한다고 가정해 봅시다.

A반: 난이도 조절 실패로 엄청난 '불시험'이었습니다.  (점수 편차가 큼, 분산 큼) 
B반: 변별력 없는 '물시험'이었습니다.  (점수가 다들 비슷비슷함, 분산 작음)

이때 단순히 두 반의 평균만 비교해서 "B반이 더 공부를 잘한다"라고 결론 내릴 수 있을까요?

직관적으로도 결과가 왜곡될 수 있음이 느껴집니다. 통계적으로 두 집단을 비교하려면 '비교를 위한 공통된 잣대(Scale)'가 필요합니다. A반은 촘촘하게 모여 있고, B반은 넓게 퍼져 있다면 서로 다른 자를 대고 길이를 재는 것과 같습니다.

즉, 등분산 가정은 "두 집단의 퍼짐 정도가 비슷하니, 동일한 기준으로 평균 차이를 비교해도 안전하다"는 것을 보장하는 장치입니다.

2. 가설 설정 및 해석 (H0H_0)

등분산 검정은 우리가 흔히 접하는 가설 검정과는 '원하는 바'가 반대라 처음에는 헷갈릴 수 있습니다.

  • 귀무가설 (H0H_0): σA2=σB2\sigma_A^2 = \sigma_B^2 (모든 집단의 분산이 같다.)
  • 대립가설 (H1H_1): 적어도 한 집단의 분산은 다르다.

보통 연구자들은 p-value가 0.05보다 작게 나와서 귀무가설을 기각하고 싶어 하지만, 등분산 검정에서는 반대입니다.

"p-value가 0.05보다 커야(기각되지 않아야) 등분산 가정을 만족한다고 보고, 안심하고 다음 분석(t-test 등)을 진행할 수 있다."

Bartlett's Test

등분산성을 확인하는 대표적인 방법으로 Bartlett 검정(Bartlett's Test)이 있습니다.

Bartlett 검정이란?

k개의 서로 다른 집단이 동일한 분산을 가지고 있는지 통계적으로 검정하는 기법입니다. 각 집단의 표본 분산(s2s^2)에 로그를 취한 값들의 가중 평군을 이용합니다.

특징 및 주의사항

  1. 정규성에 민감: 데이터가 정규분포를 따른다는 가정하게서는 가장 정확하고 강력한 검정력을 가집니다.
  2. 정규성에 민감(단점으로): 데이터가 정규분포를 따르지 않거나 이상치(Outlier)가 섞여 있다면 민감하게 반응하여 결과가 왜곡될 수 있습니다.

    Tip: 데이터가 정규분포가 아니라면 'Levene 검정(Levene's Test)'을 사용하는 것이 좋습니다.


import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="whitegrid")

np.random.seed(42)

# A반 (불시험)
group_a = np.random.normal(loc=60, scale=5, size=100)
# B반 (물시험)
group_b = np.random.normal(loc=63, scale=7, size=100)


stat, p_value = stats.bartlett(group_a, group_b)

print(f"Bartlett 검정 통계량: {stat:.4f}")
print(f"p-value: {p_value:.10f}") # 매우 작은 값이 나올 것임

# equal_var=False 로 설정 (Welch's t-test)
# t_stat, t_p = stats.ttest_ind(group_a, group_b, equal_var=False)
# equal_var=True 로 설정 (Student's t-test)
# t_stat, t_p = stats.ttest_ind(group_a, group_b, equal_var=True)

업로드중..

profile
AngDDo

0개의 댓글