본문 바로가기
programming language/MATLAB

MATLAB central limit theorem simulation

by __observer__ 2011. 5. 5.
반응형

오늘의 포스팅에서는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 시뮬레이션 수행 결과 이론적인 정규분포와 정확히 일치 함을 확인 할 수 있습니다.


반응형

댓글