카이제곱 분포는 (Chi-squared distribution, χ2) k개의 서로 독립적인 표준 정규 확률변수를 각각 제곱한 다음 더해서 얻어지는 분포로 k는 자유도 (degree of freedom)이라 합니다. 정규 확률변수 제곱의 합에 대해서 정의되다 보니 양수에서 확률 분포가 다음과 같이 정의됩니다.

Γ는 감마함수이고 자유도 k에 따라 분포가 다음과 같이 달라지게 됩니다.

자유도 k는 단순히 표본 개수 n에서 1을 뺸 것이라 생각하면 됩니다. 예를 들어 4개의 숫자 평균이 3이라 할 때 3개의 숫자를 자유롭게 선택한다면 마지막 한 개의 숫자는 정해져 있기 때문입니다.
카이제곱 분포의 특징은
1) 연속확률변수 X가 정규분포 N(μ,σ2)를 따를 때, 확률변수 Y=(X−μ)2σ2가 자유도 1인 카이제곱 분포를 따르고,
2) 독립인 확률변수 X1,...,Xn이 각 자유도가 v1,...,vn인 카이제곱 분포를 따른다면 확률변수 Y=X1+...+Xn은 자유도가 v1+...+vn인 카이제곱 분포를 따르고,
3) 확률변수 X1,...,Xn가 서로 독립이면서 정규분포 N(μ,σ2)를 따른다면 확률변수 Y=∑ni=1(Xi−μσ)2는 자유도가 n인 카이제곱 분포를 따르며,
4) 모집단 N(μ,σ2)로부터 X1,...,Xn이 추출하고 표본분산 S2=1n−1∑(Xi−Xm)2 이라고 하면, (n−1)S2σ2는 자유도가 n−1인 카이제곱 분포를 따릅니다.
따라서 이를 확장하여 표본을 가지고 모분산을 추론하거나 각 집단의 분포의 차이 등을 알아내고자 할 때 카이제곱 분포를 이용하게 됩니다.
In python
파이썬에서는 scipy.stats 모듈의 chi2 함수로 쉽게 분포를 알 수 있습니다. 먼저 변수 X를 다음과 같이 생성하고,
import numpy as np
X = np.linspace(0.5, 50, 100)
자유도에 따라 플롯을 그려보면,
from scipy.stats import chi2
for dof in [1,2,3,4,5,10,20,30]:
plt.plot(X, stats.chi2(dof).pdf(X))
다음과 같은 결과를 얻을 수 있습니다.

'Theory > Statistics' 카테고리의 다른 글
파이썬으로 보는 통계 (6) - F-검정을 이용한 등분산검정 (2) | 2021.04.02 |
---|---|
파이썬으로 보는 통계 (5) - F-분포 (0) | 2021.04.02 |
파이썬으로 보는 통계 (4) - 카이제곱 검정 (1) | 2021.04.02 |
파이썬으로 보는 통계 (3) - t-검정 (0) | 2021.04.02 |
파이썬으로 보는 통계 (2) - t-분포 (0) | 2021.04.01 |