>백엔드 개발 >파이썬 튜토리얼 >Python의 카이제곱 테스트 기술

Python의 카이제곱 테스트 기술

WBOY
WBOY원래의
2023-06-10 09:24:003853검색

카이제곱 검정은 표본 크기 및 상관도의 변화를 분석하는 데 사용되는 통계 방법으로 데이터 분석 및 기계 학습 분야에서 일반적으로 사용됩니다. Python은 데이터 처리 및 카이제곱 테스트 적용에 탁월한 효율성과 유연성을 제공하는 널리 사용되는 프로그래밍 언어입니다. 이 기사에서는 독자가 이 중요한 통계 방법을 이해하고 적용하는 데 도움이 되도록 Python의 카이제곱 테스트 기술을 소개합니다.

1. 카이제곱 검정의 기본 개념

카이제곱 검정은 두 개 이상의 변수 간의 독립성 또는 상관관계를 테스트하는 데 사용됩니다. 카이제곱 통계를 사용하여 관측값과 기대값 간의 차이를 측정합니다. 카이제곱 통계의 공식은 다음과 같습니다.

X^2 = Σ(Oi - Ei)^2 / Ei

여기서 Oi는 관측값, Ei는 기대값, Σ는 합계 기호입니다. 카이제곱 통계로 계산한 결과는 데이터가 자유롭게 변하는 정도인 자유도와 유의수준과 관련이 있습니다. 공식은 다음과 같습니다.

df = (r - 1) x (c - 1)

여기서 r은 행 수이고 c는 열 수입니다. 유의수준은 틀릴 확률을 의미하며 일반적으로 0.05 또는 0.01로 설정됩니다.

2. Python의 카이제곱 테스트 함수

Python에서는 SciPy 라이브러리의 stats.chi2_contingency 함수를 사용하여 카이제곱 테스트를 수행할 수 있습니다. 이 함수는 둘 이상의 범주형 변수 간의 카이제곱 독립성 테스트 결과를 계산하여 카이제곱 통계, p-값, 자유도 및 기대값이 포함된 튜플을 반환합니다.

다음은 이 함수의 구문입니다.

chi2, pval, dof, expctd = stats.chi2_contingency(observed)

여기서 관찰은 관찰을 포함하는 행렬이고 행렬의 행은 하나의 변수를 나타내고 열은 또 다른 변수 .

3. Python을 사용하여 카이제곱 테스트 수행

이제 실제 예를 살펴보겠습니다. 여러 범주형 변수를 포함하는 데이터 세트가 있고 이러한 변수가 서로 독립적인지 확인하려고 한다고 가정합니다. 이 예에서는 성별과 선호도가 포함된 더미 데이터세트를 사용합니다. 데이터 형식은 다음과 같습니다.

data = [[45, 21, 16],
        [34, 32, 26]]

그 중 남성 그룹은 45명, 바나나를 좋아하는 사람은 21명, 사과를 좋아하는 사람은 16명이며, 여성 그룹은 34명, 바나나를 좋아하는 사람은 32명, 26명입니다. 사과처럼.

우리는 stats.chi2_contingency 함수를 사용하여 카이제곱 검정 결과를 계산할 수 있습니다.

from scipy import stats

data = [[45, 21, 16],
        [34, 32, 26]]

chi2, pval, dof, expctd = stats.chi2_contingency(data)

print('卡方统计量:', chi2)
print('p值:', pval)
print('自由度:', dof)
print('期望值:', expctd)

실행 결과는 다음과 같습니다.

卡方统计量: 6.1589105976316335
p值: 0.046274961203698944
自由度: 2
期望值: [[37.28571429 21.40559441 22.30869129]
         [41.71428571 31.59440559 32.69130871]]

0.05 유의 수준에서 성별이 다음과 같은 귀무 가설을 기각했음을 알 수 있습니다. 그리고 선호 독립 가정. 이는 성별과 선호도 사이에 일정한 상관관계가 있음을 의미합니다.

4. 요약

파이썬에서 카이제곱 검정을 사용하는 과정은 매우 간단합니다. SciPy 라이브러리의 stats.chi2_contingency 함수를 사용하고 관찰된 값이 포함된 행렬을 입력하여 카이제곱 테스트의 결과를 얻을 수 있습니다. 카이제곱 검정을 적용할 때는 적절한 자유도와 유의 수준을 선택하는 데 주의가 필요합니다. 카이제곱 검정은 기계 학습 및 통계 분야에서 널리 사용되는 일반적이고 유용한 데이터 분석 방법입니다. Python의 카이제곱 테스트 기술을 익히는 것은 실제 문제를 연구하고 해결하는 데 매우 도움이 됩니다.

위 내용은 Python의 카이제곱 테스트 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.