brunch

You can make anything
by writing

C.S.Lewis

by 사막의 수도자 Jun 26. 2023

파이썬 t검정 예

1 표본 t검정, 2 표본 t검정, 대응표본 t검정, 가설검정

단일 모집단 평균차이 t검정

문제:- 한 온라인쇼핑몰에서 불평건수가 하루 평균 11건이었다. 마케팅관리자는 소비자만족도를 향상하기 위해 고객이 원하면 무조건 환불을 해주는 정책을 6개월간 실시하였다. 최근 30일간 하루 평균 불평건수는 10건이었으며 표준편차는 4건으로 나타났다. 이 자료를 바탕으로 평균불평건수가 감소했다고 할 수 있는지 통계검정을 하라. (유의 수준 a = 0.05)


답: 

H0 : mu = 11 (평균은 11 이다.)

H1 : mu ~= 11 (평균은 11이 아니다.)

파이썬으로 t검정을 한다. 

결론: 유의 수준 a= 0.05에서 검정통계량은 -2.73으로 임계치 1.69보다 크기 때문에 귀무가설은 기각된다.

유의 수준 a= 0.05에서 p-value는 0.01(양측검정)로 귀무가설은 기각된다. 

따라서 불평건수가 감소했다고 할 수 있다. 



1 표본 t검정 

단일 모집단 평균차이 검정은 1 표본 t검정은 같은 말이다. 위의 문제에서는 평균과 표준편차가 주어졌기 때문에 공식에 대입하여 답을 구하였다. 만약 데이터포인트가 주어지면 파이썬에서 scipy.stats를 사용하여 다음 코드로 구할 수 있다. 


귀무가설 설정

H0 : mu = x (평균은 x 이다.)

H1 : mu ~= x (평균은 x가 아니다.)


1. 정규성 검정 stats.shapiro(표본데이터) #귀무가설은 정규성이 있다.


2. 정규성이 있으면 stats.ttest_1samp(표본데이터 - 평균) #평균은 귀무가설의 평균을 말한다.

2. 정규성이 없으면 stats.wilcoxon(표본데이터 - 평균) 

양측검정이 기본 값이다. 단측검정 시 alternative = 'greater' 또는 'less'를 사용한다.

H0: diff = 0 (전과 후의 차이는 없다.)

H1: diff ~= 0 (전과 후의 차이가 있다. 즉 효과가 있다.) 



2 표본 t검정 

두 개의 표본에 평균차를 구할 때에는 scipy.stats를 사용하여 다음 코드로 구할 수 있다. 

2 표본의 경우 정규성과 등분산성을 가정을 충족하는지에 따라 검정 방법이 달라진다.


귀무가설 설정

H0: mu1 = mu2 (표본데이터1의 평균과 표본데이터2의 평균은 같다.)

H1: mu1 ~= mu2 (표본데이터1의 평균과 표본데이터2의 평균은 차이가 있다.) 


1. 정규성 검정 stats.shapiro(표본데이터) #귀무가설은 정규성이 있다.


2. 등분성 검정 stats.levene(표본데이터 1, 표본데이터 2) #귀무가설은 등분산이다.


3. 정규성이 있고, 등분산이면 stats.ttest_1samp(표본데이터1, 표본데이터2) 

3. 정규성이 있고, 등분산이 아니면 stats.wilcoxon(표본데이터1, 표본데이터2) 

3. 정규성이 없으면 stats.wilcoxon(표본데이터1, 표본데이터2)

양측검정이 기본 값이다. 단측검정시 alternative = 'greater' 또는 'less'를 사용한다.

2표본 평균차이 가설설정:



대응표본 t검정 

대응표본 t검정은 1표본 t검정과 원리가 같다. 예로는 혈압약을 복용하기 전의 혈압과 복용 후의 혈압을 비교하고 혈압약이 효과가 있는가? 와 같은 검정을 할 때 사용한다. 

정규성 검정은 전 후 차이값을 기준으로 한다. 같은 표본을 전후 측정한 것이기 때문에 등분산성은 만족하르모 등분산성 검정은 할 필요 없다. 


귀무가설 설정

H0: diff = 0 (전과 후의 차이는 없다.)

H1: diff ~= 0 (전과 후의 차이가 있다. 즉 효과가 있다.) 


1. 정규성 검정 stats.shapiro(전후차 데이터) #귀무가설은 정규성이 있다.


2. 정규성이 있으면 stats.ttest_rel(후 데이터, 전 데이터) 

2. 정규성이 없으면 stats.wilcoxon(후 데이터, 전 데이터)

양측검정이 기본 값이다. 단측검정시 alternative = 'greater' 또는 'less'를 사용한다. 대응표본의 경우 단측검정을 하게 되면 후, 전의 데이터 입력 순서에 주의해야한다.




매거진의 이전글 파이썬 카이제곱 검정 예

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari