t-test

t-test

t-test는 데이터집단의 평균값(기댓값)을 조사하는 통계검정 방법이다.

하나의 데이터 집단에 대해 평균값을 조사하는 단일표본(One-sample) t-test와,

두 개의 데이터 집단에 대해 평균값이 같은지 다른지를 조사하는 독립표본(Independent-two-sample) t-test,

그리고 두 데이터집단의 표본데이터가 서로 1대1 대응하는 경우 두 집단의 평균값이 같은지를 확인하는 대응표본(Paired-two-sample) t-test가 있다.

여기서는 독립표본 t-test만을 살펴볼 것이다. 독립표본 t-test가 필요한 경우로 다음과 같은 상황을 예로 들 수 있다.

‘A반 남학생과 B반 남학생의 키는 비슷할까?’

이 때 두 집단의 평균키가 통계적으로 유의미한 수준에서 비슷하면 두 집단의 키가 같다고 말할 수 있는데 이 통계검증방법이 t-test이다.

t-test를 하기 앞서 갖추어야 할 조건이 있다.

t-test의 조건

  1. 관측치가 정규분포를 따라야 한다.
  2. 두 집단은 서로 독립이어야 한다.
  3. 관측치데이터는 연속형이거나 등간격 척도여야 한다.

파이썬에서의 정규성 검정

t-test의 첫 번째 조건, 데이터가 정규분포를 따르는지를 확인하는 검정을 정규성검정(normality test)이라고 한다. 정규성검정 방법은 다양하게 있는데, 대표적으로 콜모고로프-스미르노프 검정, 샤피로-윌크 검정 등이 있다.

numpy를 이용해 정규분포를 따르는 표본 100개를 임의로 생성한 후 scipy를 이용해 샤피로-윌크 검정을 해보자.

1
2
3
4
5
import numpy as np
import scipy as sp

data = np.random.normal(size=100)
sp.stats.shapiro(data)

(0.9859086871147156, 0.368507872306824)

코드를 실행하면 위와 같이 2개의 수치가 나오는데, 오른쪽에 있는 값이 p-value에 해당한다. p-value가 유의수준(0.05)보다 작으면 귀무가설을 기각하고, 크면 귀무가설을 채택한다.

여기서 귀무가설은 ‘데이터가 정규분포를 따른다’ 이고, p-value가 0.36이 나왔기 때문에 귀무가설을 기각할 수 없어 위 데이터는 정규분포를 따른다고 얘기할 수 있게 된다.

이렇게 정규성 검정을 통해 데이터의 정규성이 확인되면 t-test를 진행할 수 있다.

Share