-
Python 데이터분석 기초 30 - 가설검정 - 일원카이제곱 이(stats.chisquare()) 예제 , 선호도 분석 실습Python 데이터 분석 2022. 11. 4. 16:30
# 카이제곱검정 중 일원카이제곱 # : 관찰도수가 기대도수와 일치하는 지를 검정하는 방법 # : 종류 : 적합도/선호도 검정 # - 범주형 변수가 한 가지로, 관찰도수가 기대도수에 일치하는지 검정한다. # 적합도 검정 # : 자연현상이나 각종 실험을 통해 관찰되는 도수들이 귀무가설 하의 분포(범주형 자료의 각 수준별 비율)에 얼마나 일치하는가에 대한 # 분석을 적합도 검정이라 한다. # : 관측값들이 어떤 이론적 분포를 따르고 있는지를 검정으로 한 개의 요인을 대상으로 함. # <적합도 검정실습> # 주사위를 60 회 던져서 나온 관측도수 / 기대도수가 아래와 같이 나온 경우에 이 주사위는 적합한 주사위가 맞는가를 일원카이제곱 검정 # 으로 분석하자 # 주사위 눈금 1 2 3 4 5 6 # 관측도수 4 6 17 16 8 9 # 기대도수 10 10 10 10 10 10 # 수집된 데이터를 바탕으로 기대도수(기준, 상식, 귀무가설)를 바탕으로 대립가설 세우기 # 귀무 가설 : 기대치와 관찰치는 차이가 없다. 현재 주사위는 게임에 적합하다. 보수적 # 대립 가설 : 기대치와 관찰치는 차이가 있다. 현재 주사위는 게임에 적합하지 않다. 적극적 # 일원카이제곱 stats.chisquare(관찰빈도, 예상빈도) 편도카이제곱 import pandas as pd import scipy.stats as stats data = [4, 6, 17, 16, 8, 9] # data = [11, 6, 10, 13, 8, 12] result = stats.chisquare(f_obs = data) print(result) print('chi2 : {}, p-value : {}'.format(result.statistic, result.pvalue)) print('statistic : %.5f, p-vlaue : %.5f'%(result)) # statistic : 14.20000, p-vlaue : 0.01439 반비례 # 판정 : p-vlaue : 0.01439 < 0.05 이므로 귀무 기각 # 기대치와 관찰치는 차이가 있다. 현재 주사위는 게임에 적합하지 않다. 현재 관찰된 데이터는 우연히 발생한 데이터가 아니다. # cv로 판정 df : ? (N - 1) = 5 cv : ? 11.07(카이제곱표 확인) statistic : 14.2 statstic 이 cv보다 크기때문에 대립가설 적합 print('----선호도----') # <선호도 분석 실습> 5개의 스포츠 음료에 대한 선호도에 차이가 있는지 검정하기 # 귀무 : 스포츠 음료에 대한 선호도에 차이가 없다. # 대립 : 스포츠 음료에 대한 선호도에 차이가 있다. datas = pd.read_csv('../testdata/drinkdata.csv') print(datas) print(sum(datas.관측도수)) print(stats.chisquare(datas.관측도수)) # statistic=20.488188976377952, pvalue=0.00039991784008227264 < 0.05 이므로 귀무기각 # 스포츠 음료에 대한 선호도에 차이가 있다. 그러므로 특정음료 제공을 더 많이 할 수 있도록 한다. <console> Power_divergenceResult(statistic=14.200000000000001, pvalue=0.014387678176921308) chi2 : 14.200000000000001, p-value : 0.014387678176921308 statistic : 14.20000, p-vlaue : 0.01439 ----선호도---- 음료종류 관측도수 0 s1 41 1 s2 30 2 s3 51 3 s4 71 4 s5 61 254 Power_divergenceResult(statistic=20.488188976377952, pvalue=0.00039991784008227264)
가설검정을 할 경우에는 p-value가 0.05보다 작으면 귀무가설 기각, 대립가설 채택이다.
전에 배웠던 데이터의 신뢰도를 확인하기 위한 p-value와는 다르게 생각해야 된다.
'Python 데이터 분석' 카테고리의 다른 글
가설검정 카이제곱 문제 연습(1) (0) 2022.11.07 Python 데이터분석 기초 31 - 가설검정 - 이원카이제곱, 교차분할표 이용(stats.chi2_contingency()) 예제 (2) 2022.11.04 Python 데이터분석 기초 29 - # 가설검정 중 카이제곱(교차분석) 대립 가설 세워보기, 카이제곱이란? (0) 2022.11.04 Python 데이터분석 기초 28 - 점추정(point estimation), 구간추정(interval estimation), 귀무가설과 대립가설, 1종오류, p-value 개념 (7) 2022.11.04 Python 데이터분석 기초 27 - 기술 통계(일변량(one variable), 이변량(two variable)) (0) 2022.11.04