728x90
반응형
카이제곱 검정은 범주형 변수에 대한 분석 방법으로, 크게 3가지 검정 방법이 있습니다.
적합도 검정 goodness of fit |
하나의 범주형 변수에 대해 주어진 데이터가 특정 분포를 따르는지 검정 (예) 주사위를 60번 던져서 각 면이 나오는 빈도가 균등한가? (예) 교배 실험으로 얻은 완두콩 비율이 멘델의 법칙 9:3:3:1을 따르는가? 파이썬 함수 : scipy.stats.chisquare(관측빈도, 기대빈도) |
독립성 검정 Test of Independence |
두 범주형 변수 간의 관계가 독립적인지 검정 (예) 성별과 취미 사이의 관계가 독립적인가? 파이썬함수 : scipy.stats.chi2_contingency(교차표) |
동질성 검정 Test of Homogeneity |
두 개 이상의 집단이 동일한 분포를 따르는지 검정 (예) 서로 다른 지역에 있는 학교들의 학생 성별 비율이 동일한가? 파이썬함수 : scipy.stats.chi2_contingency(교차표) |
오늘은, 적합도 검정의 주요 개념과 예시에 따른 파이썬 코드를 살펴보겠습니다.
적합도 검정의 주요 개념
적합도 검정은, 하나의 범주형 변수에 대해 주어진 데이터가 특정 분포를 따르는지 검정하는 방법으로, 실제 관측된 빈도가 기대빈도와 얼마나 차이가 있는지 검정합니다.
- 관측 빈도(Observed Frequencies): 실제 데이터에서 관측된 빈도수입니다.
- 기대 빈도(Expected Frequencies): 특정 분포에 따라 기대되는 빈도수입니다.
- 카이제곱 통계량(Chi-squared Statistic): 각 범주에서 (관측 빈도 - 기대 빈도)^2 / 기대 빈도의 합으로 계산됩니다. 이 통계량이 크면 클수록, 데이터가 기대되는 분포와 다르다는 증거가 강해집니다.
적합도 검정 예제
- 주사위는 공정한가? 즉, 주사위를 60번 던져서 각 면이 나올 확률이 동일한가?
- 귀무가설(H1) : 주사위는 공정하다. 즉, 주사위의 각 면(1, 2, 3, 4, 5, 6)이 나올 확률이 모두 동일하다.
- 대립가설(H1) : 주사위는 공정하지 않다. 즉, 주사위의 각 면이 나올 확률이 다르다.
- 관측빈도와 기대빈도는 각각 아래와 같습니다.
주사위 눈 1 2 3 4 5 6 관측빈도 8 9 10 12 11 10 기대빈도 10 10 10 10 10 10
- 파이썬 코드
import numpy as np
from scipy.stats import chisquare
# 관측된 빈도 (주사위 면 1~6)
observed = [8, 9, 10, 12, 11, 10]
# 기대되는 빈도
expected = [10, 10, 10, 10, 10, 10]
# 적합도 검정 수행
chi2, p = chisquare(observed, expected)
print(f"Chi-squared 통계량: {chi2:.2f}")
print(f"P-값: {p:.4f}") # P-값이 0.05 미만이면 공정하지 않다고 볼 수 있습니다.
- 결과해석
- Chi-squared 통계량: 이 값이 클수록, 관측된 빈도가 기대되는 빈도와 많이 다르다는 것을 의미합니다.
- P-값: 이 값이 0.05 미만이면, 관측된 빈도가 기대되는 빈도와 통계적으로 유의미하게 다르다는 결론을 내릴 수 있습니다. 즉, 주사위가 공정하지 않다고 판단할 수 있습니다.
- 위 결과는 P-값이 0.05 이상이므로 귀무가설 기각할 수 없습니다. 따라서 주사위는 공정하다는 결론을 내릴 수 있습니다.
반응형
'데이터분석' 카테고리의 다른 글
데이터가 정규분포를 따를 때 사용하는 t-test (1) | 2024.06.17 |
---|---|
선형회귀분석 (python의 statsmodels 활용) (0) | 2024.06.14 |
회귀분석 - 상관관계 (0) | 2024.06.12 |
카이제곱 검정 > 독립성 검정, 동질성 검정 (1) | 2024.06.11 |
그로스해킹(Growth hacking) (0) | 2022.10.19 |