什么是蒙特卡洛模拟( Monte Carlo simulation)

2024-04-28

1. 什么是蒙特卡洛模拟( Monte Carlo simulation)


什么是蒙特卡洛模拟( Monte Carlo simulation)

2. 什么是蒙特卡洛模拟( Monte Carlo simulation)

蒙特卡洛模拟又称为随机抽样或统计试验方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。
蒙特卡洛随机模拟法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
蒙特卡洛随机模拟法 - 实施步骤抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。

扩展资料基本原理思想
当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。
蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

参考资料来源:百度百科-蒙特卡罗模拟
参考资料来源:百度百科-蒙特卡洛随机模拟法

3. 什么是蒙特卡洛模拟( Monte Carlo simulation)

我们一直面对着不确定,不明确和变异。甚至我们无法获得信息,我们不能准确的预测未来。蒙特卡洛模拟( Monte Carlo simulation)让您看到了您决策的所有可能的输出,并评估风险,允许在不确定的情况下制定更好的决策。蒙特卡洛模拟( Monte Carlo simulation)是一种计算机数学技术,允许人们在定量分析和决策制定过程中量化风险。这项技术被专家们用于各种不同的领域,比如财经,项目管理,能源,生产,工程,研究和开发,保险,石油&天然气,物流和环境。蒙特卡洛模拟( Monte Carlo simulation)提供给了决策制定者大范围的可能输出和任意行动选择将会发生的概率。它显示了极端的可能性-最的输出,最保守的输出-以及对于中间路线决策的最可能的结果。这项技术首先被从事原子弹工作的科学家使用;它被命名为蒙特卡洛,摩纳哥有名的娱乐旅游胜地。它是在二战的时候被传入的,蒙特卡洛模拟( Monte Carlo simulation)现在已经被用于建模各种物理和概念系统。蒙特卡洛模拟( Monte Carlo simulation)是如何工作的蒙特卡洛模拟( Monte Carlo simulation)通过构建可能结果的模型-通过替换任意存在固有不确定性的因子的一定范围的值(概率分布)-来执行风险分析。它一次又一次的计算结果,每次使用一个从概率分布获得的不同随机数集。根据不确定数和为他们制定的范围,蒙特卡洛模拟( Monte Carlo simulation)能够在它完成计算前调用成千上万次的重复计算。蒙特卡洛模拟( Monte Carlo simulation)产生可能结果输出值的分布。通过使用概率分布,变量能够拥有不同结果发生的不同概率。概率分布是一种用来描述风险分析的变量中的不确定性的更加可行的方法。常用的概率分布包括:正态分布(Normal)-或"钟型曲线".用户简单的定义均值或期望值和标准差来描述关于均值的变异。在中部靠近均值的值是最有可能发生的值。它是对称的,可以用来描述多种自然现象,比如人的身高。可以通过正态分布描述的变量示例包括通货膨胀率和能源价格。对数正态分布(Lognormal)-值是正偏的,不像正态分布那样是对称的。它被用来代表不会小于零但可能有无限大正值的结果。可以通过对数正态分布描述的变量示例包括房地产价值,股票价格和石油储量。均匀分布(Uniform)-所有的值发生的机会相等,用户只需制定最小和最大值。可以通过均匀分布描述的变量示例包括一个新产品的制造费用或未来销售收入。三角分布(Triangular)-用户指定最小,最可能和最大值。在最可能附近的值最可能发生。可以通过三角分布描述的变量示例包括每时间单位内的过去销售历史和库存水平。PERT分布-用户指定最小,最可能和最大值,类似三角分布。在最可能附近的值最可能发生。然而在最可能和极值之间的值比三角分布更有可能发生;那就是说,the extremes are not as emphasized. 可以通过三角分布描述的变量示例包括在项目管理模型中的一项任务的持续时间。离散分布(Discrete)-用户指定最可能发生的值和每个值的可能性。比如关于诉讼结果的示例,20%的机会陪审团判决无罪,30%的机会陪审团判决有罪,40%的机会审批有效,10%的机会审批无效。在蒙特卡洛模拟( Monte Carlo simulation)过程中,值被从输入概率分布中随机抽取。每个样本集被称为一次迭代,从样本获得的结果被记录。蒙特卡洛模拟( Monte Carlo simulation)执行这样的操作成百上千次,可能结果形成一个概率分布。用这种方法,蒙特卡洛模拟( Monte Carlo simulation)生成了一个更加全面关于将会发生的结果的视图。它不仅仅告诉什么结果会发生,而且还有结果发生的可能性。蒙特卡洛模拟( Monte Carlo simulation)提供了许多超越确定性或"单点估计"分析的优势:概率结果,结果不仅显示会发生什么,而且还有每个结果发生的可能性图形化报告,因为蒙特卡洛模拟( Monte Carlo simulation)生成的数据,它很容易创建不同结果和他们发生机会的图形。这对于和其他投资者沟通结果是很重要的。敏感性分析,如果只有很少的一些案例,确定性分许就很难发现哪个变量对结果影响最大。在蒙特卡洛模拟( Monte Carlo simulation)中,很容易发现哪个输入对底线结果有最大的影响。情境分析,在确定性模型中,对于为不同输入值的不同组合建模来真实的查看不同情境的效果是很困难的。使用蒙特卡洛模拟( Monte Carlo simulation),分析员能够正确的查看当确定的输出发生时某个输入对应的值。这对于进一步的分析来说是无价的。相关性输入,在蒙特卡洛模拟( Monte Carlo simulation)中,可能要建模输入变量之间的相关关系。它对于准确的描绘在某些因子增长时,其它的因子是如何增长或下降的情况时是重要的。

