Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

Theory/Statistics

파이썬으로 보는 통계 (2) - t-분포

반응형

Student-t 분포는 표본평균을 이용해 정규분포의 평균을 측정할 때 사용되는 분포로 표준정규분포를 따르는 확률변수 Z와 자유도가 v인 카이제곱 분포를 따르는 확률변수 V로 다음과 같이 정의하면 확률변수 T는 자유도가 v인 t-분포를 따릅니다.

T=ZVv 

정규분포 N(μ,σ2)에서 추출한 n개의 표본 X1,...,Xn에 대해 표본평균 Xm=1n(X1+...+Xn), 표본분산 S2=1n1(XiXm)2라 할 때, V=(n1)S2σ2는 자유도가 n1인 카이제곱 분포를 따릅니다. (Cochran의 정리)

Z=(Xmμ)nσ로 정의하고 위의 V의 정의와 함께 T를 다시 다음과 같이 정리할 수 있고,

T=ZVv=(Xmμ)nS

모분산인 σ2가 사용되지 않으므로 분산을 모를 때의 평균값 μ를 추정하는데 사용이 가능합니다. t-분포는 아래와 같이 정의되며, 자유도 v에 따라 모양이 달라지면서 자유도가 커질수록 정규분포 모양에 가까워 집니다.

t-분포는 원점에 대해 좌우대칭이며 보통 표본 수가 30 이상이면 표준정규분포와 가깝다고 할 수 있습니다. 즉, 표본의 크기가 30보다 작으면 t-분포를 사용해야 합니다.

In python

t-분포 또한 scipy.stats의 t 함수를 이용해 쉽게 분포를 파악할 수 있습니다. 먼저 확률분포 X를 정의하고,

import numpy as np

X = np.linspace(-5, 5, 101)

자유도에 따라 t-분포를 그려보면 다음과 같은 결과를 볼 수 있습니다.

import matplotlib.pyplot as plt

from scipy.stats import t

for i in np.arange(10)+1:
    plt.plot(X, t(i).pdf(X))

반응형