통계 초보자를 위한 카이제곱 동질성 검정 가이드: 여러 집단의 분포는 동일할까?
카이제곱 동질성 검정이란 무엇인가?
카이제곱 동질성 검정(Chi-square test of homogeneity)은
모집단이 하나의 기준 변수에 따라 R개의 부분 모집단으로 나뉘었을 때,
각 부분 모집단에서 추출한 표본들이 C개의 범주에 대해 동일한 분포를 가지는지를 검정하는 방법입니다.
즉, 여러 집단이 있을 때
“이 집단들의 구성 비율이 서로 같은가?”라는 질문에 답하기 위한 통계적 검정입니다.
이 검정 역시 교차표(contingency table)를 기반으로 하며,
계산 방법과 검정 절차는 카이제곱 독립성 검정과 동일합니다.
언제 카이제곱 동질성 검정을 사용할까?
카이제곱 동질성 검정은 다음과 같은 상황에서 사용됩니다.
- 모집단이 하나의 기준 변수에 따라 여러 부분 모집단으로 나뉘었을 때
- 각 부분 모집단에서 표본을 독립적으로 추출했을 때
- 각 표본이 동일한 범주 집합으로 분류될 수 있을 때
- 부분 모집단 간 분포의 동일성을 비교하고자 할 때
예를 들어 지역별 제품 선호 비율, 학교별 전공 선택 비율,
연령대별 미디어 이용 분포 비교 등에 활용됩니다.
가설 설정
카이제곱 동질성 검정의 가설은 다음과 같이 설정됩니다.
-
귀무가설(H0): 모든 부분 모집단에서 범주별 분포는 동일하다.
즉, p(1j) = p(2j) = p(3j) = … = p(nj) (n = 1, 2, …, r) -
대립가설(H1): 부분 모집단 중 적어도 하나는 다른 분포를 가진다.
귀무가설이 참이라면,
모든 집단은 동일한 비율 구조를 가진다고 볼 수 있습니다.
예시로 이해해보기
세 개의 서로 다른 지역에서
같은 제품 A, B, C에 대한 선호도를 조사했다고 가정해봅시다.
이때 관심사는
“지역에 따라 제품 선호 분포가 동일한가?”입니다.
각 지역을 부분 모집단으로 보고,
제품 유형을 범주로 하여 교차표를 구성한 뒤
카이제곱 동질성 검정을 수행합니다.
계산 방법과 검정 절차
카이제곱 동질성 검정의 계산 방법과 검정 절차는
카이제곱 독립성 검정과 완전히 동일합니다.
- 교차표를 구성한다.
- 귀무가설 하에서의 기대 빈도를 계산한다.
- 관측값과 기대값의 차이를 카이제곱 통계량으로 계산한다.
- p-value를 기준으로 가설을 검정한다.
따라서 실제 구현 시에는
카이제곱 독립성 검정과 동일한 함수를 사용합니다.
Python 코드 예시
아래는 SciPy를 사용하여
카이제곱 동질성 검정을 수행하는 예시 코드입니다.
from scipy.stats import chi2_contingency
# 각 행은 부분 모집단, 각 열은 범주
table = [
[120, 80, 100], # 집단 1
[130, 70, 100], # 집단 2
[125, 75, 100] # 집단 3
]
chi2, p, dof, expected = chi2_contingency(table)
print("Test Statistic:", chi2)
print("p-value:", p)
print("Degree of Freedom:", dof)
print("Expected Frequencies:")
print(expected)
결과 해석 방법
p-value를 기준으로 다음과 같이 해석합니다.
-
p-value ≥ 0.05
→ 부분 모집단 간 분포 차이가 통계적으로 유의하지 않음
→ 분포가 동일하다고 볼 수 있음 -
p-value < 0.05
→ 부분 모집단 간 분포 차이가 통계적으로 유의함
→ 적어도 하나의 집단은 다른 분포를 가짐
독립성 검정과의 차이점
카이제곱 동질성 검정과 독립성 검정은
계산 방법은 같지만, 해석 관점이 다릅니다.
- 독립성 검정: 두 변수 사이의 관계가 있는지 확인
- 동질성 검정: 여러 집단의 분포가 동일한지 확인
문제 설정에 따라
어느 관점에서 해석할지가 달라질 뿐,
수학적 계산은 동일합니다.
마무리하며
카이제곱 동질성 검정은
여러 집단 간 분포의 동일성을 비교하는 표준적인 방법입니다.
교차표를 기반으로 분포를 비교해야 하는 상황이라면,
이 검정을 통해 집단 간 차이를 체계적으로 판단할 수 있습니다.