[python] SciPy를 사용하여 카이제곱 검정 수행하기

카이제곱 검정은 두 범주형 변수 사이의 독립성을 검증하는 통계적인 방법 중 하나입니다. 이 방법을 사용하여 데이터 집합의 범주형 변수들이 서로 독립적인지 여부를 확인할 수 있습니다.

Python에서는 SciPy 라이브러리를 사용하여 카이제곱 검정을 수행할 수 있습니다. SciPy는 과학 및 엔지니어링 분야에서 많이 사용되는 파이썬 기반의 오픈 소스 라이브러리입니다.

SciPy 설치하기

SciPy를 사용하기 위해 먼저 파이썬 환경에 SciPy를 설치해야 합니다. 아래의 명령어를 사용하여 SciPy를 설치할 수 있습니다.

pip install scipy

카이제곱 검정 수행하기

SciPy에서는 chi2_contingency 함수를 사용하여 카이제곱 검정을 수행할 수 있습니다. 이 함수는 주어진 데이터 집합에서 카이제곱 통계량과 p-value를 계산합니다.

아래는 예제 코드입니다.

import numpy as np
from scipy.stats import chi2_contingency

# 데이터 집합 생성
data = np.array([[15, 10, 5], [6, 10, 8]])

# 카이제곱 검정 수행
stat, p, dof, expected = chi2_contingency(data)

# 결과 출력
print(f"카이제곱 통계량: {stat}")
print(f"p-value: {p}")
print(f"자유도: {dof}")
print("예상값:")
print(expected)

위의 예제 코드에서는 chi2_contingency 함수를 사용하여 데이터 집합을 입력하고 카이제곱 통계량, p-value, 자유도, 예상값을 출력합니다.

예상 출력은 다음과 같습니다.

카이제곱 통계량: 3.892857142857143
p-value: 0.1426060550393807
자유도: 2
예상값:
[[11.78571429  9.28571429  4.92857143]
 [ 9.21428571  7.21428571  3.07142857]]

참고 자료