♪ 대응 2표본 검정
- (1) Paired t-test
- (2) Wilcoxon's signed rank test
※ 대응표본(paired sample)
- 두 모집단으로부터 표본을 각각 추출할 때 표본 각각의 인자가 서로 대응되는 표본
- 사전(pre)과 사후(post)를 비교할 때 주로 사용한다.
만약에 이런 질문을 받았다고 생각해보자.
"다이어트 프로그램이 체중 감량하는데 효과가 있다는 것을 증명해봐!"
이런 상황일 때 대응 2표본 검정을 실행시키면 된다.
모집단 A(Pre) 와 모집단 B(Post)가 있다고 가정하자.
각 모집단에는 인자들이 있을 것이고 서로 대응한다.
예를 들어, 다이어트 프로그램을 하기 전(Pre)과 후(Post) 라고 정하였다.
귀무가설은 "다이어트 프로그램을 하기 전의 평균과 한 후의 평균은 같다." 이다.
이런 경우에는 다이어트 프로그램이 살을 빼는 데 효과가 없는 것으로 결론이 날 수 있다.
또한, 사전(Pre) - 사후(Post) = D(Difference) 이고 [ D의 평균 = 0 ] 과 같다 할 수 있다.
대립가설은
"다이어트 프로그램을 하기 전의 평균과 한 후의 평균이 같지 않다."(D의 평균 ≠ 0) or
"다이어트 프로그램을 하기 전의 평균이 한 후의 평균보다 크다." (D의 평균 > 0) or
"다이어트 프로그램을 하기 전의 평균이 한 후의 평균보다 작다." (D의 평균 < 0) 인 경우로 3가지가 있을 수 있다.
이제 가설 검정을 시작해보자.
* 가정 : D는 정규분포를 따른다.
기무가설 : 사전평균 = 사후평균
대립가설 : 사전평균 < 사후평균
어떤 D의 평균에 따라 기무가설과 대립가설로 바뀔까.
D의 평균이 정규분포를 따를 때 오른쪽 그림처럼 나타난다.
유의수준의 방향은 대립가설이 결정하기 때문에 이 예시의 경우 "작다" 라는 대립가설에 의해 왼편에 기준을 둔다.
그 기준에 따라 왼편에 있다면 대립가설을 따르고 오른쪽에 있다면 기무가설을 따른다고 할 수 있다.
3. 표본조사
표본조사를 통해 하나의 값이 나왔다고 치면 그 값은 D의 평균보다 클 수도 있고 작을 수도 있다.
그 경우가 그림과 같이 나타나있다. 저 경우에서도 왼편의 값을 보고 있는데 이 또한 대립가설의 경우 때문이다.
이제 D의 평균을 표준화 한 'Z' 와 다음 최종인 t를 보자.
이제 파이썬으로 처음부터 차근차근 시작.
import pandas as pd
import scipy.stats as stats
[가설검정]
귀무가설 : 다이어트는 몸무게를 줄이는 것에 효과가 없다. (사전 몸무게 = 사후 몸무게)
대립가설 : 다이어트는 몸무게를 줄이는 것에 효과가 있다. (사전 몸무게 > 사후 몸무게)
diet = pd.read_excel(io = "저장경로/diet.xlsx",
sheet_name = 0,
header = 0)
-------------------------------------------------------
name before after
0 김철수 49 46
1 김영희 53 49
2 바둑이 55 52
3 김한문 57 53
4 이수학 50 47
5 박영어 45 48
6 최과학 80 73
7 신미술 67 62
8 오체육 47 44
임시로 엑셀파일을 만들어 불러왔다.
stats.ttest_rel(diet.before, diet.after)
-----------------------------------------------
Ttest_relResult(statistic=3.603944642806961, pvalue=0.006942420396505738)
stats.ttest_rel 을 이용했다.
* 검정통계량(t) = 3.604
* p-value = 0.007?
파이썬에서 계산되는 p-value는 가설이 "같지 않다" 일 때 나오는 결과이다.
따라서 현재 내가 실행하는 가설은 "크다" 이기 때문에
아래에 나와있는 코드를 참조하여
D mean : 3.22
이 값을 t로 바꾸면?
t = (3.22 - 0) / (2.68 / root(9)) = 3.604
diet["difference"] = (diet.before - diet.after)
diet.difference.describe()
-----------------------------------------------------
count 9.000000
mean 3.222222
std 2.682246
min -3.000000
25% 3.000000
50% 3.000000
75% 4.000000
max 7.000000
Name: difference, dtype: float64
따라서 p-value ≒ 0.004 이므로
유의수준 0.05보다 작기 때문에 대립가설에 따라
"다이어트는 몸무게를 줄이는 것에 효과가 있다" 로 나타났다.
* 자료출처 : 2020 AI 데이터분석 개발자과정 : 기초 통계 (이부일 CEO님)
대응 2표본 검정은 복습할 게 많다.
다음 게시물에서....
'데이터 분석 > 통계(Statistics)' 카테고리의 다른 글
[Python] 카이제곱 검정(교차분석) (1) | 2020.09.03 |
---|---|
[Python] 대응 2표본 검정(Paired test) - (2) (0) | 2020.08.29 |
[Python] 독립 2표본 검정(Two sample test) (3) | 2020.08.23 |
[Python] 일표본 t 검정(One sample t-test) (1) | 2020.08.21 |
유의수준 + 유의확률(p-value) (0) | 2020.08.19 |