티스토리 뷰
Paired sample t-test (대응 표본)
대응 표본 t 검정이란 비교할 두 집단이 서로 독립적이어야하는 독립 표본 t 검정과는 다르게 두 집단이 상관 있는 경우 사용하는 검정 방법이다. 예를 들어 운동 초보와 운동 중급자가 같은 단백질 드링크를 마셨을 때 근육 성장률이 같을까? 이러한 조사를 하기 위해서는 대응 표본 t 검정을 이용할 수 있다. 좀 더 구체적으로 말하면 30명의 사람이 단백질 드링크를 먹고 나서 근육 성장률의 평균을 조사했다고 가정하자. 똑같은 30명의 사람이 한달 동안 운동을 꾸준히 한 후 단백질 드링크를 먹었을 때 평균을 구해 비교할 수 있다. .
실습
10명의 사격자가 1차, 2차 사격을 했을 때 각 차수의 평균을 비교해보았다.
H0(귀무가설): 1차와 2차 사격의 평균은 같다.
H1(대립가설): 1차와 2차 사격의 평균은 다르다.
R 활용
# 데이터 f_round = c(0.430,0.266,0.567,0.531,0.707,0.716,0.651,0.589,0.469,0.723) s_round = c(0.415,0.238,0.390,0.410,0.605,0.609,0.632,0.523,0.411,0.612) # 정규성 검정 (Shapiro-Wilk normality test) shapiro.test(f_round) shapiro.test(s_round)
# 정규성 검정 결과 data: f_round W = 0.92236, p-value = 0.3771
data: s_round W = 0.88271, p-value = 0.1402 # 등분산성 검정 var.test(f_round, s_round)
# 등분산성 검정 data: f_round and s_round F = 1.2511, num df = 9, denom df = 9, p-value = 0.7441 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.3107464 5.0367729 sample estimates: ratio of variances 1.251063 |
정규성 검정 결과 p-value 모두 0.05 이상이므로 정규성을 띈다. 그리고 등분산성은 p-value가 0.7441이므로 역시 0.05보다 커 두 집단간의 등분산성을 인정합니다.
이와 같이 정규성과 등분산성을 검정하고나서 대응표본 t검정을 진행한다.
# t.test 함수 사용 t.test(f_round, s_round, paired = TRUE) # Paired Sample t-test 결과 data: f_round and s_round t = 4.8638, df = 9, p-value = 0.0008911 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.043006 0.117794 sample estimates: mean of the differences 0.0804 |
결과 해석
p-value = 0.0008911 이므로 대립 가설을 채택할 수 있다. 따라서 첫번째와 두번째의 차이는 유의미하며 훈련의 성과가 있다는 것을 알 수 있습니다.
Python 활용
from scipy import stats
f_round = [0.430,0.266,0.567,0.531,0.707,0.716,0.651,0.589,0.469,0.723]
s_round = [0.415,0.238,0.390,0.410,0.605,0.609,0.632,0.523,0.411,0.612]
# 정규성 검정 (Shapiro-Wilk normality test)
f_round = stats.shapiro(f_round)
s_round = stats.shapiro(s_round)
print(f_round)
print(s_round)
#정규성 검정 결과
ShapiroResult(statistic=0.9223615527153015, pvalue=0.3770734369754791)
ShapiroResult(statistic=0.8827136754989624, pvalue=0.14017775654792786)
# 등분산성 검정 (levene test)
levene = stats.levene(f_round, s_round)
print(levene)
LeveneResult(statistic=0.00031724210860253736, pvalue=0.9859853433842356)
# 등분산성 검정 (bartlett test)
bartlett = stats.bartlett(f_round, s_round)
print(bartlett)
BartlettResult(statistic=0.062569072556436, pvalue=0.8024805473574832)
# Paired Sample t-test 결과
result = stats.ttest_rel(f_round, s_round)
print(result)
Ttest_relResult(statistic=4.863812745135183, pvalue=0.0008911154578225479)
'AI & BigData > Basic' 카테고리의 다른 글
[Python] 파이참 프로젝트에 아나콘다 가상환경 적용하기 (0) | 2022.09.20 |
---|---|
Python을 활용한 KNN 실습 (iris데이터) (0) | 2020.12.27 |
R를 활용한 KNN 실습 (iris 데이터) (0) | 2020.12.27 |
R, Python을 활용한 Independence two Sample t-test (독립 표본 t 검정) (0) | 2020.12.13 |
R, Python을 활용한 One Sample t-test (단일 표본 t 검정) (0) | 2020.12.12 |
- Total
- Today
- Yesterday
- 시간초과
- 카카오페이면접후기
- 우선순위큐
- t검정
- 다이나믹프로그래밍
- lightsail
- FastAPI
- LangChain
- 보안기사
- 백준
- Ai
- synflooding
- 코딩테스트
- 정보보안
- 분산시스템
- java
- 리눅스
- t-test
- 카카오페이
- llm
- linux
- 프로그래머스
- 자료구조
- 파이썬
- 그리디
- 정보보안기사
- springboot
- 딥러닝
- 보안
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |