빅데이터 공부

[빅데이터분석기사 실기] 제3유형-가설검정

왕초보코딩러 2024. 1. 8. 21:10
728x90

https://deephive.tistory.com/25

 

빅데이터분석기사 실기 :: 신유형 작업형3 소개, 변경사항, 공부방법

빅데이터분석기사 실기 관련 Kdata 데이터자격검정 사이트에 올라온 공지사항입니다.빅데이터분석기사 실기시험의 출제유형이 아래와 같이 변경됨을 안내합니다. 변경내용 : 기존 단답형 10문제

deephive.tistory.com

 

https://www.youtube.com/watch?v=37GqFZVjc1Y&t=11290s

 

1. 필요 라이브러리 임포트

2. 가설설정

3. 유의수준 확인

4. 정규성 검정

5. 검정실시(통계량, p-value)

6. p-value와 유의수준 비교 후 귀무가설 기각 채택 결정

 


1. 필요 라이브러리 임포트

import scipy.stats as stats

 

2. 가설설정

귀무가설과 대립가설 설정한다

주석으로 적어놓는다

 

귀무가설(H0): 기존의 입장

대립가설(H1): 귀무가설과 반대의 입장

 

3. 유의 수준 확인

α를 사용한다

주어진 문제에 나온 값으로 사용

alpha = 0.05

 

4. 정규성 검정

(빅데이터분석기사가 시작된지 얼마 안돼, 데이터가 정규 분포를 따르고 있다고 미리 제시해주는 경우가 많지만, 혹시 몰라 적습니다!)

 

정규성 검정: 샤피로 윌크 검정

H0(귀무가설): 정규 분포를 따른다 (p > alpha)

H1(대립가설): 정규 분포를 따르지 않는다 (p < alpha)

stat, p = stats.shapiro(data)

 

 

p > 0.05면 귀무가설 채택

정규분포 -> ttest

stats.ttet_어쩌고()

 

p < 0.05면 귀무가설 기각(대립가설 채택)

정규분포X ->wilcoxon

stats.ranksums()

 

5. 검정실시(통계량, p-value)

문제에서 주어진 검정을 한다

문제에 주어져 있지 않다면 기준에 따라 검정을 한다

 

 

카이제곱 -> 독립성 검정, 동질성 검정
t-test -> 단일 표본, 독립 표본, 대응 표본
ANOVA -> 모집단이 3개 이상이고 3개 모두 정규성, 등분산성 따름
크루스칼 왈리스 -> 모집단이 3개 이상이고 3개 중 하나라도 정규성, 등분산성 안따름

 

https://hyunie-y.tistory.com/9

 

프로그래밍 통계2: 가설 검정의 종류와 자료의 형태

통계 검정 방법에는 여러가지가 있으나 대표적으로 T 검정, ANOVA검정, 카이제곱검정, F검정을 들 수 있다. 각각 어떤 검정통계량을 기준으로 가설 검정을 시행하느냐에 따라 나뉜다. 검정법 비교

hyunie-y.tistory.com


연속형 변수인 두 독립군 간의 비교는 t-test
범주형 변수인 두 독립군 간의 비교는 chi-squares

 

5-1 카이제곱 검정

1. 독립성 검정: 하나의 모집단에서 뽑은 표본에서 두 개의 변수가 독립인지 확인

2. 동질성 검정:  다른 두 개의 모집단에서 뽑은 표본의 분포가 비슷한지를 확인

 

 

독립성 검정

하나의 모집단에서 뽑은 표본에서 두 개의 변수가 독립인지 확인

미리 교차표를 만들어야 한다.

 

교차표 만드는 법

pd.crosstab(index= , columns=, values=)

data = pd.crosstab(index=df[''], columns=df[''], values=df[''], aggfunc = sum)

index와 columns만 써도 된다

 

#data는 교차표
li = stats.chi2_contingency(data)

