내가 하는 통계 분석/R

[내가 하는 통계 분석] 카이제곱 검정(Chi-Square test) in R

산격동 너구리 2021. 3. 10. 00:58

안녕하세요, 산격동 너구리입니다.

 

 

이번 포스팅은,

 

R을 이용한 "카이제곱 검정"입니다.

 


개요

 

카이제곱 검정이란??
주로 2개의 명목형 변수를 대상으로 연관성에 대해 검정을 할 때 사용합니다.

 

 

 가정
1. 독립성 가정(한 명의 대상에게서 하나의 결과값을 얻어야 함)

2. 기대 빈도가 5미만인 셀은 전체 셀의 20% 미만이어야 한다.

 

 가설
귀무가설 : 두 변수는 서로 독립적이다. (=연관이 없다.)

대립가설 : 두 변수는 서로 독립적이지 않다. (=연관이 있다.)

 

독립적이다, 독립적이지 않다의 느낌이 잘 오지 않을텐데요,

 

X가 1이든 2든... Y가 1, 2, 3 중 어떤 값이 되는지와 무관하다면 서로 독립이라고 할 수 있습니다.

 

만약 독립이라면, 아래 그림과 같은 형태가 됩니다.

 

X가 어떤 값이든 무관하게 Y의 비율은 동일합니다.

 

반대로 Y가 어떤 값이든 무관하게 X의 비율도 동일합니다.

다음은 실제 관측값에 대한 그래프입니다.

 

X가 2일 때, Y가 2인 관측치가 더 많고, X가 3일 때, Y가 3인 관측치가 더 많습니다.

 

그래프만으로 봤을 때에는 두 변수는 독립적이지 않습니다.

 

하지만, 우연에 의해서 이런 결과가 발생할수도 있기 때문에, 그래프만으로 결론을 내리긴 위험합니다.

 

따라서, 이를 정량화한 것이 카이제곱 검정이라고 보시면 됩니다.

 


예제

09. [산격동 너구리] Chi Square 예제.csv
0.00MB

한 중 일 사람들에게 가장 좋아하는 영화 장르에 대해 질문을 했다고 해보겠습니다.

 

country는 국가 변수로, 1:한국, 2:중국, 3:일본 이라고 생각하시면 되고,

 

movie는 응답한 영화 장르 변수로, 1:액션 및 스릴러, 2:로맨스 및 코미디, 3:기타 라고 생각하겠습니다.

 

 

데이터 불러오기
## 데이터 불러오기
data = read.csv("F:/산격동 너구리/[수정]/예제 파일/09. [산격동 너구리] Chi Square 예제.csv", header = T)

## 빈도표
tab = table(data)

 

가정

1. 독립성 가정

 

서로 다른 사람들에게 각각 질문을 해서 결과를 얻었다고 하면 만족시킬 수 있습니다.

 

만약에 어떤 약이 통증 완화에 도움이 되는지 조사했다고 해봅시다.

 

약 먹기 전 통증 유무와 약을 먹고난 후 통증 유무를 조사하게됩니다.

 

이렇게되면 한명에게서 2개의 값을 얻게 되는데요,

 

이 때에는 독립성이 만족되지 않고, McNemar Test가 더 적합한 것으로 보입니다.

 

 

2. 기대 빈도

 

기대 빈도를 직접 계산을 할 수도 있지만,

 

R의 Chi-square 검정 함수를 이용하면 기대 빈도도 구해줍니다.

 

검정 부분에서 확인해보겠습니다.

 

가설
귀무가설 : 국가와 좋아하는 영화 장르는 서로 독립적이다.

대립가설 : 국가와 좋아하는 영화 장르는 서로 독립적이지 않다.

 

 

카이제곱 검정
## 카이제곱 검정
res = chisq.test(tab)

## 기대 빈도
res$expected

## 카이제곱 검정 결과
res

 

기대 빈도가 5 미만인 셀은 없는 것으로 보입니다.

 

따라서, 카이제곱 검정의 가정을 만족시켰으므로 카이제곱 검정 결과를 확인하겠습니다.

 

 

카이제곱 검정 결과,

 

p-value<0.001 이므로 귀무가설을 기각하여,

 

"국가와 좋아하는 영화 장르는 서로 독립적이지 않다."인 대립가설을 채택하게 됩니다.

 

따라서, "국가와 좋아하는 영화 장르는 서로 연관이 있다."라는 결론을 얻을 수 있습니다.


 

이것으로 R을 이용한 카이제곱 검정에 대해 마치도록 하겠습니다.

 

이상, 산격동 너구리였습니다.

 

감사합니다.

 

 

 

* 잘못된 정보 및 오타가 포함되어 있을 수 있습니다.

  그대로 받아들이시기보다는 다른 사람의 의견도 참고하셔서 분석하시길 바랍니다.

 

* 포스팅 내용 및 통계 분석 관련 질문은 언제나 환영입니다.

  가능한 선에서 최대한 답변하도록 하겠습니다.