예제

몬테 카를로 시뮬레이션이란 자료가 생성되는 자료 생성 메카니즘을 고정시켜 놓고 난수 발생을 통해 반복적으로 자료를 발생시켜서 원하는 분석을 반복적으로 실시함으로써 그 분석 방법에 대한 과학적 결론을 얻어내고자 하는 계산 방법론입니다. 특히 통계학에서는 통계량을 계산하는데 이러한 시뮬레이션을 통해 통계량의 분포를 얻어내는 것이 이론적으로 구하는 것보다 쉬운 경우가 종종 있어서 많이 사용됩니다. 홍길동씨는 특정 통계량을 이런 몬테 카를로 실험을 통해서 (1,000회 반복했다고 합시다) 얻어낸 후에 그것들의 평균과 분산을 구했더니 각각 1.021646 이라는 값과 0.00564345 이라는 값을 얻었다고 합시다. 이럴때 최종 결과를 1.025646 이라고 발표하는 것이 어떤 문제가 있을까요?

풀이

몬테 카를로 시뮬레이션은 통계학 뿐만 아니라 물리학이나 생물학과 같은 자연과학과 공학 및 사회과학에서도 많이 사용되는 방법입니다. 한번의 시뮬레이션을 돌리면 얻어지는 통계량은 시그널(signal) 부분과 노이즈(noise) 부분이 합쳐져서 얻이지지만 대수의 법칙에 의해서 이를 무한히 반복하여 평균을 내면 노이즈 부분은 사라지고 시그널 부분만 남습니다.

그러나 위의 예처럼 1,000번의 시뮬레이션을 하더라도 노이즈 부분은 완전히 사라지지 않고 조금 남습니다. 위의 예에서 1.021646 이라는 값은 시그널과 노이즈가 결합된 형태에서의 1000 개의 통계량의 평균이므로 시그널 파트는 동일하지만 노이즈 파트는 시뮬레이션 횟수가 증가함에 따라 달라질수 있기 때문입니다. (다만 시뮬레이션 횟수가 많으면 노이즈의 평균은 0 으로 수렴합니다. 이게 대수의 법칙입니다)

따라서 시뮬레이션의 결과를 report 할 경우에는 시그널 부분만을 보여주는 것이 좋습니다. 왜냐하면 그렇게 하는 것이 재현성(reproducibility)의 측면에서 볼때 바람직 하기 때문입니다. 동일한 시나리오에서 얻어지는 시뮬레이션 결과가 사람마다 달라질텐데 노이즈 까지 포함해서 발표를 하는 것은 독자를 혼란하게 하고 발표자의 과학자적 자질에 의심을 품게 만드는 것입니다.

그러면 어떻게 시그널을 찾을수 있을까요? 가장 쉬운 방법은 이 시뮬레이션 결과로부터 모수의 신뢰구간을 구하면 됩니다. 즉, 시뮬레이션 자료가 표본수가 1,000 인 표본 자료로 보고 표본 평균이 1.021646 이고 표준 편차는 $\sqrt{0.00564345}=0.0751229$ 이므로 95\% 신뢰구간은 이 됩니다. 즉, 소수점 두자리 숫자 자체가 이미 정확한 값이 아니라 노이즈를 반영하는 값이라는 것입니다. 따라서 이 시뮬레이션 결과를 발표할때에는 유효수자 소수점 첫째자리까지인 1.0 으로 발표하는 것이 맞는 방법입니다.

토론

  1. 통계학 초기 역사에서 가장 유명한 몬테 카를로 시뮬레이션은 T-분포의 분포 테이블을 만든 것입니다. 기네스 맥주 회사에서 근무하는 고셋 경이 T-통계량의 유한 표본에서의 sampling distribution 을 구하고자 몬테 카를로 시뮬레이션을 했는데 그 당시에는 컴퓨터가 없어서 난수표를 이용해서 했다고 합니다. 이와 관련하여 제가 몇년 전에 작성한 블로그 링크를 추가합니다. (

http://blog.naver.com/kim00020/60058915894 )

  1. 몬테 카를로 시뮬레이션의 이론적 근거는 대수의 법칙입니다. 우리가 원하는 모수가 어떤 사건이 일어날 확률이라고 한다면 그것은 적분으로 표현되는 것이지만 그 적분을 정확하기 계산하기가 어려우므로 컴퓨터 시뮬레이션으로 자료를 랜덤하게 발생시켜 그 중에서 특정 사건이 일어나는 빈도를 계산해서 근사적으로 계산하는 것입니다.

  2. 몬테 카를로 시뮬레이션을 설계할 때 주의할 점으로는 두 추정량을 비교할때 동일한 샘플을 사용해야 한다는 것입니다. 즉, A 라는 방법론을 사용한 추정량 $\hat{\theta}_A$ 와 B 라는 방법론을 사용한 추정량 $\hat{\theta}_B$ 의 sampling distribution 을 몬테 카를로로 구현하고자 할때 두 방법론이 동일한 자료로 부터 계산되어야 더 효율적입니다. 즉, 에서 두 통계량이 서로 별도의 독립적인 자료로부터 계산되면 Covariance 가 0 이 되지만 같은 자료로부터 계산되면 대부분의 경우 covariance 가 양수가 나오므로 두 통계량의 비교에 더 효율적인 실험 설계법이 되는 것입니다.