print(li)
'''결과
카이제곱, p-value, 자유도, 기대빈도
Chi2ContingencyResult(
statistic=260.71702016732104, 
pvalue=1.1973570627755645e-58, 
dof=1, 
expected_freq=array([[120.52525253, 221.47474747],[193.47474747, 355.52525253]]))

카이제곱, p-value, 자유도, 기대빈도 순으로 나온다

카이제곱을 보고 싶다면 li[0]

p-value를 보고 싶다면 li[1]

자유도를 보고 싶다면 li[2]

기대빈도를 보고 싶다면 li[3]

 

동질성 검정

다른 두 개의 모집단에서 뽑은 표본의 분포가 비슷한지를 확인

교차표 필요 없음

귀무가설: 분포가 비슷하다(p-value > alpha)

대립가설: 분포가 비슷하지 않다(p-value < alpha)

#data1은 관찰값, data2는 기대값
li = stats.chisqure(data1, data2)

 

https://recipesds.tistory.com/entry/%EB%8F%85%EB%A6%BD%EC%84%B1%EC%97%B0%EA%B4%80%EC%84%B1-%EB%8F%99%EC%A7%88%EC%84%B1-%EA%B2%80%EC%A0%95%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%99%80-%EA%B7%B8%EB%93%A4%EC%9D%98-%EC%A0%95%EC%B2%B4-%CF%87%C2%B2-%EC%B9%B4%EC%9D%B4%EC%8A%A4%ED%80%98%EC%96%B4-%EA%B2%80%EC%A0%95

 

독립성(연관성), 동질성 검정의 차이와 그들의 정체 - χ² 카이스퀘어 검정

"서로 독립이라면, 계산 해 낼 수 있다" . 이 편에서는 뜬금 없더라도 이 말을 꼭 가슴에 품고 읽기 시작했으면 합니다. 일단 검정을 시작했으니 어찌 되었든 웬만한 검정은 해보기로 하겠습니다.

recipesds.tistory.com

https://heannim-world.tistory.com/59

 

[Python] SciPy / 기초기술통계 / 카이제곱검정 / T검정

검정(test) 특정 분포를 기준으로 했을 때 유의성이 있는가 판별하는 것. 1. 카이제곱검정(Chi-squares) 그룹간 관찰빈도와 기대빈도를 통해 두 집단간의 차이가 유의한가를 판별하는 방법. 카이검정

heannim-world.tistory.com

 

https://blog.naver.com/PostView.nhn?blogId=mazbbr&logNo=222268733113&parentCategoryNo=&categoryNo=1&viewDate=&isShowPopularPosts=true&from=search

 

파이썬 교차분석검정 - 일원카이제곱

일원 카이제곱 : (변인 단수) - 적합성(선호도) - 교차분할표 X 이원 카이제곱 : (변인 복수) - 독립성(동...

blog.naver.com


5-2 t test

두 집단 간의 평균을 비교할 때 사용

1. 단일 표본: 한 집단의 평균 검정

2. 독립 표본: 두 집단 평균 검정

3. 대응 표본: 같은 집단의 대응되는 두 변수를 비교 (동일한 대상에 대해 두 가지 관측치를 비교)

 

ttest의 alternative 파라미터 3가지 중 하나 선택

'two-sided'
'less'
'greater'

 

alternative = 'two-sided'가 디폴트


'대립가설'을 기준으로 a와 b에 따라
a가 b보다 크다
a > b 면 greater

 

a가 b보다 작다
a < b 면 less

 

a와 b는 다르다
a =/= b (같지만 않으면 된다) 면 two-sided

 

단일 표본: 표본 집단과 관측치 비교

stats.ttest_1samp(a, b)

b는 관측치로, 주어지는 값을 넣으면 된다

 

독립 표본: 두 개의 집단에서 표본 수집

stats.ttest_ind(a, b)

 

대응 표본: 같은 집단의 다른 변수 비교

stats.ttest_rel(a,b)

 

 

alternative 파라미터가 헷갈린다면 참고

https://www.youtube.com/watch?v=xyqjl4DwVyQ&t=784s

 


 

5-3 ANOVA, 크루스칼-왈리스

모집단이 3개 이상

모든 모집단 모두가 정규성(+등분산)을 따르면 -> ANOVA

모든 모집단이 정규성을 따르지 않으면 -> 크루스칼-왈리스

 

등분산 검정 -> 검정 실시

H0: 등분산 한다

H1: 등분산 하지 않는다

stats.bartlett(데이터1, 데이터2, 데이터3)

 

ANOVA F 검정: 정규성, 등분산성 모두 충족

stats.f_oneway(데이터1, 데이터2, 데이터3)

 

크루스칼 왈리스: 정규성x, 등분산성x

stats.kruskal(데이터1, 데이터2, 데이터3)

 

 

6. p-value와 유의수준 비교 후 귀무가설 기각 채택 결정

검정으로 얻은 p-value값을 이용하여 귀무가설과 대립가설 채택을 결정

p-value > alpha라면, 귀무가설 채택

p-value < alpha라면, 귀무가설 기각(대립가설 채택)

alpha = 유의수준
p = 얻은 p-value 값

if p > alpha :
	print("귀무가설을 채택합니다")
else:
	print("귀무가설을 기각합니다(대립가설 채택)")

 

 

 

 

작업형 예시 문

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

 

 

 

저는 시간이 너무 부족해서 3유형을 하루정도밖에 공부하지 못했습니다ㅜㅜㅜ

이 글도 틀린 것이 많을 수도...잘 찾아보면서 하세요

공부하지 않은 회귀 분석에서 나온....ㅎㅎ

그대신 상관 분석이 나와서 한 문제 정도 풀었던 것 같습니다..

'빅데이터 공부' 카테고리의 다른 글

[Pandas] DataFrame  (0) 2024.07.14
PCA  (2) 2024.01.09
비지도학습-클러스터링  (0) 2024.01.08
[빅데이터분석기사 실기] 제2유형  (1) 2023.12.18
데이터 클리닝  (0) 2023.11.29