파이썬(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

노트북(윈도우)에서 아이폰 유선 테더링 하기

윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…

3일 ago

오라클 래치(Latch)

오라클 데이터베이스의 성능을 논할 때, 내부적으로 발생하는 경합(Contention)은 피할 수 없는 주제다. 특히 다수의 프로세스가…

1주 ago

사장님도 3표, 나도 3표? ‘3%룰’ 완전 정복!

안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…

3주 ago

Vector Store(벡터 스토어)

'벡터 스토어' 완벽 가이드: AI 시대, 데이터의 새로운 심장을 만나다 IT 업계는 인공지능(AI)이라는 거대한 패러다임의…

3주 ago

Gemini CLI (재미나이 CLI)

1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…

3주 ago

과적합 (overfitting)

과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…

1개월 ago