(Bayes 학습)(10) Monte Carlo simulation-사례

몬테카를로 방법을 좀 더 확실히 파악하기 위해 막내와 사례를 만들어 보았다. 한국청소년 정책연구원에 2003년부터 2008년까지 수행한 한국청소년패널조사(KYPS)(중2패널) 데이터를 다운로드 받아서 사용했다.

설문조사 중 다음 문항에 대한 응답자의 반응(2003년 것만 사용)을 선택해서 시뮬레이션에 사용했다. 이 시뮬레이션은 표집분포(sampling distribution)의 학습을 위한 것이다. 시뮬레이션으로 표집분포를 구해서 그것의 분포 모양이 표본의 크기에 따라서 그리고 표본의 갯수에 따라서 어떻게 변하는가를 확인해 보는 것이다. 물론 모수()도 근사해(approximate) 보았다. 몬테카를로 시뮬레이션은 파이썬(Python)으로 했고, 그림은 SPSS를 이용해서 그렸다.

33-1) 부모님과 나는 많은 시간을 함께 보내려고 노력하는 편이다.

1. 전혀 그렇지 않다   2. 그렇지 않은 편이다  3. 보통이다   4. 그런 편이다   5. 매우 그렇다

이 조사에 참여한 학생은 3,449명이다. 시뮬레이션 공부를 위해 그것을 표본(sample)이  아니라 모집단(population)이라고 가정한다.

그 가상 모집단의 응답을 보면, 평균()이 3.24, 표준편차()가 0.950이며, 그것의 분포를 그래프로 나타내면 아래와 같다.

population

다음에는 그 가상 모집단에서 크기가 5()인 무작위 표본을  뽑아서 평균()을 구하고, 그것을 1천번 반복하였다. 그 1천개의 를 가지고 표집분포를 그리고 거기에 정규분포 곡선을 적합해 보았다. 이 표집분포의 평균은 3.2466이고 표준편차는 .43589이다. 이 표집분포는 그런대로 정규분포에 근접하고 있다.

sample5

이번에는 동일한 크기의 표본을 3천개를 뽑았다. 평균은 3.2381이고, 표준편차는 .43484이다. 즉, 평균보다 표준편차에 좀 더 큰 변화가 보인다.

sample5_3000

다시 동일한 크기의 표본을 5천개 뽑았다. 그 표집분포의 평균이 3.234이고, 표준편차는 .42823이다. 표준편차에는 별로 차이가 없는데, 평균은 또 좀 달라졌다. 한 눈에도 전체적으로 정규분포 곡선에 더욱 잘 적합하고 있음을 알 수 있다.

sample5_5000

다음에는 크기가 10인 표본을 1천개 무작위로 뽑아서 동일한 방식으로 표집분포를 구했다. 이 표집분포의 평균은 3.2492이고, 표준편차는 .30629이다. 평균은 거의 차이가 없는데 표준편차가 줄었다. 분포의 모양은 위의 것과 육안으로 구분이 잘 가지 않으나 아래 축을 자세히 보면 의 변동폭이 많이 좁아졌음을 알 수 있다. 범위가 1.00-5.00에서 2.00-4.50으로 좁아졌다.

sample10

동일한 크기의 표본을 3천개를 뽑았다. 그 표집분포의 평균은 3.2361이고, 표준편차는 .28998이다. 표집분포의 모양이 더욱 정규분포 곡선에 잘 적합한다.

sample10_3000

다시 동일한 표본을 5천개 뽑았다. 그 표집분포의 평균은 3.2364이고, 표준편차는 .29644이다. 평균은 거의 변화가 없고, 표준편차가 다소 변했다. 표집분포의 모양은 더욱 종 모양의 정규분포 곡선에 근접한다.

sample10_5000

그래서 이번에는 크기가 20인 무작위 표본을 1천개 뽑아서 동일한 방식으로 표집분포를 구했다. 이 표집분포의 평균은 3.2363이고, 표준편차는 .20441이다. 역시 평균은 그다지 차이가 없으나 표준편차가 현저하게 줄어들었다. 의 변동폭이 2.75-3.75로 일 때보다  좁아졌다.

sample20

동일한 크기의 표본을 3천개 뽑았다. 그 표집분포의 평균은 3.2383이고, 표준편차는 .21841이다. 평균은 변화가 없고, 표준편차는 미세하게 변했다. 종 모양에 더욱 가까워졌다.

sample20_3000

다시 동일한 크기의 표본을 5천개 뽑았다. 그 표집분포의 평균은 3.2376이고, 표준편차는 .21286이다. 평균과 표준편차가 3천개의 경우와 거의 다르지 않다. 그런데 표집분포의 모양은 지금까지 살펴본 것들 중 정규분포 곡선에 가장 잘 적합하다.

sample20_5000

마지막으로 이번에는 동일한 크기()의 표본을 1만개를 뽑았다. 그 표집의 평균은 3.2371이고, 표준편차는 0.21196이다. 아주 예쁜 종 모양의 분포이다.

sample20_10000

이상의 몬테카를로 시뮬레이션을 통해서 얻은 결과를 종합해보면, 1) 모집단 평균의 근사에 영향을 미치는 요소는 표본의 갯수이다. 그러나, 그 갯수가 어느 정도를 넘어가면 표본의 갯수를 증가시켜도 별로 차이가 없다. 2) 표집분포의 표준편차를 결정하는 중요한 요소는 표본의 크기이다. 표본의 크기가 20 정도 되니 상당히 정밀한 표집분포를 얻을 수 있다. 3) 표본의 갯수가 크게 늘어나면(1,000개에서 10,000개까지 늘려 보았다), 평균과 표준편차에는 별로 변화가 없고, 표집분포가 점점 매끄러운 모양으로 정규분포 곡선에 근사한다.

이 마지막 사례를 갖고 조금 놀아보자. 이것은 20명 크기의 표본()을 10,000개 뽑아서 그것들의 평균()으로 만든 표집분포(sampling distribution)이다. 사실 이 표집분포도 하나의 표본이라고 생각할 수도 있다. 실제로 동일한 크기의 표집분포를 몇 개 구해보면 표집분포의 평균과 표준편차가 조금씩 달라지는 것을 볼 수 있다. 평균()도 하나의 확률변수이고 평균들의 평균()도 하나의 확률변수인 것이다. 그러한 표집분포를 1천개를 뽑아서 그것들의 평균()으로 만든 표집분포를 만들어 볼 수도 있을 것이다. 그러면 그것은 평균들의 평균들로 이루어진 표집분포가 될 것이다. 그러면 그 표집분포의 평균은 , 즉, 평균들의 평균들의 평균이 될 것이다.

이러한 몬테카를로 시뮬레이션은 잠깐 동안에 시행할 수 있다. 컴퓨터 환경이 열악했던 30년 전에는 상상하기 어려웠던 일이다. 지금은 프로그래밍만 좀 해주면 PC만 가지고도 그러한 시뮬레이션 놀이가 가능하다. 무한대()라는 개념을 감각적으로 느낄 수 있는 시대가 온 것이다!

그나저나 이 자료에 따르면 부모님과 함께 가급적 시간을 보내려는 청소년들이 그렇지 않은 청소년들보다 많은 것 같아 다행스럽다. 부모와 자식이 자리를 함께 해야 대화를 하게 되고, 대화를 해야 서로에 대한 이해가 깊어질 것이기 때문이다.

(막내가 아빠의 집요한 프로그래밍 요구에 응하느라 수고한다. 덕분에 공부는 좀 되겠지만.)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다