빅데이터분석기사/작업형3

[작업형3] 독립성 검정(카이제곱)

seo0seok 2023. 6. 23. 03:01

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

 

1. 독립성 검정

- 두 범주형 변수의 관련성

 

문제) A공장과 B공장 임직원 간의 근무기간 비율에 차이가 있는가?

 

- 귀무가설(H0) : '근무지'와 '근무기간'은 독립이다.

- 대립가설(H1) : '근무지'와 '근무기간'은 독립이 아니다.

 

 

문제1) 위의 가설에 대한 독립성 검정(카이제곱)의 검정통계량 값은?

import pandas as pd
from scipy.stats import chi2_contingency
# 데이터
df = pd.DataFrame([[50, 60],[25, 40]])

→ 문제와 같이 데이터프레임을 만들어준다.

 

# 독립성 검정
stat, p, dof, expected_freq = chi2_contingency(df)

실행 결과 : 
Chi2ContingencyResult(statistic=0.5552884615384607, pvalue=0.4561648467028253,
dof=1, expected_freq=array([[47.14285714, 62.85714286], [27.85714286, 37.14285714]]))

→ chi2_contigency 실행 결과 4개의 값이 나오는데 4개의 변수에 바로 담아줄 수 있다.

 

# 검정통계량
print(round(stat,2))

실행 결과 : 
0.56

→ 검정통계량은 0.56이다.

 

 

문제2) 위의 통계량에 대한 p-값을 구하시오.

# p-value
print(round(p,4))

실행 결과 : 
0.4562

→ p-value값은 0.4562이다.

 

 

문제3) 유의수준 0.05하에서 가설검정의 결과(채택/기각)중 하나를 선택하시오.

 

→ pvalue값이 0.4562로 유의수준 0.05보다 높아 귀무가설을 채택한다.

→ 즉, 대립가설이 기각되므로 근무지와 근무기간이 독립이 아니라고 할 수 없다.

 

# 연속성 수정(Yates's correction for continuity): 기본값 True
chi2_contingency(df, correction=False) 

실행 결과 :
0.82
0.3664

→ correction=True일때와 correction=False의 값이 다르다.