T-검정
IT 위키
더 많은 작업
- t-test; t-검정
- 모분산을 모를 때 t분포를 이용해 한 집단 또는 두 집단의 평균을 검정하는 방법
표본이 작고 모표준편차를 모르면 Z-검정을 쓸 수 없다. 표본 표준편차로 대신 계산한 통계량은 t분포를 따르므로 이것으로 검정한다. 세 집단 이상이면 분산분석을 쓴다.
| 종류 | 비교 대상 | 예 |
|---|---|---|
| 단일표본 t-검정 | 한 집단의 평균 vs 기준값 | 제품 평균 무게가 500g인가 |
| 독립표본 t-검정 | 서로 독립인 두 집단의 평균 | A반과 B반의 평균 점수가 다른가 |
| 대응표본 t-검정 | 같은 대상의 전·후(짝지은) 측정값 차이 | 교육 전후 점수가 달라졌는가 |
- 정규성 : 모집단(대응표본은 차이값)이 정규분포를 따른다. Shapiro-Wilk 검정 등으로 확인한다. 표본이 크면 중심극한정리로 완화된다
- 독립성 : 관측값끼리 독립이다
- 등분산성 : 독립표본에서 두 집단의 분산이 같다. Levene 검정으로 확인하고, 다르면 Welch t-검정을 쓴다
- 정규성이 크게 깨지면 비모수 검정(Mann-Whitney U, Wilcoxon 부호순위 검정)을 쓴다
from scipy import stats
a = [502, 498, 505, 510, 495, 503, 507]
b = [490, 495, 488, 500, 493, 497, 491]
before = [70, 65, 80, 75, 68]
after = [74, 70, 82, 79, 70]
# 단일표본: 평균이 500인가
t, p = stats.ttest_1samp(a, popmean=500)
# 등분산성 확인 후 독립표본
print(stats.levene(a, b))
t, p = stats.ttest_ind(a, b) # 등분산 가정(기본값 equal_var=True)
t, p = stats.ttest_ind(a, b, equal_var=False) # Welch t-검정
# 대응표본: 교육 후 점수가 올랐는가(단측)
t, p = stats.ttest_rel(after, before, alternative="greater")
alternative는 "two-sided"(기본값), "less", "greater" 중 하나이다. 결과 객체의 statistic, pvalue 속성으로도 값을 꺼낼 수 있다.
- 상황에 맞는 t-검정 종류 고르기(전후 비교 = 대응표본)
- 검정통계량과 자유도 계산, 합동분산 공식
- 실기 작업형 3유형에서
ttest_1samp·ttest_ind·ttest_rel로 통계량·p-값을 구하고 기각 여부를 판단하는 문제.equal_var와alternative인자에 주의한다