파이썬(Python)

카이제곱 검정(Chi-Square Test)

카이제곱 검정(Chi-Square Test)란?

카이제곱(χ²) 검정은 범주형 데이터(categorical data)에서 기대값과 관측값 간의 차이를 분석하는 통계적 검정 방법입니다. 주로 데이터가 특정 분포를 따르는지, 변수 간의 독립성이 있는지를 확인할 때 사용됩니다.

1. 카이제곱 검정의 종류

① 적합성 검정 (Goodness-of-Fit Test)

  • 한 개의 범주형 변수가 특정 분포를 따르는지 검정하는 방법
  • 예: 주사위를 100번 던졌을 때, 모든 눈금이 동일한 확률로 나오는지 확인

② 독립성 검정 (Test for Independence)

  • 두 개의 범주형 변수 간에 관계(독립성)가 있는지 검정하는 방법
  • 예: 고객의 성별과 구매 제품 유형 간에 연관성이 있는지 분석

③ 동질성 검정 (Test for Homogeneity)

  • 서로 다른 두 개 이상의 모집단이 같은 분포를 따르는지 검정하는 방법
  • 예: 지역별로 선호하는 패스트푸드 브랜드에 차이가 있는지 확인

2. 카이제곱 검정의 공식

카이제곱(χ²) 통계량은 다음과 같이 계산됩니다.χ2=∑(O−E)2E\chi^2 = \sum \frac{(O – E)^2}{E}χ2=∑E(O−E)2​

  • OOO: 관측값(Observed frequency)
  • EEE: 기대값(Expected frequency)

이 값이 카이제곱 분포를 따르는지 확인하여 유의 수준(보통 0.05) 이하일 경우 귀무가설을 기각합니다.

3. 예제

예를 들어, 한 쇼핑몰에서 남성과 여성 고객이 선호하는 제품 유형(A, B, C)이 독립적인지 검정한다고 가정하면, 다음과 같은 분할표를 만들 수 있습니다.

제품남성여성합계
A405090
B302050
C303060
합계100100200

이 데이터를 이용해 기대값을 계산하고, 카이제곱 검정을 수행하여 성별과 제품 유형이 독립적인지 확인할 수 있습니다.

4. Python을 이용한 카이제곱 검정

import scipy.stats as stats
import numpy as np

# 데이터 입력 (분할표)
obs = np.array([[40, 50], [30, 20], [30, 30]])

# 카이제곱 검정 수행
chi2, p, dof, expected = stats.chi2_contingency(obs)

print(f"카이제곱 통계량: {chi2}")
print(f"p-value: {p}")
print(f"기대값:\n{expected}")
  • p-value가 0.05보다 작다면, 두 변수가 독립적이지 않다는 결론을 내릴 수 있습니다.

5. 카이제곱 검정 해석

p-value < 0.05 → 귀무가설 기각(변수 간 독립성이 없음, 즉 관계가 있음)

  • p-value ≥ 0.05 → 귀무가설 채택(변수 간 독립적임)

카이제곱 검정은 특히 표본 크기가 충분히 클 때 신뢰할 수 있는 결과를 제공합니다.

zerg96

Recent Posts

요양원 선택 전 반드시 확인해야 할 것들, 부모님 맡기기 전에 보세요

요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…

2일 ago

공공기관 채용 비리, 내부에서 터져나온 충격 증언

공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…

2일 ago

주식 손실 났을 때 세금 줄이는 방법, 아는 사람만 씁니다

주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…

2일 ago

음식 배달 늦으면 소비자가 취소할 수 있다, 몰랐던 권리

배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…

2일 ago

휴대폰 요금제 바꾸면 연 수십만원 절약, 지금 내 요금제 확인하세요

통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…

2일 ago

퇴직금 못 받았다면, 지금 당장 이렇게 하세요

퇴직 후 퇴직금을 받지 못했다면 즉시 노동부에 신고하세요. 지급 기한, 자격 요건, 신고 방법, 소액체당금…

2일 ago