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

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

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

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

- 자료 편집자 :

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

 

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

통계로 세상보기 블로그


예제 파일 내려받기


지난번에 난수를 이용해 특정 분포를 따르는 자료를 생성하는 방법을 살펴보았는데, 이 때 성에 차지 않는 게 하나 있다.

04

분포가 왜 주어진 비율과 딱 맞아 떨어지지 않냐는거다. 원인은 간단하다. 난수이기 때문이다(분포가 딱 맞아 떨어지는 것과 적합하다는 것은 의미가 다르다). 이에 난수 100개를 또 생성한다.

07

그리고 생성된 난수에 대해 순위를 매긴다. 그러면 순위는 1 에서 100 사이의 정수를 갖게 된다. 그래서 계산을 위해 1 만큼을 순위에서 빼준다. 그리고 100으로 나눈다.

I2 셀 :
=RANK(H2,$H$2:$H$101)-1

J2 셀 :
=INDEX($A$2:$A$5,MATCH(I2/100,$C$2:$C$5,1))

이렇게 생성된 순위를 가지고 배치를 하면,

08

동일값의 난수가 생성되는 극히 매우 낮은 경우가 있긴 하나 제시된 비율과 생성된 분포는 같다.

사족인데, 지난번 작업에서 복잡한 수식도 없어 보이는데 처리 시간이 생각 보다 오래 걸린 것 같아 시스템 정보를 봤더니만... 메모리 하나를 인식을 못한다. 512MB 밖에 안되는데 거기서도 반쪽이 날아간 것이다. 접촉불량인가? 들고다닌 적도 거의 없는데... 칩을 대충 꽂고 지난 작업을 다시 수행하니 50,000개 생성/처리가 몇초만에 끝난다. 메모리 영향이 엄청났다는 것. 이에 순위에서도 50,000개 생성/처리를 해봤더니 약 13분 가량 소요됐다. 역시나 순위 계산은 수식은 간단해도 시간이 걸린다.

여기서 호기심이 발동해 순위를 Rank 함수가 아닌 Countif 함수로 처리해봤다. 50,000개 생성/처리되는데 약 40분, 파일 크기는 7M에 육박했다. Countif 함수를 이용하는게 좀더 가벼울거라 예상해봤는데 그게 아닌가 보다.


Previous

Next

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

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

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