An Amateur Data Scientist

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

|
반응변수가 범주형일 때, 관찰된 빈도가 기대되는 빈도와 차이가 있는지를 검정해보자.

카이제곱-검정

- 각 변수(범주형)에 대한 집단의 분포가 독립인지를 검정
- 관찰도수와 기대도수의 차를 이용하여 카이제곱값을 구하여 검정

Example>
어느 인터넷 쇼핑몰을 방문한 100명을 조사해보니 구매집단이 75명(75%)이고 비구매집단이 (25%)였다. 이 때, 각 집단에 대한 여성과 남성의 비율은 위의 표와 같다. 여성과 남성의 구매 빈도가 다르다고 할 수 있는지 검정해보자.
성별 구매집단 비구매집단 합계
남성 30 20 50
여성 45 5 50
합계 75 25 100

: 성별에 따라 차이가 나지 않는다면, 남성, 여성의 구별 없이 구매집단은 50명의 75%인 37.5명, 비구매집단은 50명의 25%인 12.5명 정도로 기대할 수 있다. 카이제곱검정은 관측도수와 기대도수의 차이를 통해 변수사이의 독립성을 검정한다. (즉, 성별과 구매여부가 독립인가를 검정 )

가설

  • $H_0$ : 성별과 구매여부는 연관성이 없다. (=독립이다.)
  • $H_1$ : 성별과 구매여부는 연관성이 있다. (=독립이 아니다.)

검정통계량

  • $O : $ 관측도수
  • $E : $ 기대도수

자유도

  • $ncol : $ colunm의 개수 (합계 미포함)
  • $nrow : $ row의 개수 (합계 미포함)


각 셀에 기대빈도를 표현한 표는 아래와 같다.

성별 구매집단 비구매집단 합계
남성 30(37.5) 20(12.5) 50
여성 45(37.5) 5(12.5) 50
합계 75 25 100
* 남성의 구매집단 기대도수 = 100 × 50/100 × 75/100 = 37.5
* 여성의 비구매집단 기대도수 = 100 × 50/100 × 25/100 = 12.5
  • 검정통계량

  • 자유도

  • p-value

: 유의수준 0.05에서 귀무가설을 기각, 대립가설(성별과 구매여부는 독립이 아니다. 성별에 따른 구매여부의 분포가 차이가 있다.)를 채택

예제 R 코드

1
2
3
4
5
6
Mat <- matrix(c(3020455), ncol=2, byrow=TRUE)
colnames(Mat) <- c("구매""비구매")
rownames(Mat) <- c("남성""여성")
 
Xsq <- chisq.test(Mat, correct=FALSE)) # No continuity correction
sum((Xsq$observed - Xsq$expected)^2 / Xsq$expected)  # 검정통계량
cs

Comments