Skip links

⁸ 2.2 몬테카를로 기법

[ 통계, 혼돈과 질서의 만남 ]

2. 무작위와 난수
2.2 몬테카를로 기법

영국의 수학자이며 통계이론과 방법론에 관한 초기 공헌자들 중의 한 명인 칼 피어슨Karl Pearson은 확률과 통계에서 정확한 해답을 얻기에는 너무도 복잡한 문제들을 풀기 위하여 난수들의 사용을 생각한 최초의 사람이었습니다. 만약 당신이 р개 변수들, x 1, x 2,…, xp의 결합분포를 알고 있다면, 주어진 함수 f(x 1, …, xp)의 분포를 어떻게 알 수 있겠습니까?

이 문제는 불완전 다중적분을 이용하여 풀 수 있지만 계산하기가 무척 어렵습니다. 피어슨은 난수들이 적어도 이러한 문제들의 근사값을 구하는데 유용하다는 사실을 발견하고, 그러한 분야의 연구가들에게 도움을 주기 위하여 티펫으로 하여금 난수표를 준비하도록 격려하였습니다. 피어슨은 다음과 같이 말하였습니다.

시뮬레이션 혹은 몬테카를로 기법이라고 부르는 이 방법은 이제 통계학과 모든 과학분야에서 복잡한 수식문제를 푸는 표준도구가 되었습니다. 여러분들은 단지 난수를 만들어서 간단한 계산만 하면 됩니다.

시뮬레이션의 기본원리는 간단합니다. 주어진 정사각형 안에 복잡하게 그려진 도형의 면적과 이 정사각형 면적의 비율을 구한다고 가정합시다(<그림1-1> 참조). 이 도형은 복잡하여 그 면적을 쉽게 측정할 수가 없습니다.

이제 정사각형에서 두 개의 교차하는 변을 각각 x축과 y축으로 지정합시다. 그 다음 실수 구간(0,b)의 범위 내에 있는(여기서 b는 정사각형의 한 변의 길이보다 큰 값으로 택함) 난수 두 개(x와 y)를 선택하여 좌표점(x, y)를 만든 후 이를 정사각형 위의 좌표축에 표시합니다. 이러한 과정을 여러 번 되풀이했을 때, 일정단계에서 도형 안에 놓인 점의 수를 a m, 정사각형 안에 놓인 전체 점의 수를 m이라 고 합시다.

이제 러시아의 유명한 확률학자 콜모고로프A.N.Kolomogorov가 발견한 대수의 법칙Law of large numbers을 소개하고자 합니다. 이 법칙에 의하면 좌표점(x, y)가 진실로 무작위하다면 m이 증가함에 따라 비율 a m/M 은 도형과 정사각형의 실제 면적비율에 가까워진다는 것입니다.

결국 이 방법의 성공여부(또는 정밀도)는 난수발생기가 얼마나 신뢰성이 있느냐, 그리고 얼마나 많은 난수를 만들어낼 수 있느냐에 달려 있습니다.

칼 피어슨의 주도하에 몇몇 그의 제자들이 복잡한 표본통계량들의 분포를 찾는데 이 방법을 사용하였습니다. 그러나 그 작업은 인도의 인도통계연구원Indian Statistical Institute을 제외하고는 별로 관심을 끌지 못하였습니다. 그 당시 인도통계연구원에서는 마할라노비스P.C.Mahalanobis 교수가 몬테카를로 기법에 대해 연구하고 있었습니다. 그는 이 기법을 무작위 표본추출 실험이라고 불렀으며, 여론조사시 최적의 표본추출법을 선택한다든지, 또는 실험 시 경작면의 최적크기와 모양을 선택하는 것과 같은 다양한 문제들을 해결하기 위하여 이 기법을 사용하고 있었습니다. 몬테카를로 기법의 잠재력에 관한 인식이 늦어진 이유는 아마도 진실되고 필요한 양의 난수들을 생성할 수 있는 고안장치들이 없었기 때문일 것입니다. 그런데 이 두 가지 사항은 결과의 정확도에 상당한 영향을 미칩니다.

또한 난수들을 생성하는 일정한 표준장치가 없었던 관계로 저널의 편집자들은 시뮬레이션 결과를 담은 논문들을 출판하기 꺼려했습니다. 이제는 신뢰할 수 있는 난수 발생기들이 만들어지고 그것들에 쉽게 접근할 수 있기 때문에 상황은 완전히 바뀌었습니다.

이제 우리는 복잡한 문제들에 접근할 수 있게 되었으며 적어도 실제적으로 이용할 수 있는 근사값들을 구해낼 수 있게 되었습니다. 저널의 편집자들은 기고하는 모든 논문들에 시뮬레이션 결과를 첨부해야 한다고 주장하고 있습니다. 심지어는 정확한 해답이 주어지는 경우에 있어서도 말입니다!

다른 분야에서도 마찬가지겠지만, 통계학에 있어서 연구의 전반적인 특징은 “대량계산 의존기법Number crunching methods”을 강조하는 쪽으로 점점 변화하고 있습니다. 그 중에 잘 알려진 예가 에프론Efron에 의하여 주창되고 지금은 매우 유행하고 있는 “붓스트랩 방법Bootstrap method”입니다. 여러분은 난수들을 적절히 이용할 수 있습니다.