Exceller's Home > 사용자 제공 자료

'무지개타고'님의 통계강좌

- 최초 작성일 : 2008-08-20
- 최종 수정일 : 2008-08-20

- 강좌 읽음수 : 3,336회
- 자료 작성자 : 무지개타고 (조석현님)

- 자료 편집자 :

강좌 제목 : 통계로 세상보기 - (73) 치졸하고 유치찬란한 난수 이용

 

'무지개 타고'님의 통계 강좌를 시작한 지도 1년이 넘었군요. 우리 주변의 친숙한 주제를 통계와 접목하여 좋은 강의를 하고 계시는 무지개 타고(조석현)님께 다시 한번 감사드립니다. '통계로 세상보기' 블로그에 들르셔서 감사의 인사를 남기는 센스를 발휘하셔도 좋겠지요? ^^

통계로 세상보기 블로그


예제 파일 내려받기


통계에서 난수(Random Number)를 필요로 하는 이유는 대충 이런 것이 아닐까?

어떤 자료의 속성을 파악해 분포(함수)를 찾아낸다. 그런데 이 분포가 해당 자료의 속성을 잘 반영하고 있는지를 검증해야 되는데, 널리 구할 수 없는 자료라면 무작위로 생성해야 된다(널리 구할 수 있는 자료라도 여타 여건 때문에 무작위로 생성한다). 이 때 난수를 이용하면 손 쉽게 검증 작업을 수행할 수 있다. 100,000 개 생성을 10,000 회 반복한다든지 또는 1,000,000 개를 100,000 회 반복한다든지... 즉 모의실험을 할 때 아주 유용하다.

그러나 이런 건 개구멍으로 빠져나올 때 이미 다 반납했고... (-_-) 여기선 다른 용도로 난수를 생성해 이용하려 한다. 엑셀에서 난수 생성을 지원하는 함수는 두 가지다. Rand와 RandBetween 함수가 그것이다. Rand는 연속형 난수고, RandBetween은 이산형 난수라고 하면 대충 통할 것 같다. 그 중 Rand를 이용하겠다.

이런 경우 어떻게 할까? 자료를 무작위로 배치하고자 한다. 단, 배치는 무작위이지만 생성된 자료가 차지하는 비율은 정해져 있다고 한다면...

01

여기서 비율의 합은 당연히 1 이다. 그리고 이 비율을 누적해 보면,

02

C2 셀 :
=SUM(B$1:B1)

원래 난수 자체는 주사위의 숫자처럼 균일분포를 따르지만, 생성된 난수가 제시된 범위 중 어디에 해당하느냐만 찾아내면 요구되는 자료를 제시된 비율만큼 생성할 수 있다.

03

H2 셀 :
=RAND()

I2 셀 :
=INDEX($A$2:$A$5,MATCH(H2,$C$2:$C$5,1))

이렇게 난수를 이용해 자료를 생성했는데, 원하는 비율을 보이는지 확인하기 위해서 위와 같은 방법으로 난수 100개를 생성하고 그때의 빈도와 분포를 구하면,

04

어째 비슷한거 같기도 하고 차이가 나는 것 같기도 하고... 뭐 돈 드는 것도 아니니 한 10,000개 정도 생성하고 다시 빈도를 구해보자.

05

10,000 개 계산하는데는 시간이 조금 걸린다. 엑셀2003이라 100,000 개 생성/처리는 불편할 것 같으니, 한 50,000개 정도를 생성하면...

06

이거 처리되는데 약 10분 걸렸다. 파일 크기는 무려 5M에 육박한다. 이제 이걸 한 10,000회 반복하는거다... T_T


Previous

Next

Copyright ⓒ Since 2008 아이엑셀러 닷컴. All rights reserved.

이 페이지의 저작권은 컨텐츠 제공자에게 있습니다.

본 강좌의 내용은 필자 개인의 견해이며, 아이엑셀러 닷컴의 공식 견해와 일치하지 않을 수도 있습니다.