scipy.stats의 ttest_1samp 메서드를 사용합니다.
In [16]:
import numpy as np from scipy import stats # 난수 발생을 위한 시드(seed) 1을 줍니다(코드를 실행할 때마다 똑같은 난수 생성) np.random.seed(1) # 평균 178, 표준편차 5로 임의의 높이 20개를 생성합니다 heights = [178 + np.random.normal(0, 5) for _ in range(20)] # t-검정 수행 tTestResult = stats.ttest_1samp(heights, 173) # 결과 출력 print("The T-statistic is %.3f and the p-value is %.3f" % tTestResult)
The T-statistic is 3.435 and the p-value is 0.003
기각역을 p < 0.05로 설정했을 때 유의확률(P-Value)이 0.003이므로 귀무 가설을 기각합니다. 즉, 귀무 가설이 참일 때(전체 학생의 평균 키가 173cm일 때) 이와 같은 표본을 얻을 확률이 0.003으로 학생들의 평균 키는 173cm가 아니라고 할 수 있습니다.