통계 초보자를 위한 대응표본 t-검정 가이드: 전과 후는 정말 달라졌을까?
대응표본 t-검정이란 무엇인가?
대응표본 t-검정(Paired t-test)은 동일한 대상에 대해 두 번 측정한 값의 평균 차이가 있는지를 검정하는 통계적 방법입니다.
즉, “같은 사람(또는 같은 대상)의 전과 후가 정말로 달라졌는가?”라는 질문에 답하기 위한 도구입니다.
예를 들어 다음과 같은 상황에서 사용됩니다.
- 다이어트 전과 후의 체중 변화
- 교육 프로그램 수강 전과 후의 시험 점수
- 정책 시행 전과 후의 평균 지표 변화
대응표본 t-검정의 핵심은 두 집단을 따로 비교하는 것이 아니라,
각 쌍의 차이값을 하나의 표본으로 분석한다는 점입니다.
가설 설정
대응표본 t-검정의 기본 가설은 다음과 같습니다.
- 귀무가설(H0): 사전과 사후의 평균 차이는 0이다.
- 대립가설(H1): 사전과 사후의 평균 차이는 0이 아니다.
분석 목적에 따라
사후가 더 크다 또는 더 작다와 같이 단측 가설로 설정할 수도 있습니다.
분석 절차 개요
대응표본 t-검정은 다음과 같은 절차로 진행됩니다.
- 사전·사후 차이값 계산
- 차이값에 대한 정규성 검정
- 조건에 따라 적절한 검정 방법 선택
- 정규성 만족 → 대응표본 t-검정
- 정규성 미만족 → 윌콕슨 부호순위 검정
1단계: 차이값 계산
대응표본 분석에서는 사전값과 사후값의 차이값이 분석의 대상이 됩니다.
diff = post - pre
이 차이값이 하나의 표본이 되어 이후 검정이 수행됩니다.
2단계: 정규성 검정
대응표본 t-검정은 차이값이 정규분포를 따른다는 가정을 전제로 합니다.
표본 크기 5000 미만: Shapiro-Wilk 검정
import scipy.stats as stats
stat, p = stats.shapiro(diff)
print(p)
p-value가 0.05 이상이면 정규성 가정을 만족한다고 판단합니다.
표본 크기 5000 이상: Anderson-Darling 검정
import scipy.stats as stats
result = stats.anderson(diff, dist='norm')
print(result.statistic, result.critical_values)
검정통계량이 유의수준 5%에 해당하는 임계값보다 작으면
정규성 가정을 만족한다고 판단합니다.
Case 1: 정규성 가정을 만족한 경우
차이값이 정규분포를 따른다고 판단되면
대응표본 t-검정을 수행합니다.
import scipy.stats as stats
stat, p = stats.ttest_rel(pre, post)
print(stat, p)
p-value가 0.05보다 작다면
사전과 사후의 평균 차이는 통계적으로 유의하다고 해석합니다.
Case 2: 정규성 가정을 만족하지 못한 경우
차이값이 정규분포를 따르지 않는 경우에는
비모수 검정 방법인 윌콕슨 부호순위 검정을 사용합니다.
import scipy.stats as stats
stat, p = stats.wilcoxon(pre, post)
print(stat, p)
이 검정은 데이터의 순위를 기반으로 하며,
정규성 가정 없이도 사전·사후 차이를 평가할 수 있습니다.
단측 검정이 필요한 경우
대응표본 t-검정 역시 기본적으로 양측 검정을 수행합니다.
단측 검정이 필요한 경우 p-value를 다음과 같이 변환할 수 있습니다.
stat, p_two = stats.ttest_rel(pre, post)
# H1: 사후 > 사전
p_one = p_two / 2 if stat > 0 else 1 - (p_two / 2)
마무리하며
대응표본 t-검정은 변화의 효과를 검증하는 가장 직관적인 통계 방법입니다.
중요한 것은 단순히 수치가 변했는지가 아니라,
그 변화가 우연인지 아닌지를 통계적으로 판단하는 데 있습니다.
사전·사후 데이터가 존재한다면,
대응표본 t-검정은 가장 먼저 고려해야 할 분석 방법입니다.