ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이원카이제곱 동질성 검정실습(1)
    Python 데이터 분석 2022. 11. 7. 11:17

     

    이원카이제곱
    동질성 검정 - 두 집단의 분포가 동일한가? 다른 분포인가? 를 검증하는 방법이다. 두 집단 이상에서 각 범주(집단) 간의 비율이 서로 동일한가를 검정하게 된다. 두 개 이상의 범주형 자료가 동일한 분포를 갖는 모집단에서 추출된 것인지 검정하는 방법이다.

     

     

    동질성 검정실습1) 교육방법에 따른 교육생들의 만족도 분석 - 동질성 검정 survey_method.csv

     

    # 이원카이제곱
    # 동질성 검정 - 두 집단의 분포가 동일한가? 다른 분포인가? 를 검증하는 방법이다. 두 집단 이상에서 각 범주(집단) 간의 비율이 서로
    # 동일한가를 검정하게 된다. 두 개 이상의 범주형 자료가 동일한 분포를 갖는 모집단에서 추출된 것인지 검정하는 방법이다.
    
    import pandas as pd
    import scipy.stats as stats
    
    # 동질성 검정실습) 교육방법에 따른 교육생들의 만족도 분석 - 동질성 검정 survey_method.csv
    
    data = pd.read_csv("https://raw.githubusercontent.com/pykwon/python/master/testdata_utf8/survey_method.csv")
    print(data.head(3))
    print(data.method.unique())  # [1 2 3]
    print(data.survey.unique())  # [1 2 3 4 5]
    
    # 귀무 : 교육방법에 따른 교육생들의 만족도에 차이가 없다.
    # 대립 : 교육방법에 따른 교육생들의 만족도에 차이가 있다.
    
    ctab = pd.crosstab(index = data.method, columns = data.survey)
    ctab.columns = ['매우만족', '만족', '보통', '불만족', '매우불만족']
    ctab.index = ['방법1', '방법2' ,'방법3']
    print(ctab)
    
    chi2, p, ddof, _ = stats.chi2_contingency(ctab)
    print('chi2:{}, p:{}, ddof:{}'.format(chi2, p, ddof))
    # chi2:6.544667820529891, p:0.5864574374550608, ddof:8
    # 해석 : p:0.58645 > 0.05 이므로 귀무 채택. 교육방법에 따른 교육생들의 만족도에 차이가 없다.
    
    
    <console>
       no  method  survey
    0   1       1       1
    1   2       2       2
    2   3       3       3
    [1 2 3]
    [1 2 3 4 5]
         매우만족  만족  보통  불만족  매우불만족
    방법1     5   8  15   16      6
    방법2     8  14  11   11      6
    방법3     8   7  11   15      9
    chi2:6.544667820529891, p:0.5864574374550608, ddof:8

     

     

    댓글

Designed by Tistory.