일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 감사인사
- 명상
- 기사스크랩
- 데이터 분석
- GA
- 얼음여왕
- 벚꽃
- 벚꽃개화시기
- 티스토리
- 구글애널리틱스
- 채용공고
- 영화 올드 줄거리
- 프로그래머스
- Google Analytics
- GA4
- 독서
- 니다
- 6시 기상
- 구글애널리틱스4
- ㅂㅂ
- 수명예측 인공지능
- 알파줄거리
- 코오롱베네트
- 코딩
- 데이터문해력
- Python
- 미라클 모닝
Archives
- Today
- Total
Data Analyst KIM
[빅데이터 분석기사 실기-작업형3] 유형 별 예제 본문
반응형
본 글은 모두 캐글을 참고하여 실습한 내용을 토대로 작성을 했다.
목차
- 1. 단일표본 T검정
- 2. 독립표본 T검정
- 3. 대응표본 T검정
- 4. 일원배치법
- 5. 정규성 검정(Shapiro-Wilks)
1. 단일표본 T검정
<문제>
다음은 22명의 학생들이 국어시험에서 받은 점수이다. 학생들의 평균이 75보다 크다고 할 수 있는가?
- 귀무가설(H0): 모평균은 mu와 같다. (μ = mu), 학생들의 평균은 75이다
- 대립가설(H1): 모평균은 mu보다 크다. (μ > mu), 학생들의 평균은 75보다 크다
가정:
- 모집단은 정규분포를 따른다.
- 표본의 크기가 충분히 크다.
검정통계량, p-value, 검정결과를 출력하시오
scores = [75, 80, 68, 72, 77, 82, 81, 79, 70, 74, 76, 78, 81, 73, 81, 78, 75, 72, 74, 79, 78, 79]
from scipy.stats import ttest_1samp
mu = 75
alpha = 0.05
t_statistic , p_value = ttest_1samp(scores,mu,alternative="greater")
print("t_statistic:",t_statistic)
print("p_value:",p_value)
if p_value > alpha :
print("귀무가설을 기각할 수 없다. 학생들의 평균은 75이다")
else :
print("귀무가설을 기각한다. 따라서 학생들의 평균은 75보다 크다")
t-statistic: 1.765879233231226
p-value: 0.04597614747709146
귀무가설을 기각합니다. 모평균은 75보다 큽니다.
2. 독립표본 T검정
<문제>
어떤 특정 약물을 복용한 사람들의 평균 체온이 복용하지 않은 사람들의 평균 체온과 유의미하게 다른지 검정해보려고 합니다.
가정:
- 약물을 복용한 그룹과 복용하지 않은 그룹의 체온 데이터가 각각 주어져 있다고 가정합니다.
- 각 그룹의 체온은 정규분포를 따른다고 가정합니다.
group1 = [36.8, 36.7, 37.1, 36.9, 37.2, 36.8, 36.9, 37.1, 36.7, 37.1]
group2 = [36.5, 36.6, 36.3, 36.6, 36.9, 36.7, 36.7, 36.8, 36.5, 36.7]
from scipy.stats import ttest_ind
t_statistic, p_value = ttest_ind(group1,group2)
print("검정통계량:", t_statistic)
print("p-value:", p_value)
alpha = 0.05
if p_value > alpha :
print("귀무가설을 기각하지 못한다. 약물을 복용한 그룹과 복용하지 않은 그룹의 평균 체온은 유의미한 차이가 없다.")
else :
print("귀무가설을 기각한다. 약물을 복용한 그룹과 복용하지 않은 그룹의 평균 체온은 유의미한 차이가 있다.")
검정통계량: 3.7964208654863336
p-value: 0.001321891476703691
귀무가설을 기각한다.
약물을 복용한 그룹과 복용하지 않은 그룹의 평균 체온은 유의미한 차이가 있다.
3. 대응(쌍체)표본 T검정
<문제>
주어진 데이터는 고혈압 환자 치료 전후의 혈압이다. 해당 치료가 효과가 있는지 대응(쌍체)표본 t-검정을 진행하시오
- 귀무가설(H0): >= 0
- 대립가설(H1): < 0
- = (치료 후 혈압 - 치료 전 혈압)의 평균
- 유의수준: 0.05
- 의 표본평균은?(소수 둘째자리까지 반올림)
- 검정통계량 값은?(소수 넷째자리까지 반올림)
- p-값은?(소수 넷째자리까지 반올림)
- 가설검정의 결과는? (유의수준 5%)
import pandas as pd
df = pd.read_csv("/kaggle/input/bigdatacertificationkr/high_blood_pressure.csv")
print(df)
Id sex age bp_pre bp_post
0 p001 Male 33 149 129
1 p002 Male 39 168 168
2 p003 Male 70 176 155
3 p004 Female 41 169 178
4 p005 Male 48 160 126
... ... ... ... ... ...
115 p116 Male 70 173 129
116 p117 Male 75 153 157
117 p118 Female 79 156 143
118 p119 Female 40 182 172
119 p120 Female 41 142 168
df['diff'] = df["bp_post"]-df["bp_pre"]
print(round(df['diff'].mean(),2)) # 1번
from scipy.stats import ttest_rel
t_statistic , p_value = ttest_rel(df["bp_post"],df["bp_pre"],alternative="less")
print("검정통계량:", round(t_statistic,4)) # 문제 2번
print("p-value:", round(p_value,4)) # 문제 3번
alpha = 0.05
if p_value > alpha : # 문제 4번
print("귀무가설을 기각하지 못한다. 치료는 혈압을 낮추는데 효과가 없다")
else :
print("귀무가설을 기각한다. 치료는 혈압을 낮추는데 효과가 있다.")
검정통계량: -3.0002
p-value: 0.0016
귀무가설을 기각한다. 치료는 혈압을 낮추는데 효과가 있다.
4. 일원배치법
<문제>
세 가지 다른 교육 방법(A, B, C)을 사용하여 수험생들의 시험 성적을 개선시키는 효과를 평가하고자 한다. 30명의 학생들을 무작위로 세 그룹으로 배정하여 교육을 실시하였고, 시험을 보고 성적을 측정하였습니다. 다음은 각 그룹의 학생들의 성적 데이터입니다.
- 귀무가설(H0): 세 그룹(A, B, C) 간의 평균 성적 차이가 없다.
- 대립가설(H1 또는 Ha): 세 그룹(A, B, C) 간의 평균 성적 차이가 있다.
일원배치법을 수행하여 그룹 간의 평균 성적 차이가 있는지 검정하세요.
- f값 (소수 둘째자리)
- p값 (소수 여섯째자리)
- 검정결과 출력
# 각 그룹의 데이터
groupA = [85, 92, 78, 88, 83, 90, 76, 84, 92, 87]
groupB = [79, 69, 84, 78, 79, 83, 79, 81, 86, 88]
groupC = [75, 68, 74, 65, 77, 72, 70, 73, 78, 75]
from scipy.stats import f_oneway
f_value, p_value = f_oneway(groupA, groupB, groupC)
print("F-value : ",round(f_value,2)) # 1번 문제
print("p-value : ",round(p_value,6)) # 2번 문제
print("p-value : ",format(p_value,'.6f')) # 2번 문제
if p_value > 0.05 : # 3번 문제
print("귀무가설을 기각하지 못한다. 세 그룹 간의 평균 성적 차이가 없다.")
else :
print("귀무가설을 기각한다. 세 그룹 간의 평균 성적 차이가 있다.")
F-value : 16.88
p-value : 1.8e-05
p-value : 0.000018
귀무가설을 기각한다. 세 그룹 간의 평균 성적 차이가 있다.
5. 정규성 검정 Shapiro-Wilks
<문제>
12명의 수험생이 빅데이터 분석기사 시험에서 받은 점수이다. Shapiro-Wilk 검정을 사용하여 데이터가 정규 분포를 따르는지 검증하시오
- 귀무 가설(H0): 데이터는 정규 분포를 따른다.
- 대립 가설(H1): 데이터는 정규 분포를 따르지 않는다.
Shapiro-Wilk 검정 통계량, p-value, 검증결과를 출력하시오
data = [75, 83, 81, 92, 68, 77, 78, 80, 85, 95, 79, 89]
from scipy.stats import shapiro
statistic, p_value = shapiro(data)
print("Shapiro-Wilk 검정통계량 : ",statistic)
print("p-value : ", p_value)
if p_value > 0.05 :
print("귀무가설을 기각하지 못한다. 데이터는 정규 분포를 따른다.")
else :
print("귀무가설을 기각한다.. 데이터는 정규 분포를 따르지 않는다")
반응형
'일상 > 자격증' 카테고리의 다른 글
[빅데이터 분석기사] 6회 실기 합격 후기(노션 정리본 포함) (0) | 2023.07.07 |
---|---|
[빅데이터 분석기사-실기] 작업형1,2,3 문제정리(응시가이드+코드+개념+참고사이트,블로그,영상) (0) | 2023.06.22 |
[SQLD-49회] 시험후기 및 공부방법(+49회 문제 복기) (0) | 2023.06.11 |
제 49회 SQLD 공부 및 정리(참고자료포함) (0) | 2023.06.09 |
[민간 자격증-한국품질재단] 빅데이터 관리사 취득 (0) | 2023.05.30 |