카이제곱 분포는 (Chi-squared distribution, $\chi^2$) $k$개의 서로 독립적인 표준 정규 확률변수를 각각 제곱한 다음 더해서 얻어지는 분포로 $k$는 자유도 (degree of freedom)이라 합니다. 정규 확률변수 제곱의 합에 대해서 정의되다 보니 양수에서 확률 분포가 다음과 같이 정의됩니다.
$\Gamma$는 감마함수이고 자유도 $k$에 따라 분포가 다음과 같이 달라지게 됩니다.
자유도 $k$는 단순히 표본 개수 $n$에서 1을 뺸 것이라 생각하면 됩니다. 예를 들어 4개의 숫자 평균이 3이라 할 때 3개의 숫자를 자유롭게 선택한다면 마지막 한 개의 숫자는 정해져 있기 때문입니다.
카이제곱 분포의 특징은
1) 연속확률변수 $X$가 정규분포 $N(\mu, \sigma^2)$를 따를 때, 확률변수 $Y$=$\frac{(X-\mu)^2}{\sigma^2}$가 자유도 1인 카이제곱 분포를 따르고,
2) 독립인 확률변수 $X_1, ..., X_n$이 각 자유도가 $v_1, ..., v_n$인 카이제곱 분포를 따른다면 확률변수 $Y=X_1+...+X_n$은 자유도가 $v_1+...+v_n$인 카이제곱 분포를 따르고,
3) 확률변수 $X_1, ..., X_n$가 서로 독립이면서 정규분포 $N(\mu, \sigma^2)$를 따른다면 확률변수 $Y$=$\sum_{i=1}^n (\frac{X_i-\mu}{\sigma})^2$는 자유도가 $n$인 카이제곱 분포를 따르며,
4) 모집단 $N(\mu, \sigma^2)$로부터 $X_1, ..., X_n$이 추출하고 표본분산 $S^2=\frac{1}{n-1}\sum (X_i-X_m)^2$ 이라고 하면, $\frac{(n-1)S^2}{\sigma^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 |