오늘의 포스팅에서는central limit theorem (중심 극한 정리)에 대한 MATLAB 시뮬레이션에 대해 설명 드립니다.
저 개인적으로는 중심 극한 정리에 대해 이해를 하면 왜 가우시안 분포를 정규분포라고도 하는지 이해를 하게 된 것 같습니다.
중심 극한 정리란 어떤 임의의 확률 변수의 합의 횟수가 무한대가 될 때 그 분포가 정규 분포에 가까워진다는 것입니다.
위 식을 보면서 좀더 쉽게 설명 드리자면 위 식의 Xi 라는 변수가 어떤 분포를 갖는 변수던지 간에 N 값이 무한대가 되도록 더하면 SN 이라는 확률 변수의 분포가 정규 분포가 된다는 겁니다.
특정 r.v. 의 합에 대한 평균 및 분산은 다음 수식과 같은 특징이 있습니다.
평균이 μ 이고 분산이 σ2인 정규 분포의 pdf 는 다음과 같습니다.
이제 central limit theorem 시뮬레이션을 해 보죠.
Xi 는 간단하게 uniform r.v. 을 이용해 보죠. MATLAB 의 rand() 함수를 이용하시면 됩니다.
uniform r.v. 을 이용하여 SN 을 만들었다면 이 값의 이론적인 평균 및 분산 값을 계산해야 합니다.
rand() 함수는 일단 0~1 사이의 uniform 한 값을 반환 하므로 다음과 같은 평균 및 분산 값을 갖습니다.
그 합인 SN 의 평균 및 분산은 다음과 같겠죠.
위 값들을 바탕으로 N= 100 인 경우의 central limit theorem 에 대한 시뮬레이션을 수행해 보겠습니다.
코드는 다음과 같습니다.
위 코드에서 정규분포의 pdf 및 cdf계산을 위해 이용한normpdf(), normcdf() 함수는 Statistics Toolbox 에 포함된 함수 입니다.
위 코드를 수행해서 나온 command 창의 결과를 보면 아래 결과와 같으며 이는 이론적인 평균 (100/2 = 50 )및 분산(100/12=8.3333) 값과 일치함을 확인 할 수 있습니다.
pdf 및 cdf 의 그래프는 다음과 같습니다.
central limit theorem 시뮬레이션 수행 결과 이론적인 정규분포와 정확히 일치 함을 확인 할 수 있습니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB Dependency Report (0) | 2011.05.21 |
---|---|
MATLAB ordinary differential equations 를 풀어보자~ dsolve() (0) | 2011.05.15 |
MATLAB 연립 방정식 해 구하기, least square solution (967) | 2011.05.08 |
MATLAB Poisson (포아송) r.v. generation (0) | 2011.05.05 |
MATLAB symbolic math toolbox 를 이용한 합성 함수, 역함수 (0) | 2011.04.29 |
MATLAB function handle 추가 (0) | 2011.04.25 |
MATLAB ordinary differential equation , ode45 (10) | 2011.04.24 |
MATLAB nargin, nargout (6) | 2011.04.24 |
댓글