什么是蒙特卡洛模拟( Monte Carlo simulation)

4. Monte Carlo模拟的基本原理

2.4.2.1 均布随机数
在Monte Carlo模拟过程中,关键是产生[0,1]之间均匀分布的随机数,并通过适当的转换获得相应于某具体概率分布的随机变量来进行模拟。产生均匀分布随机数的方法很多[57~59],但常用的产生随机数的计算机方法是代数同余法,即:
xi+1=(axi+c)(mod m) (2.6)
其中a、c、m是非负整数,如果ki是  的整数部分,即:

非连续变形分析方法及其在地下工程中的应用

则对应于模数m的余数是:
xi+1=axi+c-mki (2.7)
对于给定初始值(种子数)x0,通过上式可迭代出一批均匀随机数x1,x2,…,xn。经过如下式的归一化处理,便可得到[0,1]区间上均匀分布的随机数ui:

非连续变形分析方法及其在地下工程中的应用

在产生[0,1]之间均匀分布的随机数后,将其转化为满足某种分布(如均匀分布、二项式分布、负指数分布等)的随机变量。如果某随机变量的分布函数存在反函数,则可用反函数方法来确定转化后的随机变量,否则要用数值积分的方法求解。
在计算机上产生的随机数必须满足下列要求[55]:
(1)分布上的均匀性,统计上的独立性;
(2)产生的随机数可以重复,即给予相同的初始值能得到相同的随机序列,这样可以在相同的条件下模拟不同的设计方案;
(3)应该有足够长的周期,即在达到重复循环之前,能产生足够使用的随机数。
2.4.2.2 正态分布的随机变量
结构面的产状(倾角、倾向)服从正态分布。Box 和Muller(1958)[55]认为,如果u1、u2是两个在[0,1]上独立分布的均匀随机数,则:

非连续变形分析方法及其在地下工程中的应用

构成一对统计意义上独立的标准正态分布随机变量。对于非标准的正态分布,可用标准正态分布的随机变量X经下列线性变换得到:
x=μ+σX (2.10)
因此源于正态分布N(μ,σ)的随机变量可由下式产生:

非连续变形分析方法及其在地下工程中的应用

2.4.2.3 负指数分布的随机变量
结构面的间距和迹长是负指数分布的。负指数函数的表达式为[60][61]:
FX(x)=1-e-λx,x≥0 (2.12)
其反函数为:

非连续变形分析方法及其在地下工程中的应用

由(2.3)式迭代出均匀分布的随机数后,便可获得负指数分布的随机变量:

非连续变形分析方法及其在地下工程中的应用

或:

非连续变形分析方法及其在地下工程中的应用

上式中λ为结构面间距或迹长的数学期望。

5. 蒙特卡洛模拟法

一、蒙特卡洛模拟法的概念:(也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。

二、蒙特卡洛模拟法求解步骤:应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。解题步骤如下:

1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致

2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。

3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。

4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。

5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。
在可靠性分析和设计中,用蒙特卡洛模拟法可以确定复杂随机变量的概率分布和数字特征,可以通过随机模拟估算系统和零件的可靠度,也可以模拟随机过程、寻求系统最优参数等。

蒙特卡洛模拟法

6. 蒙特卡罗模拟

蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。 
     蒙特卡洛(Monte Carlo)模拟这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。
     蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
 蒙特卡洛模拟法求解步骤     
     应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。
     解题步骤如下:
     1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致
     2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。
     3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。
     4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。
     5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。


蒙特卡洛模拟法的应用领域     
      蒙特卡洛模拟法的应用领域主要有:
     1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。
     2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。
     3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。

7. 蒙特卡罗模拟的基本原理及思想

当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

蒙特卡罗模拟的基本原理及思想

8. 下面的问题用蒙特卡洛模拟如何实现啊,想了解个基本过程

蒙特卡洛的基本原理就是通过计算机的计算能力进行大量实验。实验样本到达一定数量后,能得出接近结果的数值解。这个题目可以通过计算直接得出结果接近于正态分布,但可以用excel简单的说明下蒙特卡洛方法。
用excel的步骤基本如下:

1、第一列拉出各周期编号1至1000。(假设都是从第一行开始)
2、第二列作为随机种子,B1输入=rand()
3、第三列为根据既定价格及概率p值(回答里写的p值,但输入时应该是具体数值)判断购买与否,C1输入=if(B1<p,1,0)
4、第四列、五列展示周期开始、结束时剩余货物,即D1为50,E1输入=max(D1-C1,0),而后D2输入=E1,E2输入=max(D1-C1,0)。
5、每一列对应下拉(四、五列从第二行开始下拉)。
按这个步骤的话,就得出一个既定价格下,剩余产品数量随时间变化的表。
至于最后的利润也是可以根据这个算的。
不过以上的过程是基于对每个周期买的概率进行1000次蒙特卡洛模拟。
如果模拟的是这1000次周期的结果,那就直接用一列到位,对多列的结果进行统计。
第1列仍然编号,第2列直接整合上述234步,表示该周期初始货物存货,第1行50,第二行B2输入=IF(RAND()<p,MAX(B1-1,0),B1),这里用的p仍然是数值的表示,比如说概率是0.7,实际应该输入=IF(RAND()<0.7,MAX(B1-1,0),B1)
下拉,出现到1000步的初始货物存货,根据要求实际上是1000步后的结果,可以拉到1001行。这就用单列表示了整个货物变化过程,如果想要更多1000步的不同结果,把整个b列右拉即有更多结果。
最新文章
热门文章
推荐阅读