Summary
두 집단(또는 한 집단과 기준값)의 평균을 비교하는 모수 검정. 표본이 정규분포를 따르고, 분산이 알려지지 않았을 때 t-분포를 이용한다.
용어 설명
- 자유도 (df, Degrees of freedom): 통계량 계산에서 자유롭게 변할 수 있는 값의 수. t-test에서는 표본 크기에 의해 결정됨 (예: n−1 또는 n₁+n₂−2)
- 표준오차 (SE, Standard Error): 표본 통계량(예: 평균)의 불확실성을 나타내는 값. 이므로 표본이 클수록 SE 감소
- t-분포 (t-distribution): 정규분포와 비슷하지만 꼬리가 더 두꺼운 분포. 소표본에서 모분산을 모를 때 사용. df가 커지면 정규분포에 수렴
- CLT (Central Limit Theorem, 중심극한정리): 표본 크기가 충분히 크면(n > 30) 표본 평균의 분포가 정규분포에 근사한다는 정리. 원 데이터가 비정규여도 적용 가능
- Welch’s t-test: 두 집단의 분산이 다를 때 사용하는 t-test 변형. 현재 통계학계의 기본 권장값
- 대응 표본 (Paired samples): 같은 대상을 두 번 측정 (예: 전/후 비교). 개인 간 변동을 제거하여 검정력 향상
t-test
유형별 비교
| 유형 | 비교 대상 | H₀ | 비모수 대안 |
|---|---|---|---|
| One-sample | 표본 평균 vs 기준값(μ₀) | μ = μ₀ | Wilcoxon signed-rank (1집단) |
| Independent | 두 독립 집단의 평균 | μ₁ = μ₂ | Mann-Whitney U test |
| Paired | 같은 대상의 전후 비교 | μ_D = 0 | Wilcoxon signed-rank test |
1. One-sample t-test
“이 표본의 평균이 특정 값(μ₀)과 다른가?”
수식 변수 풀이
- : 표본 평균 — 수집한 데이터의 평균
- : 기준값 — 비교하고자 하는 알려진 모집단 평균 (예: 7시간)
- : 표본 표준편차 — 데이터의 흩어짐
- : 표본 크기의 제곱근. 분모에서 SE를 구성
- : 자유도 — n개 데이터 중 평균을 고정하면 n−1개만 자유롭게 변함
Example
한국 성인의 평균 수면 시간이 7시간과 다른지 검정:
표본 10명의 평균 = 6.3시간, SD = 1.2시간
2. Independent-samples t-test
“두 독립 집단의 평균이 다른가?”
수식 변수 풀이
- : 두 집단 평균의 차이 — 분자가 클수록 t가 커짐
- : 평균 차이의 표준오차 — 차이 추정의 불확실성
- : 합동 표준편차 — 두 집단의 변동성을 가중 평균으로 통합
수식 변수 풀이
- : 각 집단의 표본 크기
- : 각 집단의 분산
- : 전체 자유도 — 두 집단의 자유도를 합산
Welch’s t-test (등분산 가정 불필요)
수식 변수 풀이
- 분모: 각 집단의 분산을 독립적으로 사용 (로 합치지 않음) → 등분산 가정 불필요
- Welch-Satterthwaite df: 각 집단의 분산과 표본 크기로 근사 계산하며, 정수가 아닐 수 있음
df는 Welch-Satterthwaite 근사로 계산. scipy.stats.ttest_ind의 기본값 (equal_var=False).
Student's vs Welch's
- 등분산이 확실하면 Student’s t-test (검정력 약간 높음)
- 등분산이 불확실하면 항상 Welch’s → 현재 통계학계의 권장 기본값
3. Paired-samples t-test
“같은 대상의 두 조건(전/후) 차이가 0과 다른가?”
수식 변수 풀이
- : 차이 점수의 평균 — 각 쌍의 (후 − 전) 차이를 평균
- : 차이 점수의 표준편차 — 개인마다 변화량이 얼마나 다른지
- : 쌍의 수 (= 피험자 수)
- 직관: “평균적인 변화량이 변화의 불확실성에 비해 충분히 큰가?”
- 개인 간 변동을 제거하므로 independent t-test보다 검정력 높음
가정 (Assumptions)
| 가정 | 검정 방법 | 위반 시 |
|---|---|---|
| 정규성 | Shapiro-Wilk, Q-Q plot | 비모수 대안 또는 n > 30이면 CLT |
| 등분산성 (independent만) | Levene’s test | Welch’s t-test 사용 |
| 독립성 (independent만) | 연구 설계로 확보 | 위반 시 심각 — LMM 고려 |
Effect Size
- Cohen’s d:
- Paired:
- t에서 d 변환: (independent), (paired)
ANOVA와의 관계
2집단 independent t-test는 one-way ANOVA의 특수 사례:
수식 변수 풀이
- : ANOVA의 F 통계량 — 2집단일 때 t²과 동일
- : 분자 자유도 (집단 수 − 1 = 2 − 1)
- : 분모 자유도 (오차의 자유도)
→ ANOVA 참조
Implementation
from scipy import stats import pingouin as pg # === One-sample t-test === t, p = stats.ttest_1samp(data, popmean=7.0) # === Independent t-test (Welch's, 기본) === t, p = stats.ttest_ind(group1, group2, equal_var=False) # === Paired t-test === t, p = stats.ttest_rel(before, after) # === pingouin (effect size + CI 자동) === result = pg.ttest(group1, group2, paired=False) print(result[['T', 'dof', 'p-val', 'CI95%', 'cohen-d', 'BF10', 'power']]) # === 표본 크기 계산 === from statsmodels.stats.power import TTestIndPower n = TTestIndPower().solve_power(effect_size=0.5, alpha=0.05, power=0.8) print(f"필요 n (per group): {n:.0f}") # → 64
관련 문서
- 통계 검정법 개요 — 검정법 선택 플로우차트
- Cohen’s d — t-test의 effect size
- Mann-Whitney U test — 비모수 대안 (독립 2집단)
- Wilcoxon signed-rank test — 비모수 대안 (대응 2집단)
- ANOVA — 3+집단으로 확장
- Sample Size Determination — t-test 표본 크기 계산