什么是蒙特卡洛模拟?

蒙特卡洛模拟是一种预测不确定事件可能结果的数学技术。计算机程序使用这种方法来分析过去的数据,并根据选择的行动预测一系列未来结果。例如,如果您想估算新产品第一个月的销售额,则可以向蒙特卡洛模拟程序提供历史销售数据。该计划将根据总体市场状况、产品价格和广告预算等因素估算不同的销售价值。

为什么蒙特卡洛模拟很重要?

蒙特卡洛模拟是一种概率模型,可以在其预测中包含不确定性或随机性元素。使用概率模型模拟结果时,每次都会得到不同的结果。例如,您的家和办公室之间的距离是固定的。但是,概率模拟可能会通过考虑拥堵、恶劣天气和车辆故障等因素来预测不同的行驶时间。  

相比之下,传统的预测方法更具确定性。它们为预测提供了明确的答案,不能将不确定性考虑在内。例如,它们可能会告诉您最短和最长行驶时间,但两个答案都不太准确。  

蒙特卡洛模拟的好处

蒙特卡洛模拟将提供多种可能的结果以及通过大量随机数据样本得出的每种结果的概率。它能提供比确定性预测更清晰的画面。例如,预测金融风险需要分析数十或数百个风险因素。金融分析师使用蒙特卡洛模拟得出每种可能结果的概率。 

蒙特卡洛模拟的历史

John von Neumann 和 Stanislaw Ulam 在 20 世纪 40 年代发明了蒙特卡洛模拟(或称为蒙特卡洛方法)。他们以摩纳哥著名的赌博场所为其命名,因为该方法与轮盘游戏具有相同的随机特征。

蒙特卡洛模拟的使用场景有哪些?

公司使用蒙特卡洛方法来评估风险并做出准确的长期预测。以下是一些示例使用场景。

商用级

企业领导者在制定决策时使用蒙特卡洛方法来预测现实的场景。例如,营销人员需要决定增加在线瑜伽课程的广告预算是否可行。他们可以对不确定因素或变量使用蒙特卡洛数学模型,如下所示:

  • 订阅费用
  • 广告成本
  • 注册率 
  • 留存率 

然后,模拟将预测变化对这些因素的影响,以表明该决策是否有利可图。 

金融

金融分析师经常对股票价格进行长期预测,然后向客户建议适当的策略。在此过程中,他们必须考虑可能导致投资价值急剧变化的市场因素。因此,他们使用蒙特卡洛模拟来预测可能的结果,以支持他们的策略。

在线游戏

在线游戏和博彩行业受到严格的法规监管。客户期望游戏软件是公平的,并模拟其实际对手的特征。因此,游戏程序员使用蒙特卡洛方法来模拟结果并确保公平竞赛体验。

工程

在向公众开放之前,工程师必须确保他们创建的每个产品和系统的可靠性和稳健性。他们使用蒙特卡洛方法,根据现有变量模拟产品的可能失效率。例如,机械工程师使用蒙特卡洛模拟来估计发动机在各种条件下运行时的耐久性。

蒙特卡洛模拟的工作原理

蒙特卡洛模拟的基本原理在于遍历性,它描述了封闭系统中移动点的统计行为。移动点最终将穿过遍历系统中所有可能的位置。这成为蒙特卡洛模拟的基础,在这种模拟中,计算机运行足够的模拟,以得出不同输入的最终结果。

例如,一个六面骰子有六分之一的机会落在一个特定的数字上。当您掷六次骰子时,可能不会让骰子落在六个不同的数字上。然而,当您继续无限次投掷时,每个数字的理论概率都将达到 1/6。结果精度与模拟次数成正比。换句话说,运行 10000 次模拟得出的结果比运行 100 次模拟更准确。 

蒙特卡洛模拟的工作原理是一样的。它使用计算机系统来运行足够次数的模拟,以产生模拟现实生活结果的不同结果。系统使用随机数生成器来重现输入参数固有的不确定性。随机数生成器是产生不可预测的随机数序列的计算机程序。 

蒙特卡洛模拟与机器学习的对比

机器学习(ML)是一种计算机技术,它使用大量的输入和输出(I/O)数据样本来训练软件,以了解两者之间的关联。另一方面,蒙特卡洛模拟使用输入数据的样本和已知的数学模型来预测系统中可能发生的结果。您可以使用 ML 模型来测试和确认蒙特卡洛模拟中的结果。

蒙特卡洛模拟有哪些组成部分?

蒙特卡洛分析由输入变量、输出变量和数学模型组成。计算机系统将自变量输入数学模型,对其进行模拟,然后生成因变量。 

