programming/파이썬으로 배우는 통계학

[파이썬/통계] Python에 의한 기술 통계 : 분할표검정(카이제곱검정★)

Jofresh 2023. 5. 16. 14:00
728x90
반응형

분할표 검정은 두 개의 범주형 변수 간에 관련성이 있는지를 평가하기 위해 사용되는 통계적인 방법입니다. 범주형 변수는 일반적으로 명목형 또는 순서형 변수로 구성되며, 각 변수는 두 개 이상의 범주를 가지고 있습니다.

분할표는 두 개의 범주형 변수를 교차하여 만든 표이며, 각 범주에 해당하는 개체 수를 나타냅니다. 분할표 검정은 이러한 분할표를 사용하여 두 변수 간의 관련성을 평가합니다.

가장 일반적인 분할표 검정은 카이제곱 검정(Chi-square test)입니다. 카이제곱 검정은 관찰된 빈도와 기대되는 빈도 사이의 차이가 우연에 의한 것인지를 확인하는 데 사용됩니다. 

카이제곱 검정은 다음과 같은 절차를 따릅니다:

1. 가설 설정:

- 귀무 가설(H0)과 대립 가설(H1)을 설정합니다.
- 귀무 가설은 두 변수 간에 관련성이 없다는 것을 주장하고, 대립 가설은 두 변수 간에 관련성이 있다는 것을 주장합니다.

 

2. 유의수준 결정:

- 유의수준(α)을 설정합니다. 일반적으로 0.05(5%)나 0.01(1%)과 같은 값을 사용합니다.

 

3. 분할표 검정 수행:

- 주어진 데이터를 기반으로 관찰된 빈도와 기대되는 빈도를 계산합니다.
카이제곱 통계량을 계산합니다.
- 자유도를 고려하여 p-value(유의확률)를 계산합니다.

 

4.결과 해석:

- 계산된 p-value를 유의수준과 비교하여 귀무 가설을 기각하거나 기각할 수 없는지를 결정합니다.
- p-value가 유의수준보다 작으면, 귀무 가설을 기각하고 대립 가설을 채택합니다. 즉, 두 변수 간에는 통계적으로 유의한 관련성이 있다고 할 수 있습니다.

 

Python의 SciPy 라이브러리에서는 stats.chisquare() 함수를 사용하여 카이제곱 검정을 수행할 수 있습니다. 이 함수는 분할표의 관찰된 빈도를 인자로 받아서 검정 결과를 반환합니다. 

 

필요한 라이브러리 임포트

# 수치 계산에 사용하는 라이브러리입니다.
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats

# 그래프를 그리는 라이브러리입니다.
from matplotlib import pyplot as plt
import seaborn as sns
sns.set()

# 표시 자리수 지정입니다.
%precision 3
# 그래프를 jupyter Notebook 내에 표시하도록 하기 위한 지정입니다.
%matplotlib inline

통계에 사용될 raw 데이터

3-10-1-click_data.csv
0.00MB

 

- 데이터는 a열(색깔)을 b열(클릭한) c열(횟수)를 나타냅니다.

# 파일 불러오기
paired_test_data = pd.read_csv("3-10-1-click_data.csv")
print(paired_test_data)

 

분할표 검정

위 검정 실행 결과는 분할표(카이제곱) 검정의 실행 결과입니다. sp.stats.chi2_contingency(cross, correction=False)의 결과는 Chi2ContingencyResult 객체로 반환됩니다. 결과는 다음과 같습니다:

statistic: 6.666666666666666
검정 통계량으로, 두 변수 간의 관련성을 나타냅니다.
pvalue: 0.009823274507519247
유의확률로, 귀무 가설이 참일 때, 관찰된 분할표의 결과보다 극단적인 결과를 얻을 확률을 나타냅니다.
dof: 1
자유도(degree of freedom)로, 검정에 사용된 매개변수의 수를 나타냅니다.
expected_freq:
기대 빈도로, 검정에 사용된 분할표에서 예상되는 빈도를 나타내는 배열입니다. 각 셀은 예상되는 개체 수를 나타냅니다.
따라서, 주어진 결과를 해석하면 다음과 같습니다:

검정 통계량(statistic)은 6.666666666666666이며, 두 변수 간의 관련성을 나타냅니다.
유의확률(p-value)은 0.009823274507519247이며, 유의수준 0.05에서 유의미한 결과입니다. 따라서, 귀무 가설을 기각하고 대립 가설을 채택할 수 있습니다.
자유도(degree of freedom)는 1이며, 검정에 사용된 매개변수의 수입니다.
예상 빈도(expected frequency)는 주어진 분할표에서 각 셀에 예상되는 개체 수를 나타내는 배열입니다.
위 결과를 종합하면, 주어진 검정은 두 변수 간에 통계적으로 유의한 관련성이 있음을 나타냅니다.

 

검정 결과 해석

 

이번에는 검정 결과의 해석 방법을 설명하겠습니다. 검정은 익숙해지면 간단하게 계산할 수 있기 때문에 판단할 때는 편리하지만 너무 편리해서 잘못 사용되는 경우가 많습니다. 하여, 검정 결과 해석 방법을 배우는 것은 매우 중요합니다!! ★★★★★

 

p값이 0.05 이하일 때의 결과 작성법 

 

p값이 0.05 이하일 때는 유의미한 차이가 있는 것이 됩니다. 

봉지과자의 중량이 50g과 차이가 나는지 검정하는 경우 '봉지과자의 평균 중량은 50g과 유의미한 차이가 있다'고 기재합니다. 'ㅇㅇ은 ㅅㅅ와 유의미한 차이가 있다'라고 기재하는 것입니다.

 

p값이 0.05보다 클 때의 결과 작성법

이 때는 귀무가설을 기각할 수 없습니다. 이때 결과를 작성하는 방법은 독특합니다. 

'봉지과자의 평균 중량은 50g과 유의미한 차이가 있다고 말할 수 없다'라고 기재합니다. 'ㅇㅇ은 ㅅㅅ와 유의미한 차이가 있다고 말할 수 없다'고 기재하는 것입니다.

 

가끔 'ㅇㅇ은 ㅅㅅ와 같다'고 쓰는 사람이 있지만 이렇게 쓰는 방법은 틀린 표헌이므로 주의해야 합니다. 

728x90
반응형