Home [수학/확률과 통계] 중심극한정리
포스트
취소

[수학/확률과 통계] 중심극한정리

중심극한정리

  • 정의

기댓값이 mu 이고, 분산이 $sigma^{2}$ 이며 서로 독립인 분포 N개가 있다.

각 분포에서 나온 표본 N개의 평균(또는 합)의 분포는 N이 커질수록 기댓값이 mu이고 표준편차가 sigma/np.sqrt(n) 인 정규분포에 근사한다.

  • 혹은

기댓값이 mu이고, 분산이 sigma^{2} 인 분포가 있다.

이 분포에서 서로 독립인 표본 N개를 추출했다.

N이 커질수록, 이 표본들의 평균(또는 합)이 이루는 분포가 기댓값이 mu이고 표준편차가 sigma/np.sqrt(n) 인 정규분포에 근사한다.


  • 위 표본평균(합) 값들도 그 자체로 하나의 확률변수가 된다.
  • 표본평균 확률변수에서 얻은 데이터들을 정규화하면, N이 증가할 수록 표준정규분포에 수렴한다.

표본 시뮬레이션으로 중심극한 정리 성립하는지 보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 균일분포 표본 얻어서 중심극한정리 검증해보기 
np.random.seed(0)
xx = np.linspace(-2,2,100)

plt.figure(figsize=(6,9))

for i, N in enumerate([1,2,5]) : 
    x = np.random.sample([5000, N])
    x_bar = (np.mean(x, axis=1)-0.5)/(1/12)
    ax = plt.subplot(3,2,2*i+1)
    sns.distplot(x_bar, bins=10, kde=False, norm_hist=True)
    plt.xlim(-5,5)
    plt.yticks()
    ax.set_title(f'N={N}')
    plt.subplot(3,2,2*i+2)
    sp.stats.probplot(x_bar, plot=plt)

plt.tight_layout()
plt.show()

Screen Shot 2021-07-21 at 17 45 46

  • N이 커질수록 분포가 정규분포에 수렴하는 것을 볼 수 있다.

그렇다면 N개 정규분포에서 얻은 표본들 평균(합)은 어떻게 될까?

  • N개 정규분포에서 얻은 표본들 평균(합)은 N에 관계 없이 언제나 정확한 정규분포를 이룬다.
  • 기댓값 : N *mu, 분산 : N *sigma^{2}
  • N=1이면 원래 정규분포에서 나온 표본들이니 표본분포도 정규분포 그대로 따라갈 것이다.

정규분포 따르는 표본들을 정규화 하면 어떻게 될까?

  • 정규분포 따르는 표본들을 정규화 한 값을 ‘Z 통계량’ 이라 한다.
  • 앞에서는 표본평균들을 정규화 하면 N이 커질 때, 표준정규분포에 수렴했다.
    이와 달리, 정규분포 따르는 표본들의 평균값들을 정규화 하면 정확하게 표준정규분포를 이룬다.

시뮬레이션으로 직접 알아보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rv = sp.stats.norm(0, 1)

plt.figure(figsize=(6,9))
for i, v in enumerate([1,10,100]) : 
    fig = plt.subplot(3,2,2*i+1)
    data = rv.rvs(size=(5000, v), random_state=0)
    x_bar = np.mean(data, axis=1)
    sns.distplot(x_bar, kde=False, bins=10)
    plt.xlim(-5,5)
    plt.yticks([])
    fig.set_title(f'N={v}')

    ax = plt.subplot(3,2,2*i+2)
    sp.stats.probplot(x_bar, plot=plt)
plt.suptitle('정규분포에서 나온 표본들 평균은 N상관없이 항상 정규분포 따른다', y=1)
plt.tight_layout()

plt.show()

Screen Shot 2021-07-21 at 17 52 34

왼쪽 분포 형상도 정규분포와 같고, 오른쪽 Q-Q 플롯을 보면 스캐터 플롯이 모두 일직선으로,

N에 상관없이 표본데이터들 분포가 정확하게 정규분포를 이룬다는 걸 알 수 있다.


선형회귀 모형과 정규분포

  • 정규분포는 선형회귀 모형에서 잡음(disturbance) 모형화에 사용된다.

선형회귀모형

y = (c1 * x1) + (c2 * x2) … (cn * xn) + epsilon

epsilon이 ‘잡음’ 이다.

  • ‘잡음’의 정의 : y 형성하는 영향력 중, 측정 불가한 ‘나머지’ 영향력 하나로 퉁 친 것.

책 567p 메모 )

원래 y값은 무한한 독립변수의 영향을 받는다.

각각의 (cn * xn) 값은 독립변수 값에 따라 달라지는 ‘확률변수 값’ 이다. 확률적 데이터가 나오기 때문에, 다음 번에 뭐가 나올지 알 수 없다.

각 확률변숫값을 내놓는 공통의 확률변수가 있을 것이다. 이를 ‘y에 대한 영향’ 확률변수라고 명명하겠다.

epsilon은 확률변숫값들 중 가장 ‘작고’, ‘미미해서’ y에 거의 영향조차 못 미치는 값들을 더한 것이다.

epsilon을 구성하고 있는 확률변숫값들은 무한개다.

같은 확률변수(확률분포) 에서 나온 표본값들 갯수(N) 이 무한대이므로, 중심극한정리에 따라 epsilon의 분포는 정규분포로 가정할 수 있다.


한편, epsilon의 기댓값은 매우 작은 0 근처 값일 것이다.

이 값은 매우 작아서 y에 영향 주지 못한다. 이를 이용해

y = $E[epsilon ] + c1x1+ c2x2…+epsilon$ 으로 선형회귀식을 변형할 수 있다.

이때 앞에서 y는 $c1x2+c2x2+…+epsilon$ 과 등호가 성립했으므로,

$c1x2+c2x2+…+epsilon = E[epsilon] + c1x1+ c2x2…+epsilon$ 으로 놓을 수 있다.

양변에서 같은 항을 제거하면 $E[epsilon ] = 0$ 이 된다.

이런 방법으로, $y = E[epsilon ] + c1x1+ c2x2…+epsilon$ 를 쓰면서 $E[epsilon] = 0$ 이라고 할 수 있다.

따라서

epsilon의 분포는 기댓값이 0인 정규분포로 가정할 수 있다.
epsilon ~ N(0, sigma^{2})
  • 한편 y도 N개(무한대) 확률변숫값의 합이므로, y의 분포도 정규분포를 이룬다.

[수학/확률과 통계] 공분산, 상관계수, 조건부 기댓값과 분산

[수학/확률과 통계] 스튜던트 t분포, 카이제곱분포