输入变量

输入变量是影响蒙特卡洛模拟结果的随机值。例如,制造质量温度是影响智能手机耐用性的输入变量。您可以将输入变量表示为一系列随机值样本,这样蒙特卡洛方法就可以使用随机输入值来模拟结果。 

输出变量

输出变量是蒙特卡洛分析的结果。例如,电子设备的预期寿命是一个输出变量,其值是一个时间,例如 6 个月或 2 年。蒙特卡洛模拟软件在直方图或图形中显示输出变量,该直方图或图形将结果分布在水平轴上的连续范围内。

数学模型

数学模型是以数学形式描述输出变量和输入变量之间关系的方程。例如,盈利能力的数学模型是利润 = 收入 − 支出

蒙特卡洛软件将收入和支出替换为基于概率分布类型的可能值。然后,它重复模拟以获得高度精确的结果。当数学模型涉及许多随机变量时,蒙特卡洛模拟可能会运行数小时。 

蒙特卡洛模拟中的概率分布是什么?

概率分布是统计函数,表示在极限之间分布的一系列值。统计专家使用概率分布来预测可能出现的不确定变量,该变量可能由离散值或连续值组成。 

离散概率分布由整数或有限数序列表示。每个离散值的概率都大于零。统计学家在表上绘制离散概率分布,但他们将连续概率分布绘制为图的 x 轴上两个给定点之间的曲线。以下是蒙特卡洛模拟可以建模的常见概率分布类型。

正态分布

正态分布,也称为钟形曲线,是形似钟形的对称形状,代表大多数现实生活中的事件。中位数出现随机值的可能性很高,而在钟形曲线两端出现随机值的概率则会显著降低。例如,对特定教室中学生体重的重复随机抽样可以得到正态分布图。

均匀分布

均匀分布是指机会均等的随机变量的统计表示。当绘制在图表上时,均匀分布的变量在有效范围内显示为一条水平线。例如,均匀分布表示骰子滚动和落在每一面的可能性。

三角分布

三角分布使用最小值、最大值和最有可能值来表示随机变量。它的概率在最有可能值达到峰值。例如,公司使用三角分布通过确定三角形的最小值、最大值和峰值来预测即将到来的销量。

执行蒙特卡洛模拟的步骤是什么?

蒙特卡洛方法包括以下步骤:

建立数学模型

定义一个方程,将输出变量和输入变量结合在一起。数学模型的范围跨越基本的商业公式到复杂的科学方程式。 

确定输入值

从不同类型的概率分布中进行选择以表示输入值。例如,移动电话的工作温度很可能是钟形曲线,因为设备大部分时间都在室温下运行。 

创建示例数据集

根据所选概率分布创建随机样本的大型数据集。样本数量应在 100000 以内才能得出准确的结果。 

设置蒙特卡洛模拟软件

使用输入样本和数学模型来配置和运行蒙特卡洛模拟软件。结果时间可能因输入变量的数量而异,您可能需要等待结果。

分析结果

检查模拟结果以了解输出在直方图上的分布情况。使用统计工具计算参数,例如平均值、标准差和变量,以确定结果是否符合您的预期。

蒙特卡洛模拟会带来哪些挑战?

使用蒙特卡洛模拟时会遇到以下两个常见挑战: 

  • 蒙特卡洛模拟高度依赖于输入值和分布。如果在选择输入和概率分布时出错,可能会导致结果不准确。 

执行蒙特卡洛实验可能需要过多的计算能力。使用蒙特卡洛方法时,可能需要在一台计算机上花费数小时或数天才能完成计算。 

AWS Batch 如何帮助进行蒙特卡洛模拟?

AWS Batch 是一项供数据分析师在 AWS 环境中批量运行工作负载的服务。数据分析师使用 AWS Batch 自动扩展云计算资源以进行蒙特卡洛模拟。然后,他们在较短的持续时间内模拟复杂的系统和变量。AWS Batch 提供以下功能:

  • 数据科学家专注于分析结果,而不是管理资源分配。 
  • 在执行蒙特卡洛模拟时,AWS Batch 消除了手动监督和干预的需要。
  • 无需在您的 AWS 环境中安装单独的批量计算软件。 

立即创建 AWS 账户,开始使用蒙特卡洛方法。

使用 AWS 的蒙特卡洛模拟后续步骤

查看其他与产品相关的资源
了解更多关于计算服务的信息 
AWS 计算服务免费套餐
查看免费的计算服务 
开始在控制台中构建

在 AWS 管理控制台中,使用 AWS 开始构建。

登录