공부해 봅시다/R-Project

Monte Carlo 방법

Anonymous Pathologist 2013. 8. 26. 19:25

부트스트랩(bootstrap) 방법과 관련된 개념으로 매우 중요한 것은

몬테카를로 방법 혹은 가정(Monte Carlo method / simulation) 이다.


영문 위키피디아 설명에 의하면 명확한 정의는 없는 듯 하다.

통상적으로 통용되는 뜻은

한글 위키피디아에 있는 다음의 정의와 같은 듯 함.


난수를 기반으로 하여 함수의 값을 확률적으로 계산하는 알고리즘


그 위키피디아에 예로 나와 있는 원주율 구하기를 구현해 보았다.

여러번 반복해서 관찰한 결과 

생성한 임의의 수가 10만을 넘어가면

크게 오차가 줄어들지 않은 것 같다.

100만까지 구해 보았고, 100만번 했을 때 결과는

원주율(pi)는 3.1424888 이 계산되고, 오차는 약 0.029%이다.





여기까지는 한 번에 난수 100만개를 만들어서 구해본 결과이다.



1000만 이상의 난수를 기반으로 pi 를 구하기 위해서는 

메모리를 아끼는 방법이 필요하고,

1만번 난수를 만들어서 빨간점에 해당하는 점의 갯수를 구하는 것을

1만번 반복하는 것을 시도해 보았다.


1억번의 계산이 끝나고 나면

3.14181452 (0.007% 오차) 가 나온다.


시간 많이 걸림.


'공부해 봅시다 > R-Project' 카테고리의 다른 글

Excel 불러오기 #2  (0) 2013.11.05
plot3d() & points3d()  (0) 2013.10.15
Restricted mean event time  (0) 2013.07.16
Bootstrapping  (1) 2013.07.09
Kaplan-Meier  (0) 2013.07.07