T-test

이승수·2021년 7월 15일
0

가설 검정

주어진 상황에 대해서, 하고자 하는 주장이 맞는지 아닌지를 판단하는 과정

t-test는 3가지 조건이 가정되어야 한다

  • 독립성 : 두 그룹이 연결되어 있는 쌍인지
  • 등분산성 : 두 그룹이 어느정도 유사한 수준의 분산 값을 가지는지
  • 정규성 : 데이터가 정규성을 나타내는지

1. One Sample T-test

1가지의 sample 값들의 평균이 특정값과 동일한지 비교

  • T-test 과정
  1. 귀무가설을 설정
    귀무가설 : 이것이 맞거나 맞지 않다는 통계학적 증거를 통해 증명하려는 가설이다.
  2. 대안가설을 설정
    대안가설 : 귀무가설에 대립하는 명제 (보통 가설의 반대의 경우)
  3. 신뢰도를 설정 (보통 95%, 99% 사용)
    신뢰도 95%의 의미 : 모수가 신뢰구간 안에 포함될 확률이 95%, 귀무가설이 틀렸지만 우연히 성립할 확률이 5% (흑백논리처럼 맞다 틀리다가 아니다)
  4. P-value를 확인
    P-value는 주어진 가설에 대해서 얼마나 근거가 있는지에 대한 값을 0과 1사이의 값으로 나타낸 지표이다. P-value가 낮다는 것은 귀무가설이 틀렸을 확률이 높다(≒틀렸다)

P-value의 기준

  • P-value < 0.01 : 귀무가설이 옳을 확률이 0.01 이하 → 틀렸다(깐깐한 기준)
  • P-value < 0.05 : 귀무가설이 옳을 확률이 0.05 이하 → 틀렸다(일반적인 기준)
  • 0.05 < P-value < 0.1 : 애매한 경우(샘플링을 다시한다)
  • 0.1 < P-value : 귀무가설이 옳을 확률이 0.1 이상 → 틀리지 않았다(맞다와 다름)
from scipy import stats
stats.ttest_1samp(샘플 데이터프레임, 비교하려는 값)

Ttest_1sampResult(statistic=0.5690174909554405, pvalue=0.5694721717152109)

ex) pvalue 0.56정도의 확률로 ‘샘플의 평균값’이 ‘비교하려는 값’과 같다

pvalue가 (1 – confidence) 보다 낮은 경우, 귀무가설을 기각하고 대안가설을 채택
→ 귀무가설이 틀렸고 대안가설이 맞다 정도의 느낌

One-side test VS Two-side test

  1. One-side test : 샘플 데이터의 평균이 X보다 [크다 / 크지 않다], [작다 / 작지 않다]를 검정
  2. Two-side test : 샘플 데이터의 평균이 X와 [같다 / 같지 않다]를 검정

2. Two Sample T-test

2개의 샘플 값들의 평균이 서로 같은지 다른지를 비교
ex) 귀무가설 : 같다 / 대안가설 : 같지 않다

from scipy import stats
stats.ttest_ind(샘플1, 샘플2)

alternative 옵션 ‘less’ / ‘greater’ (단측검정)
(기본적으로는 'two-sided' 양측검정)
(실행 전 업데이트를 해야한다 !pip install scipy --upgrade)

ex) A = [100, 100, 100] B = [0, 0, 0]
stats.ttest_ind(A, B, alternative = ‘less’).pvalue 1.0
A의 평균을 기준으로 B의 평균이 작을 확률이 1.0이다
stats.ttest_ind(A, B, alternative = ‘greater’).pvalue 0.0
A의 평균을 기준으로 B의 평균이 클 확률이 0.0이다

profile
AI/Data Science

0개의 댓글

관련 채용 정보