paired t-test는 동일한 표본집단을 각기 다른 시점에 관측했을 때 나타나는 평균의 차이가 유의한지 알아보는 검정 방법입니다.

t-test 관련 포스트


Paired sample t-test

When to use

Paired sample t-test는 동일한 표본집단 내 다른 시점의 평균들(means from the same group at different times) 간 유의한 차이가 있는지 검정하는 통계적 방법입니다. 각각의 표본은 두번 측정되므로, 한 표본 당 한 쌍(pair)의 관측치를 가지게 되어 paired t-test(대응표본 t-검정)이라 불립니다. 예를 들어, 고등학교 A 학반의 수학 평균 점수가 수준별 수업 시행 이후의 수학 평균 점수를 비교했을 때 유의한 차이를 보이는 지를 알고 싶을 때, paired sample t-test를 사용합니다.

이 t-test의 귀무가설과 대립가설은 아래와 같습니다.

H0(귀무가설): μd = 0 # 기존 평균과 추후 평균 간의 차이는 0이다. 즉, 차이가 없다.
H1(대립가설): μd ≠ 0 # 기존 평균과 추후 평균 간의 차이는 0이 아니다. 즉, 차이가 있다.

Assumptions

Paired sample t-test는 parametric test(모수적 방법: 모집단 분포가 정규분포, 지수분포 등 특정 분포를 띈다는 가정 하에 접근하는 방법)입니다. 그러므로 t-test를 진행하기 전, 4 가지 확인해야하는 가정들이 있습니다.

  • The dependent variable must be continuous.
  • THe observations are independent of one another.
  • The dependent variable should be approximately normally distributed.
  • The dependent variable should not contain any outliers.

특히 One sample t-test를 하기 위해서, 3 번째 가정처럼 표본집단의 데이터가 정규성을 지니는지 확인해야 합니다. 표본 집단의 데이터 수가 30 이상이면 중심극한정리에 의해 정규성을 만족한다고 가정할 수 있습니다. 실질적으로 정규성을 확인하는 방법은 아래와 같습니다.

(1) Q-Q scatterplot
Q-Q scatter plot은 데이터가 정규 분포를 따르는지 시각적으로 확인하는 방법입니다. 여기서 Q는 Quantile(분위수)를 의미하며, Q-Q scatter plot에서는 동일 분위수에 해당하는 정상 분포의 값과 분석하고자하는 분포의 값을 한 쌍으로 만들어 시각화합니다. 이를 통해 분석하고자 하는 샘플의 분포와 정규분포의 분포 형태를 비교할 수 있습니다. plot의 형태가 왼쪽 아래에서 오른쪽 위로 올라가는 직선의 형태에 가까울 수록 정규성을 지닌다고 할 수 있습니다.

(2) Shapiro-Wilk Test
Shapiro-Wilk Test는 정규성을 확인하는 검정 방법입니다. 이 검정에서 귀무가설은 표본 집단의 데이터가 정규분포를 지닌 모집단에서 비롯되었다는 것입니다. 검정 결과 p-value가 유의수준(주로 0.05)보다 낮다면, 귀무가설은 기각되고 데이터가 정규 분포를 지니지 않는다는 대립가설이 채택되기 때문에 p-value가 유의수준보다 높은 것이 좋습니다.

만약 위 방법을 통해 데이터가 정규성을 지니지 않음을 확인하게 되면, one sample t-test 대신 비모수적 방법인 Paired samples wilcoxon test를 사용해야 합니다.


How to use in Python

Python으로 paired sample t-test를 하기 위해서 scipy.stats.ttest_rel를 활용합니다.

현재 t-test로 알고 싶은 연구 문제는 위에서 언급한 예제 그대로를 활용하여 ‘고등학교 A 학반의 수학 평균 점수가 수준별 수업 시행 이후의 수학 평균 점수를 비교했을 때 유의한 차이를 보이는가’입니다.

데이터는 수준별 수업 시행 이전 학생들의 수학 성적이 담긴 before와 수준별 수업 시행 이후 학생들의 수학 성적이 담긴 after 2 개의 list를 임의로 만들었습니다.

from scipy import stats

# generate before and after lists
before = [80, 70, 50, 90]
after = [90, 80, 70, 95]

# perform paired t-test
tTestResult = stats.ttest_rel(before, after)

# print result
print("The T-statistic is %.3f and the p-value is %.3f" % tTestResult)

t-test 결과는 아래와 같이 나옵니다.

The T-statistic is -3.576 and the p-value is 0.037

p-value가 0.05보다 낮으므로, 귀무가설이 기각되고 H1(대립가설): μd ≠ 0 # 기존 평균과 추후 평균 간의 차이는 0이 아니다. 즉, 차이가 있다.이 채택됩니다. 즉, 수준별 수업 시행은 학생들의 수학 성적에 영향을 준다는 것을 알 수 있습니다.

Reference

  • https://www.statisticssolutions.com/manova-analysis-paired-sample-t-test/
  • http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/SAS/SAS4-OneSampleTtest/SAS4-OneSampleTtest7.html