蒙特卡洛模拟

什么是蒙特卡洛模拟?

蒙特卡洛模拟是一种用于执行敏感度分析的方法,即研究模型如何响应随机生成的输入。它通常涉及一个三步过程:

  1. 随机生成“N”个输入(有时称为场景)。
  2. 对“N”个输入中的每一个输入运行一次模拟。模拟在待分析系统的计算机化模型上运行。
  3. 聚合和评估模拟的输出。常见的衡量标准包括输出的平均值、输出值的分布以及最小或最大输出值。

使用蒙特卡洛模拟分析的系统包括金融、物理和数学模型。由于模拟彼此独立,蒙特卡洛模拟非常适合并行计算方法,这可以显著减少执行计算所需的时间。

在 MATLAB 中使用蒙特卡洛模拟

使用 MATLAB® 提供的函数,例如 usssimsd,您可以构建蒙特卡洛模拟模型并运行相应的模拟。MATLAB 可用于金融建模、天气预报、运营分析以及许多其他应用。

在金融建模中,蒙特卡洛模拟为下列各项提供信息:价格、利率和经济预测;风险管理;以及压力测试。Financial Toolbox™ 提供用于构建和评估随机模型的随机微分方程工具。Risk Management Toolbox™ 便于进行信用模拟,包括应用 copula 模型。

为了更好地控制输入生成,Statistics and Machine Learning Toolbox™ 提供了多种概率分布,可用于生成连续输入和离散输入。

在 Simulink 中使用蒙特卡洛模拟

您可以在 Simulink® 中对多域系统进行建模和模拟,以表示控制器、电机、增益和其他组件。这些复杂系统的设计和测试涉及多个步骤,包括识别哪些模型参数对需求和行为影响最大、记录和分析模拟数据以及验证系统设计。

蒙特卡洛模拟支持您运行参数扫描、探索设计空间、检验多种场景以及使用这些模拟的结果通过统计分析指导设计过程,从而帮助您增强对设计的信心。Simulink Design Optimization™ 提供交互式工具来执行此敏感度分析并影响您的 Simulink 模型设计。

并行运行蒙特卡洛模拟

为了提高蒙特卡洛模拟的性能,您可以使用 Parallel Computing Toolbox™MATLAB Parallel Server™ 将计算分发到多个核上并行运行。


另请参阅: 计算金融学中的蒙特卡洛模拟, 金融工程, 随机数, 负荷预测, 模拟软件, 预测建模