몬테카를로 시뮬레이션

menu icon

몬테카를로 시뮬레이션

반복되는 랜덤 샘플링을 사용하여 발생하는 결과의 범위의 가능성을 얻을 수 있는 계산 알고리즘의 한 유형인 몬테카를로 시뮬레이션에 대한 모든 중요 사항들을 알아봅니다.

몬테카를로 시뮬레이션이란?

몬테카를로 메서드 또는 다중 확률 시뮬레이션이라고도 하는 몬테카를로 시뮬레이션은 불확실한 사건의 가능한 결과를 추정하는 데 사용되는 수학적 기법입니다. 몬테카를로 메서드는 불확실한 조건 하에서의 의사결정을 개선하기 위해 제2차 세계대전 중에 John von Neumann 및 Stanislaw Ulam에 의해 고안되었습니다. 룰렛 게임과 유사하게 기회 요인이 모델링 접근 방법의 핵심이므로, 이는 모나코(Monaco)라 불리는 유명한 카지노 도시의 이름을 따서 명명되었습니다.

몬테카를로 시뮬레이션이 소개된 이후, 이는 인공지능, 주가, 판매 예측, 프로젝트 관리 및 가격 책정 등 많은 실생활 시나리오에서 위험의 영향을 평가해 왔습니다. 이는 또한 민감도 분석을 수행하는 기능이나 입력의 상관을 계산하는 기능 등 고정 입력의 예측 모델에 비해 다수의 장점을 제공합니다. 의사 결정자는 민감도 분석을 통해 주어진 결과에 대한 개별 입력의 영향을 볼 수 있으며, 상관 관계를 통해 입력 변수 간의 관계를 파악할 수 있습니다.

몬테카를로 시뮬레이션 작동 방법

일반적인 예측 모델과는 달리, 몬테카를로 시뮬레이션은 고정 입력 값 세트에 비해 추정된 값 범위를 기반으로 결과 세트를 예측합니다. 달리 말하면, 몬테카를로 시뮬레이션은 내재된 불확실성을 지닌 임의의 변수에 대해 균등 또는 정규 분포 등의 확률 분포를 활용하여 가능한 결과의 모델을 구축합니다. 그리고 이는 최소값과 최대값 사이의 상이한 난수 세트를 사용하여 매번 반복해서 결과를 다시 계산합니다. 전형적인 몬테카를로의 실험에서는 이러한 실행이 수천 번 반복됨으로써 다수의 가능한 결과를 생성할 수 있습니다.

몬테카를로 시뮬레이션 역시 이러한 정확성 때문에 장기 예측에 활용됩니다. 입력의 수가 증가함에 따라 예측의 수도 따라서 증가하므로, 마침내 보다 정확하게 결과를 추정할 수 있습니다. 몬테카를로 시뮬레이션이 완료되면, 이는 각 결과의 발생 가능성을 통해 가능한 결과의 범위를 산출합니다.

몬테카를로 시뮬레이션의 한 가지 간단한 예는 두 개의 표준 주사위를 굴리는 확률의 계산을 고려하는 것입니다. 주사위 굴리기는 36개의 조합이 존재합니다. 이를 기반으로, 특정 결과의 확률을 수동으로 계산할 수 있습니다. 몬테카를로 시뮬레이션을 사용하여, 더 정확한 예측을 달성하기 위해 주사위 굴리기를 10,000회(또는 그 이상) 시뮬레이션할 수 있습니다.

몬테카를로 메서드의 사용법

어떤 툴을 사용하든, 몬테카를로 기법에는 세 가지 기본 단계가 포함됩니다.

  1. 예측 모델을 설정하고, 예측할 종속 변수 및 예측을 구동할 독립 변수(입력, 위험 또는 예측자 변수라고도 함)를 모두 식별합니다.
  2. 독립 변수의 확률 분포를 지정합니다. 히스토리 데이터 및/또는 분석가의 주관적 판단을 사용하여 가능한 값의 범위를 정의하고 각각의 확률 가중치를 지정합니다.
  3. 시뮬레이션을 반복 실행하여 독립 변수의 무작위 값을 생성합니다. 충분한 결과가 수집될 때까지 이를 수행함으로써 거의 무제한 수의 가능한 조합의 대표 샘플을 구축합니다.

데이터의 시뮬레이션에 사용하는 기본 매개변수를 수정하여 원하는 수만큼 몬테카를로 시뮬레이션을 실행할 수 있습니다. 그러나, 일반적으로 사용되는 중심 경향값인 분산 및 표준 편차를 계산하여 샘플 내에서 변동 범위를 계산하고자 할 수도 있습니다. 주어진 변수의 차이는 변수와 이의 예상 값 사이의 평균 제곱 차이의 예상 값입니다. 표준 편차는 분산의 제곱근입니다. 일반적으로, 보다 작은 차이는 보다 우수하다고 간주됩니다.

몬테카를로 시뮬레이션의 수행 방법에 대해 자세히 알아보려면 여기(IBM 외부 링크)를 참조하세요.

몬테카를로 시뮬레이션 및 IBM

Microsoft Excel 등의 다양한 툴을 사용하여 몬테카를로 시뮬레이션을 수행할 수 있지만, 위험 분석과 몬테카를로 시뮬레이션에 최적화된 IBM SPSS Statistics 등의 정교한 통계 소프트웨어 프로그램을 이용하는 것이 가장 좋습니다. IBM SPSS Statistics는 기업이 자체 데이터에서 실행 가능한 인사이트를 추출할 수 있도록 해주는 강력한 기능 세트를 제공하는 강력한 통계 소프트웨어 플랫폼입니다.

SPSS Statistics를 사용하여 다음을 수행할 수 있습니다.

  • 사용자에게 친숙한 인터페이스를 통해 데이터를 분석하고 보다 잘 파악하며 복잡한 비즈니스 및 연구 문제점을 해결합니다.
  • 높은 정확성과 고품질 의사결정을 보장하도록 지원하는 고급 통계 프로시저를 사용하여 대규모의 복잡한 데이터 세트를 보다 빠르게 이해합니다.
  • 확장 기능, Python 및 R 프로그래밍 언어 코드를 사용하여 오픈 소스 소프트웨어와 통합합니다.
  • 유연한 배치 옵션으로 소프트웨어를 보다 손쉽게 선택하고 관리합니다.

예를 들어, SPSS Statistics의 시뮬레이션 모듈을 사용하여 다양한 광고 예산 금액을 시뮬레이션하고 총 매출에 미치는 영향을 확인할 수 있습니다. 시뮬레이션의 결과에 따라, 총 판매 목표의 달성을 위해 더 많은 비용을 광고에 지출하기로 결정할 수 있습니다. 몬테카를로 시뮬레이션에 IBM SPSS Statistics를 사용하는 방법에 대한 자세한 내용은 여기(IBM 외부 링크)를 참조하세요.

IBM Cloud Functions 또한 몬테카를로 시뮬레이션을 지원할 수 있습니다. IBM Cloud Functions는 수신 이벤트에 대한 응답으로 코드를 실행하는 FaaS(functions-as-a-service) 플랫폼입니다. IBM Cloud Functions를 사용하여, 전체 몬테카를로 시뮬레이션은 1,000개의 동시 호출로 90초 만에 완료되었습니다. IBM 툴을 사용한 몬테카를로 시뮬레이션의 수행 방법에 대한 자세한 내용은 여기를 참조하세요.

몬테카를로 시뮬레이션에 대한 자세한 정보를 원하면 IBM ID에 등록하고 IBM Cloud 계정을 만드세요.