-
Python 데이터분석 기초 31 - 가설검정 - 이원카이제곱, 교차분할표 이용(stats.chi2_contingency()) 예제Python 데이터 분석 2022. 11. 4. 17:36
# 이원카이제곱 - 교차분할표 이용 # : 두 개 이상의 변인(집단 또는 범주)을 대상으로 검정을 수행한다. # 분석대상의 집단 수에 의해서 독립성 검정과 동질성 검정으로 나뉜다. # 독립성(관련성) 검정 # - 동일 집단의 두 변인(학력수준과 대학진학 여부)을 대상으로 관련성이 있는가 없는가? # - 독립성 검정은 두 변수 사이의 연관성을 검정한다. # 실습 : 교육수준과 흡연율 간의 관련성 분석 : smoke.csv # 귀무 : 교육수준과 흡연율 간의 관련성이 없다. 서로 독립이다. # 대립 : 교육수준과 흡연율 간의 관련성이 있다. 서로 독립이 아니다. import pandas as pd import scipy.stats as stats data = pd.read_csv('../testdata/smoke.csv') print(data.head(2)) print(data['education'].unique()) # education의 값이 뭐가 있는지 호출 print(data['smoking'].unique()) # smoking의 값이 뭐가 있는지 호출 # 교차표 ctab = pd.crosstab(index = data['education'], columns = data['smoking']) ctab.index = ['대학원졸', '대졸', '고졸'] ctab.columns = ['과흡연', '보통', '노담'] print(ctab) chi_result = [ctab.loc['대학원졸'], ctab.loc['대졸'], ctab.loc['고졸']] # chi2, p, ddof, _ = stats.chi2_contingency(chi_result) chi2, p, ddof, _ = stats.chi2_contingency(ctab) # 교차표의 결과를 직접 적용해도 된다. print('chi2:{}, p:{}, ddof:{}'.format(chi2, p, ddof)) # chi2:18.910915, p:0.0008182, ddof:4 # 해석 : p:0.0008182 <0.05 이므로 귀무가설 기각 # 교육수준과 흡연율 간의 관련성이 있다. 서로 독립이 아니다. 이런 결과에 상응하는 어떤 조치를 보고서에 담아주면 된다. # 야트보정 # 분할표의 자유도가 1인 경우는 x^2 값이 약간 높게 계산된다. # 그래서 절대값 |O-E|에서 0.5를 뺀 다음 제곱하며, 이 방법을 야트보정이라고 한다. 검정도구는 이를 자동으로 해 준다. <console> education smoking 0 1 1 1 1 1 [1 2 3] [1 2 3] 과흡연 보통 노담 대학원졸 51 92 68 대졸 22 21 9 고졸 43 28 21 chi2:18.910915739853955, p:0.0008182572832162924, ddof:4
가설검정을 할 경우에는 p-value가 0.05보다 작으면 귀무가설 기각, 대립가설 채택이다.
전에 배웠던 데이터의 신뢰도를 확인하기 위한 p-value와는 다르게 생각해야 된다.
야트보정
분할표의 자유도가 1인 경우는 x^2 값이 약간 높게 계산된다.
그래서 절대값 |O-E|에서 0.5를 뺀 다음 제곱하며, 이 방법을 야트보정이라고 한다. 검정도구는 이를 자동으로 해 준다.'Python 데이터 분석' 카테고리의 다른 글
가설검정 카이제곱 연습 문제(2) (0) 2022.11.07 가설검정 카이제곱 문제 연습(1) (0) 2022.11.07 Python 데이터분석 기초 30 - 가설검정 - 일원카이제곱 이(stats.chisquare()) 예제 , 선호도 분석 실습 (0) 2022.11.04 Python 데이터분석 기초 29 - # 가설검정 중 카이제곱(교차분석) 대립 가설 세워보기, 카이제곱이란? (0) 2022.11.04 Python 데이터분석 기초 28 - 점추정(point estimation), 구간추정(interval estimation), 귀무가설과 대립가설, 1종오류, p-value 개념 (7) 2022.11.04