몬테카를로 시뮬레이션은 무작위로 생성된 입력값에 모델이 어떻게 반응하는지를 연구하는 데 쓰이는 기법입니다. 일반적으로 다음과 같은 3단계 과정을 거칩니다.
- “N”개의 입력(시나리오라고도 함)을 무작위로 생성합니다.
- “N”개의 입력값 각각에 대해 시뮬레이션을 실행합니다. 시뮬레이션은 분석 대상 시스템의 컴퓨터화된 모델에서 실행됩니다.
- 시뮬레이션의 출력값을 집계 및 평가합니다. 일반적인 측정값에는 출력값의 평균값, 출력값의 분포, 최소 또는 최대 출력값이 있습니다.
몬테카를로 시뮬레이션을 사용하면 금융, 물리 및 수학 모델을 분석할 수 있습니다. 시뮬레이션은 서로 상호 독립적이므로 몬테카를로 시뮬레이션은 병렬 연산 기법에 잘 맞으며, 따라서 연산을 수행에 소요되는 시간을 대폭 단축할 수 있습니다.
MATLAB의 몬테카를로 시뮬레이션
MATLAB® 언어는 몬테카를로 시뮬레이션을 위한 모델을 구축하고 이러한 시뮬레이션을 실행하는 데 사용할 수 있는 다양한 고수준 수학 함수를 제공합니다. MATLAB은 금융 모델링, 일기 예보, 운영 분석 및 그 외의 많은 응용 분야에 사용됩니다.
금융 모델링에서 몬테카를로 시뮬레이션은 가격, 요율 및 경제 예측, 위험 관리, 스트레스 테스트를 위한 정보를 제공합니다. Financial Toolbox™는 확률 모델을 구축하고 평가하기 위한 확률미분방정식 툴을 제공합니다. Risk Management Toolbox™로는 코퓰러 모델 응용을 포함한 신용 시뮬레이션을 수행할 수 있습니다.
한층 더 세밀한 입력값 생성 제어를 위해 Statistics and Machine Learning Toolbox™는 연속 및 이산 입력값을 모두 생성하는 데 활용할 수 있는 다양한 확률 분포를 제공합니다.
Simulink의 몬테카를로 시뮬레이션
Simulink®에서 다중영역 시스템을 모델링 및 시뮬레이션하여 제어기, 모터, 이득 및 기타 구성요소를 표현할 수 있습니다. 이러한 복잡한 시스템의 설계와 테스트는 요구사항과 동작에 가장 큰 영향을 미치는 모델 파라미터 식별, 시뮬레이션 데이터 로깅 및 분석, 시스템 설계 검증을 포함한 여러 단계로 구성됩니다.
몬테카를로 시뮬레이션을 사용하면 파라미터 스윕을 수행하고 설계 공간을 탐색하고 여러 시나리오를 테스트하고 이러한 시뮬레이션의 결과를 사용하여 통계적 분석을 통해 설계 공정을 정할 수 있으므로 설계에 대한 신뢰도를 높일 수 있습니다. Simulink Design Optimization™은 이런 민감도 분석을 수행하고 Simulink 모델 설계를 돕는 대화형 방식의 툴을 제공합니다.
몬테카를로 시뮬레이션 병렬 실행
몬테카를로 시뮬레이션의 성능을 개선하려면 Parallel Computing Toolbox™ 및 MATLAB Parallel Server™를 사용하여 여러 코어에서 병렬로 실행할 수 있도록 연산을 분산할 수 있습니다.
자료
문서, 예제, 비디오 등을 통해 지식을 확장하십시오.