I. 카이제곱분포
정규분포 \( N(\mu, \sigma^{2}) \) 으로 부터 확률표본 \( X_{1} \), \( X_{2} \), ... , \( X_{n} \) 이라 할 때, 표본 분산
\[
S^2 = \frac{1}{n-1} \sum_{i=1}^{n} \left( X_i - \overline{X} \right)^2
\]
에 대한 표본분포는 모분산을 추정하는데 매우유용하게 사용됩니다. 이 때 표본분산 \( S^{2} \) 와 관련된 분포로 카이제곱분포 (chi-square distribution)이 있습니다. 카이제곱분포는 정규분포를 따르는 여러 데이터를 한꺼번에 취급할 수 있어, 분산분석에 이용할 수 있습니다.
카이제곱분포의 정리 : 확률변수 \( Z_{1} \), \( Z_{2} \), ... \( Z_{k} \) 가각각 표준정규분포 \( N(0,1) \) 을 따르고 서로 독립일 때,
\[ Z_{1}^2+ Z_{2}^2+ \cdots + Z_{k}^2 \sim \chi^{2} (k) \]
의 분포를 자유도(Degree of Freedom, DOF) k인 카이제곱분포라 하며 기호로 \( \chi^{2} \) 으로 표현합니다.
카이 제곱 분포를 그림으로 나타내면 아래와 같습니다. 맨 위 사각형에 있는 값은 표준정규분포에서 추출한 값이라 생각하시면 됩니다. 카이제곱분포이 데이터 수를 자유도(DOF) 라 표현하는데, 자유도가 높을수록 평균값이 커져 분포가 오른쪽으로 움직이게 됩니다.
파이썬을 이용해 자세히 그려보면 다음과 같습니다.
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
from scipy.stats import chi2
# Set x-axis range
x = np.linspace(0.0, 25, 100)
# dof
dofs = [1,3,5,10]
# Set figure size
plt.figure(figsize=(10, 6))
# Plot normal distribution curves for each standard deviation
for dof in dofs:
y = stats.chi2(dof).pdf(x)
plt.plot(x, y, label=f'dof={dof}')
# x, y axis limit
plt.xlim([0,25])
plt.ylim([0,0.5])
# Add legend
plt.legend()
# Add grid
plt.grid(True)
# Save plot to file
plt.savefig('chi2_distributions.png')
# Show plot
plt.show()
II. 정규모집단에서의 표본분산의 분포
어떤 모집단이 정규분포 \( N( \mu, \sigma^2) \) 을 따를 때 표본 \( X_{1} \), \( X_{2} \), ... , \( X_{n} \) 를 램덤하게 추출했다고 합시다. 이 때 확률변수를 표준화 하면
\[ \frac{X_i-\mu}{\sigma} \sim N(0,1) \]
이므로, 카이제곱분포의 정의로 부터 아래의 식이 성립하게 됩니다.
\[ \sum_{i=1}^n \left( \frac{X_i-\mu}{\sigma} \right)^2 \sim \chi^2(n) \]
그런데 위의 식을 정리하면 아래와 같은 식으로 나타낼 수 있고,
\[ \sum_{i=1}^n \left( \frac{X_i-\mu}{\sigma} \right)^2 = \sum_{i=1}^n \left( \frac{X_i-\overline{X}}{\sigma} \right)^2 + n \left( \frac{X_i-\mu}{\sigma} \right)^2 \]
표본분산은 \( S^2 = \sum_{i=1}^{n} ( X_i - \overline{X})^2 / (n-1) \) 이므로, 위 식은 다음과 같이 정리할 수 있습니다.
\[ \sum_{i=1}^n \left( \frac{X_i-\mu}{\sigma} \right)^2 = \left( \frac{(n-1)S^2}{\sigma^2} \right) + \left( \frac{X_i-\mu}{\sigma \sqrt{n}} \right)^2 \]
여기서 카이제곱분포의 정의를 이용하면 아래와 같이 표현할 수 있고,
\[ \chi^2(n) \sim \frac{(n-1)S^2}{\sigma^2} + \chi^2(1) \]
카이제곱분포의 가법성을 이용하면 아래와 같이 식을 정의할 수 있습니다.
\[ \frac{(n-1)S^2}{\sigma^2} \sim \chi^2(n-1) \]
위 식을 통해 정규모집단에서의 표본분산의 분포는 카이제곱의 분포를 따른다는 것을 알 수 있습니다. 이를 통해 카이제곱분포는 정규분포를 따르는 변수의 분산에 대한 신뢰구간등을 구할 때 사용할 수 있게 됩니다. 검증은 다음에 설명할 내용이지만, 카이제곱분포를 어떻게 활용하는지 이해를 돕기 위해 간단히 이야기 해보도록 하겠습니다, 만약 어떤 모집단의 샘플데이터를 확보 하고 있다고 합시다. 이 모집단의 분산을 임의로 가정을 한다면, 표본분산으로 부터 \( \frac{(n-1)S^2}{\sigma^2} \) 를 계산할 수 있습니다. 그리고 이 값이 n-1 자유도를 가지는 카이제곱분포의 임계값에 존재하는지를 통해 가정한 모집단의 분산의 값이 적절한지를 판단할 수 있게 됩니다.