Python에서 가설 테스트를 수행하는 방법(예제 포함)


가설 테스트는 통계적 가설을 기각하거나 기각하지 못하는 데 사용하는 공식적인 통계 테스트입니다.

이 튜토리얼에서는 Python에서 다음 가설 테스트를 수행하는 방법을 설명합니다.

  • 샘플 t 테스트
  • 2-표본 T-검정
  • 쌍을 이루는 표본 t-검정

갑시다!

예시 1: Python의 t-test 예시

단일 표본 t-검정은 모집단의 평균이 특정 값과 같은지 여부를 검정하는 데 사용됩니다.

예를 들어, 특정 거북이 종의 평균 무게가 310파운드인지 알고 싶다고 가정해 보겠습니다.

이를 테스트하기 위해 다음과 같은 가중치를 갖는 간단한 무작위 거북이 샘플을 수집합니다.

중량 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

다음 코드는 scipy.stats 라이브러리의 ttest_1samp() 함수를 사용하여 단일 표본 t-검정을 수행하는 방법을 보여줍니다.

 import scipy.stats as stats

#define data
data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]

#perform one sample t-test
stats. ttest_1samp (a=data, popmean= 310 )

Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)

t-검정 통계량은 -1.5848 이고 해당 양측 p-값은 0.1389 입니다.

특정 표본에 대한 이 t-검정에 대한 두 가지 가설은 다음과 같습니다.

  • H 0 : µ = 310(이 거북이 종의 평균 무게는 310파운드입니다)
  • H A : µ ≠310 (평균 무게는 310 파운드 가 아님 )

테스트의 p-값 (0.1389) 이 알파 = 0.05보다 크기 때문에 테스트의 귀무 가설을 기각하지 못합니다.

우리는 이 특정 거북이 종의 평균 무게가 310파운드가 아니라고 말할 수 있는 충분한 증거가 없습니다.

예 2: Python의 2-표본 t-검정

2-표본 t-검정은 두 모집단의 평균이 같은지 여부를 검정하는 데 사용됩니다.

예를 들어, 서로 다른 두 종의 거북이의 평균 체중이 같은지 여부를 알고 싶다고 가정해 보겠습니다.

이를 테스트하기 위해 우리는 다음과 같은 가중치를 사용하여 각 종에서 단순 무작위 거북이 샘플을 수집합니다.

샘플 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

샘플 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305

다음 코드는 scipy.stats 라이브러리의 ttest_ind() 함수를 사용하여 두 가지 t-test 예제를 수행하는 방법을 보여줍니다.

 import scipy. stats as stats

#define array of turtle weights for each sample
sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]
sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305]

#perform two sample t-tests
stats. ttest_ind (a=sample1, b=sample2) 

Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)

t-검정 통계량은 -2.1009 이고 해당 양측 p-값은 0.0463 입니다.

이 특정 2-표본 t-검정에 대한 두 가지 가정은 다음과 같습니다.

  • H 0 : µ 1 = µ 2 (두 종 간의 평균 중량은 동일함)
  • H A : µ 1 ≠ µ 2 (두 종 간의 평균 중량이 동일하지 않음)

검정의 p-값(0.0463)이 0.05보다 작으므로 귀무 가설을 기각합니다.

이는 두 종 사이의 평균 체중이 동일하지 않다고 말할 수 있는 충분한 증거가 있음을 의미합니다.

예 3: Python의 쌍체 표본 t-테스트

쌍표본 t-검정은 한 표본의 각 관측치가 다른 표본의 관측치와 연관될 수 있는 경우 두 표본의 평균을 비교하는 데 사용됩니다.

예를 들어, 특정 훈련 프로그램이 농구 선수의 최대 수직 점프(인치)를 증가시킬 수 있는지 여부를 알고 싶다고 가정해 보겠습니다.

이를 테스트하기 위해 12명의 대학 농구 선수로 구성된 단순 무작위 표본을 모집하고 각각의 최대 수직 점프를 측정할 수 있습니다. 그런 다음 각 선수에게 한 달 동안 훈련 프로그램을 사용하게 한 다음 월말에 최대 수직 점프를 다시 측정할 수 있습니다.

다음 데이터는 각 선수의 훈련 프로그램 사용 전후의 최대 점프 높이(인치)를 보여줍니다.

전면 : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21

이후 : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20

다음 코드는 scipy.stats 라이브러리의 ttest_rel() 함수를 사용하여 이 대응 표본 t-검정을 수행하는 방법을 보여줍니다.

 import scipy. stats as stats

#define before and after max jump heights
before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21]
after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20]

#perform paired samples t-test
stats. ttest_rel (a=before, b=after)

Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)

t-검정 통계량은 -2.5289 이고 해당 양측 p-값은 0.0280 입니다.

이 특정 쌍체 표본 t-검정에 대한 두 가지 가정은 다음과 같습니다.

  • H 0 : µ 1 = µ 2 (프로그램 사용 전후의 평균 점프 높이는 동일함)
  • H A : µ 1 ≠ µ 2 (프로그램 사용 전후 평균 점프 높이가 동일하지 않음)

검정의 p-값(0.0280)이 0.05보다 작으므로 귀무 가설을 기각합니다.

이는 훈련 프로그램 사용 전과 후의 평균 점프 높이가 동일하지 않다고 말할 수 있는 충분한 증거가 있음을 의미합니다.

추가 리소스

다음 온라인 계산기를 사용하여 다양한 t-검정을 자동으로 수행할 수 있습니다.

t-테스트 계산기의 예
2-표본 t-검정 계산기
쌍체 표본 t-검정 계산기

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다