카이 제곱 분포

  • dof가 자유도. 몇 개의 샘플을 더했느냐?
  • 왜 조사를 하는 걸까? 가우시안에서 샘플을 뽑았어. 그걸 합하면 t분포를 따른다.
  • 제곱해서 더하면 카이 제곱 분포를 따른다. 거기서 평균과 분산을 구할 수 있어
  • 가우시안인 경우에 전부 참이다. 가우시안이 아닌 경우 중심극한정리의 경우에 참이다. 이 2가지 경우에 있어서 모두 해당되는 분포이다.
  • student-t 분포와 카이 제곱 분포는 가우시안 정규 분포를 따르는 하나의 확률 변수 X의 n개의 샘플로부터 생성할 수 있다.

가우시안 정규 분포를 따르는 확률 변수 $X$ 의 $n$개의 샘플 $x_1, \cdots, x_n$의 합(또는 평균)은 student-t 분포를 따른다.

만약 이 샘플들을 단순히 더하는 것이 아니라 제곱을 하여 더하면 양수값만을 가지는 분포가 된다. 이 분포를 카이 제곱(chi-squared) 분포라고 하며 $\chi^2(x;\nu)$ 와 같이 표기한다. 카이 제곱 분포도 student-t 분포처럼 자유도(degree of freedom) 모수를 가진다.

$$ x_i \sim \mathcal{N} $$$$ \downarrow $$$$ \sum_{i=1}^n x_i^2 \sim \chi^2(n) $$

카이 제곱 분포의 확률 밀도 함수는 다음과 같다.

$$ f(x) = \frac{x^{(\nu/2-1)} e^{-x/2}}{2^{\nu/2} \Gamma\left(\frac{\nu}{2}\right)} $$

SciPy 의 stats 서브 패키지의 chi2 클래스를 사용하여 확률 밀도 함수의 모양을 살펴보면 다음과 같다.


In [1]:
xx = np.linspace(0.01, 10, 100)
for df in [1, 2, 3, 4, 5, 6, 9]:
    rv = sp.stats.chi2(df=df)
    plt.plot(xx, rv.pdf(xx), label = ("chi2 (dof = %d)" % df))
plt.xlim(0, 10.1)
plt.ylim(0, 0.6)
plt.legend()
plt.show()