Chi-Squared test(카이제곱 검정)

✍Chi-squared test(카이제곱 검정)✍

범주형(Categorical) 데이터 변수간의 관측값과 기댓값이 의미있게 다른지의 여부를 검정하기 위해 사용, 표본집단의 '분포' 비교
카이제곱검정은 크게 두가지의 다른 상황에서 사용할 수 있는 유용한 검정법이다.

  1. 적합도 검정(goodness-of-fit test) : 관측된 데이터가 예측한 분포를 따르는지 검정하는 방법이다. 예를들어 카지노 룰렛이 공정하게 만들어 졌는가 테스트를 할 수 있다. 룰렛이 공정하기위해선 수백번 돌려서 각각의 숫자에 같은 확률로 떨어져야하는데 실제로는 그렇지 않을 것이다. 이러한 경우에 룰렛이 제대로 만들어졌는지 테스트하기위해 적합도 카이제곱 검정법을 사용할 수 있다.

  2. 독립성 검정(Testing Independence) : 두개의 확률변수가 서로 독립인지를 검정하는 방법이다. 예를들어 흡연과 폐암발생률, 교육수준과 성적 등 관련 변수들이 서로 독립인지를 테스트하는 방법이다. '두 샘플은 같은 모집단에서 나왔고 조금 다를뿐이다'가 기본전제
    - numerical(수치형) -> categorical(범주형) 변환 필요

    ◾ 카이제곱값 = sum((관측 값 - 예측 값)**2 / 예측 값)
    ◾ 카이제곱값이 선택한 컬럼 값보다 크면 귀무가설을 기각할 수 있다.
    = 카이제곱값이 선택한 컬럼 값보다 작거나 같으면 귀무가설을 기각할 수 없다.

- ☝One Sample chi-squared test (적합도 검정)

  • 귀무가설 : 두 분포가 비슷하다. (기대값과 예상값이 다르지 않다 -> 두 분포가 같은 모집단에서 왔다.)
  • 대립가설 : 두 분포가 비슷하지 않다. (두 분포가 다른 모집단에서 왔을 수 있다 -> 의미있는 차이이다.)
◾ 사용 예시 ◾
from scipy.stats import chisquare
from scipy import stats

1 - stats.chi2.cdf(   , df = )     # parameter = '카이제곱 값', '자유도'
                                   # return = pvalue값
chisquare()                        # parameter = 관측값 array             
                                   # return = (stastic값, pvalue값)

- ✌Two Sample chi-squared test (독립성 검정)

  • 귀무가설 : 두 변수는 서로 연관성이 없다(독립)
  • 대립가설 : 두 변수는 서로 연관성이 있다(독립x) -> 한 요인의 변화가 다른 요인에 영향을 줄 수 있다
◾ 사용 예시 ◾
from scipy import stats

stats.chi2_contingency( , correction=False)   # parameter = 'Categorical 형태의 Dataframe'
                                              # return = stastic, pvalue, 자유도, 기댓값
  • 자유도(Degree of freedom) : 해당 parameter를 결정짓기 위해 독립적으로 정해질 수 있는 값의 수, 독립변수의 개수(n-1)

    • 1-sample (적합도 검정), DF(자유도) = categories-1

    • 2-sample (독립성 검정), DF(자유도) = (행 - 1)*(열 - 1)

좋은 웹페이지 즐겨찾기