제목은 자극적으로 선정했습니다만, 거의 모든 것으로 빠져나갈 틈을 조금 만들어 봤습니다.
이전 포스팅에서는 통계적 검정이란 무엇인지와 Z검정과 T검정에 대해 다루었습니다.
이번 포스팅에서는 통계적 검정 중에서 비율검정과 카이제곱검정이 무엇이고, 어떻게 구현할 수 있는지에 대해 기술해보고자 합니다.
글의 요약
- 비율검정은 Z분포에 기반한 검정이며 통계량도 그와 유사하다. 주로 모비율 검정 추정에 활용한다.
- 카이제곱 분포는 정규분포의 파생 분포이므로 정규분포 성격의 분석도 적용 가능하다.
- 카이제곱 검정에는 대표적으로 적합도 검정(관측 값이 기대 분포를 따르고 있는지에 대한 검정)과 독립성 검정(두개의 요인들이 서로 연관이 있는지를 검정)이 있다.
- 자세한 코드는 아래 글을 확인
1. 비율 검정이란 무엇인가?
비율 검정이란 비율이 귀무가설(H0)에 맞는지 검정하는 방법을 의미합니다.
비율이란 다음과 같이 정의됩니다.
귀무가설 H0는 p_hat을 정의하고 모 비율과 동일한지를 점검합니다. [p_hat은 샘플의 성공갯수와 갯수로 정의 됩니다.]
Proportion Test란 Z-검정 처럼 모집단의 속성에 관심이 있는 것이며, 이를 Z 분포 기반으로 추정하는 것을 의미합니다.
Z interval 에서의 검정을 위해서 평균은 P로, 분산은 아래와 같이 정의됩니다.
따라서, Z검정 기반의 비율 검정량은 다음과 같이 정의 됩니다.
이 검정량을 활용해 정규분포 꼬리 면적을 구하고, p-value를 구해 가설의 기각 여부를 결정하면 됩니다.
R code로 확인해보자.
비율검정을 R로 구현해 봅시다.
검증할 귀무 가설(H0): 모집단의 평균 비율이 29%이다.
샘플링: 670명
표본 찬성자: 289명
신뢰도: 95%
위의 표본 결과를 바탕으로 귀무가설을 검증하면 다음과 같습니다.
귀무가설이 p = 30 이므로 양측 검정을 수행합니다. [== 같다의 부정은 다르다 이므로 양측검정 수행]
p-value가 0.05 이하이므로 귀무가설을 기각합니다.
Yates correction for contiunity
prop.test의 correct 옵션은 Yates가 제안한 연속성 가정을 활용하는 것을 의미합니다.
카이제곱 검정을 위한 가정을 위해선 이항 분포의 빈도[확률]은 연속 카이제곱분포를 따른다고 가정합니다. 하지만 여기에는 오차가 존재합니다.
이를 해결하기 위해 Yates는 contingency table의 기대값에서 절대값 0.5를 빼 검정값을 줄여 p-value를 높였습니다.
R의 prop.test에서는 correct = TRUE option을 통해 Yates Correction을 적용할 수 있습니다.
2. 카이제곱 검정이란 무엇인가?
카이제곱 분포의 의미
카이제곱은 표준정규분포[평균m: 0 표준편차:sd 1]의 정규분포의 제곱합으로 이루어진 분포입니다. [그래서 이름 또한 chi-square입니다.]
또한 감마 분포의 특수 형태 (alpha = p/2, beta = 2)로도 표현이 가능합니다.
그렇다면, 가설 검정에서는?
카이제곱 분포는 수학적으로는 정규분포 및 감마분포와 관련이 있습니다. 가설 검정에서는 어떨까요?
카이제곱은 k개의 표준정규분포의 제곱합으로 구성되어 있기 때문에 가설검정에서 많이 활용됩니다. 일반적으로 가설검정에서는 통계량을 구하게 되는데 이때 샘플의 갯수가 커질수록 정규분포에 근사하게 됩니다.[CLT]
따라서 정규성 검정을 활용해 분석할 수 있는 검정에 카이제곱도 활용될 수 있게 됩니다.
카이제곱 검정의 종류
위와같이 활용될 소지가 많기에 카이제곱 검정의 종류는 매우 다양합니다.
대표적으론 다음과 같습니다. 👇
- 적합도 검정(goodness of fit): 관측 값이 특정 분포를 따르고 있는지를 검정
- 독립성 검정(test of independence): 요인들이 서로 연관이 있는지를 검정
- 동질성 검정(test of homogeneity): 관측 값이 정해진 범주 내에서 서로 비슷한지를 검정
- Likelihood-ratio test
- Log-rank test
대표적인 검정인 적합도 검증과 독립성 검증에 대해서 자세히 알아봅시다.
3.적합도 검정
적합도 검정[goodness of fit] 이란 관측 값이 기대 분포를 따르고 있는지에 대한 검정입니다.
검정을 위해서는 자료를 범주형으로 변환해줘야 합니다.
이때 기대 분포란 우리가 알고 있는 다양한 분포[이항, 지수, 포아송 등]가 될 수 있습니다.
분포를 알면 이에 대한 평균과 분산을 계산할 수 있습니다.
따라서 귀무가설은 다음과 같습니다.
H0: 관측값과 기대분포의 기대값이 동일하다.
H1: 관측값과 기대분포의 기대값이 다르다.
검정 통계량은 다음과 같이 정의 됩니다.
해당 통계량을 기준으로 카이제곱 분포 cdf를 활용해 p-value를 구하여 가설 검정을 수행합니다.
이때 자유도(k)는 “범주의 갯수 — 1”로 정의됩니다.
R code로 확인해보자.
아래의 문제를 카이제곱 검정 하고자 한다.
바구니 안의 색깔별로 공이 들어있다. 나는 빨간색, 파란색, 검은색의 비율은 6:3:1 이라고 주장한다. 샘플 100개를 꺼내보았을때 각각 48, 33, 19 일때, 유의수준 0.05에서 검정하라.검증할 귀무 가설(H0): 빨간색, 파란색, 검은색의 비율은 6:3:1 이다. [기대 분포]대립가설(H1): 빨간색, 파란색, 검은색의 비율은 6:3:1 이 아니다. [기대 분포]
Contingency Table은 다음과 같습니다.
이를 검정하기 위한 코드는 다음과 같습니다.
카이제곱검정 결과 p-value 0.05 이하이므로 귀무가설을 기각합니다.
이 외에도 문제에 따라 다르겠지만 포아송, 지수 분포 등 기대 분포를 활용해 관측 분포를 검정할 수 있습니다.
4. 독립성 검정
독립성 검정이란 두개의 요인들이 서로 연관이 있는지를 검정하는 것을 의미합니다. 즉 집단 X와 Y는 서로 독립인지를 판단합니다.
가설은 다음과 같습니다.
H0: 두 변수 X와 Y는 서로 독립이다.
H1: 두 변수 X와 Y는 서로 독립이 아니다.
검정 통계량은 다음과 같습니다.
자유도(k)는 “(X의 범주 수 -1 ) * (Y의 범주 수 -1)” 로 정의됩니다.
R code로 확인해보자.
상황: 지역별 채널 가입건수가 아래의 표와 같다고 할때, 채널(A, B, C)과 지역(서울, 경기, 기타) 간의 관련성이 있는지를 유의수준 0.05에서 검정하라.
Contingency Table은 다음과 같습니다.
카이제곱검정 결과 p-value 0.05 이하이므로 귀무가설을 기각합니다. 즉, 채널과 지역은 관계가 없습니다.
긴 글 읽어 주셔서 감사합니다.
참고
비율검정
[1] https://en.wikipedia.org/wiki/Population_proportion
[2] https://en.wikipedia.org/wiki/Central_limit_theorem
[3] http://blog.naver.com/oooasd73/221610919338
카이제곱 검정
[1] https://en.wikipedia.org/wiki/Chi-squared_test
[2] https://en.wikipedia.org/wiki/Chi-squared_distribution
[3] https://rfriend.tistory.com/137
[4] https://rfriend.tistory.com/138
[5] https://stattrek.com/chi-square-test/goodness-of-fit.aspx