Python에서 카이제곱 적합도 테스트를 수행하는 방법
카이 제곱 적합도 검정은 범주형 변수가 가상 분포를 따르는지 여부를 확인하는 데 사용됩니다.
이 튜토리얼에서는 Python에서 카이제곱 적합도 테스트를 수행하는 방법을 설명합니다.
예: Python의 카이제곱 적합도 테스트
한 상점 주인은 매주 같은 수의 고객이 자신의 상점을 방문한다고 말합니다. 이 가설을 테스트하기 위해 연구원은 특정 주에 매장에 오는 고객 수를 기록하고 다음을 알아냈습니다.
- 월요일: 고객 50명
- 화요일: 고객 60명
- 수요일: 고객 40명
- 목요일: 고객 47명
- 금요일: 고객 53명
다음 단계를 사용하여 Python에서 카이제곱 적합도 테스트를 수행하여 데이터가 상점 소유자의 주장과 일치하는지 확인합니다.
1단계: 데이터를 생성합니다.
먼저, 매일 관찰된 고객 수와 예상 고객 수를 포함하는 두 개의 테이블을 만듭니다.
expected = [50, 50, 50, 50, 50] observed = [50, 60, 40, 47, 53]
2단계: 카이제곱 적합도 검정을 수행합니다.
다음으로, 다음 구문을 사용하는 SciPy 라이브러리의 카이제곱 함수를 사용하여 카이제곱 적합도 테스트를 수행할 수 있습니다.
카이제곱(f_obs, f_exp)
금:
- f_obs: 관찰된 개수의 배열입니다.
- f_exp: 예상 개수의 배열입니다. 기본적으로 각 범주는 확률이 동일하다고 가정됩니다.
다음 코드는 특정 예에서 이 함수를 사용하는 방법을 보여줍니다.
import scipy.stats as stats #perform Chi-Square Goodness of Fit Test stats.chisquare(f_obs=observed, f_exp=expected) (statistic=4.36, pvalue=0.35947)
카이제곱 검정 통계량은 4.36 이고 해당 p-값은 0.35947 입니다.
p-값은 자유도(dof)가 n-1인 카이제곱 값에 해당합니다. 여기서 n은 다양한 범주의 수입니다. 이 경우 dof = 5-1 = 4입니다. 카이제곱 대 P-값 계산기를 사용하여 dof = 4인 X 2 = 4.36에 해당하는 p-값이 0.35947 임을 확인할 수 있습니다.
카이제곱 적합도 검정에서는 다음과 같은 귀무 가설과 대립 가설을 사용합니다.
- H 0 : (귀무가설) 변수는 가설적인 분포를 따릅니다.
- H 1 : (대립 가설) 변수가 가설 분포를 따르지 않습니다.
p-값(0.35947)이 0.05 이상이므로 귀무가설을 기각할 수 없습니다. 이는 실제 고객 분포가 매장 주인이 보고한 분포와 다르다고 말할 수 있는 충분한 증거가 없음을 의미합니다.