본문 바로가기

자격증공부/빅데이터분석기사

[빅데이터분석기사][작업형3] 예시문제 (쌍체표본 t-검정)

320x100

* 퇴근후딴짓 님의 강의를 참고하였습니다. *

[ 문제 ]

주어진 데이터(data/blood_pressure.csv)에는 고혈압 환자 120명의 치료전후의 혈압이 저장되어 있다. 해당 치료가 효과가 있는지 (즉, 치료 후의 혈압이 감소했는지) 쌍체표본 t-검정(paried t-test)를 통해 답하고자 한다. 가설은 아래와 같다.

 

μd : (치료 후 혈압 - 치료전 혈압)의 평균

Η0 : μd >= 0

H1 : μd < 0

 - bp_before : 치료 전 혈압

 - bp_after : 치료 후 혈압

 

1) μd의 표본평균을 입력하시오. (반올림하여 소수 둘째자리까지 계산)

2) 위의 가설을 검정하기 위한 검정통계량을 입력하시오. (반올림하여 소수 넷째자리까지 계산)

3) 위의 통계량에 대한 p값을 구하여 입력하시오. (반올림하여 소수 넷째자리까지 계산)

4) 유의수준 0.05 하에서 가설검정의 결과를 채택/기각 중 하나를 선택하여 입력하시오.

반응형

 

[ 풀이 ]

* 검정통계량, p-value 

from scipy import stats

result = stats.ttest_real(A, B, alternative = ' ㅇㅇ')

# A가 B보다 값이 커야 하는 경우 greater / 작아야 하는 경우 less / 같지 않은 경우가 기본 값

result : 검정통계량, p-value 모두 가지고 있음

result.statistic : 검정통계량 값

result.pvalue : p-value 값

320x100
import pandas as pd

df = pd.read_csv('data/blood_pressure.csv', index_col=0)
df['diff'] = df['bp_after'] - df['bp_before']

# 01
print(round(df['diff'].mean(),2))

# 02
from scipy import stats
result = stats.ttest_rel(df['bp_after'], df['bp_before'], alternative='less') # 치료후 값이 혈압이 더 떨어져서 작아야 함
print(result) #검정통계량과 pvalue 출력됨
print(round(result.statistic,2)) #검정통계량만 출력

# 03
print(round(result.pvalue,4)) #0.05보다 작으므로 귀무가설을 기각하고 대립가설을 채택한다. / 0.05보다 큰 경우 귀무가설을 기각하지 못한다.

# 04
print("귀무가설을 기각하고 대립가설을 채택")

# 또다른 방법
st, pv = stats.ttest_rel(df['bp_after'], df['bp_before'], alternative='less') 
# 검정통계량과 pvalue를 각각 받게됨
print(st)
print(pv)

 

320x100
반응형