t-통계량으로 p-값 계산

Python으로 배우는 가설 검정

James Chapman

Curriculum Manager, DataCamp

t-분포

  • t-통계량은 t-분포를 따름
  • 자유도(df)라는 모수를 가짐
  • 정규분포와 비슷하나 꼬리가 두꺼움

표준 정규분포와 자유도 1인 t-분포의 PDF 비교 그래프. t-분포는 꼬리가 더 두껍고 중앙 봉우리가 더 낮다.

Python으로 배우는 가설 검정

자유도

  • 자유도가 클수록 t-분포는 정규분포에 가까워짐
  • 정규분포 = 자유도 무한대의 t-분포
  • 자유도: 표본에서 논리적으로 독립인 값의 최대 개수

표준 정규분포와 다양한 자유도의 t-분포 PDF 비교 그래프. 자유도가 증가할수록 꼬리는 좁아지고 봉우리는 높아져 정규분포에 가까워진다.

Python으로 배우는 가설 검정

자유도 계산

  • 데이터셋에 독립 관측치 5개
  • 값 네 개: 2, 6, 8, 5
  • 표본평균은 5
  • 마지막 값은 4여야 함
  • 여기서 자유도는 4

 

  • $df = n_{child} + n_{adult} - 2$
Python으로 배우는 가설 검정

가설

$H_{0}$: 아동기에 처음 코딩한 사람과 성인기에 처음 코딩한 사람의 평균 보상(USD)은 같다

$H_{A}$: 아동기에 처음 코딩한 사람의 평균 보상(USD)이 성인기에 처음 코딩한 사람보다 크다

 

우측 단측검정 사용

Python으로 배우는 가설 검정

유의수준

$\alpha = 0.1$

$p \le \alpha$이면 $H_{0}$ 기각.

Python으로 배우는 가설 검정

p-값 계산: 비율 vs. 값

from scipy.stats import norm
1 - norm.cdf(z_score)

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

  • z-통계량: 단일 표본 통계로 모수 추정 시 사용

  • t-통계량: 여러 표본 통계로 모수 추정 시 사용

Python으로 배우는 가설 검정

p-값 계산: 두 집단의 평균

numerator = xbar_child - xbar_adult
denominator = np.sqrt(s_child ** 2 / n_child + s_adult ** 2 / n_adult)
t_stat = numerator / denominator
1.8699313316221844
degrees_of_freedom = n_child + n_adult - 2
2259
Python으로 배우는 가설 검정

p-값 계산: 두 집단의 평균

  • 정규 CDF가 아닌 t-분포 CDF 사용
from scipy.stats import t
1 - t.cdf(t_stat, df=degrees_of_freedom)
0.030811302165157595
  • 아동기에 코딩을 시작한 Stack Overflow 데이터 과학자가 더 많이 버는 증거가 있음.
Python으로 배우는 가설 검정

연습해 봅시다!

Python으로 배우는 가설 검정

Preparing Video For Download...