蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)

您所在的位置:网站首页 蒙特卡洛方法怎么用 蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)

蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)

2024-07-15 16:19| 来源: 网络整理| 查看: 265

 蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解,故又称随机抽样法或统计试验法。上述就是蒙特卡洛方法的基本概念,比较抽象,下面结合实际工作中的理解,谈一谈对蒙特卡洛方法的一些认识。

(1)首先,蒙特卡洛不是个人名,而是个地名,说明该方法与概率有着密切的关联。

   蒙特卡洛方法的提出者是大名鼎鼎的数学家冯·诺伊曼,搞计算机的不可能不知道他(计算机之父),冯·诺伊曼在20世纪40年代中期用驰名世界的赌城—摩纳哥的蒙特卡洛来命名这种方法。(大家也别把蒙特卡洛当一个城市,估计和北京的一条街差不了多少,因为摩纳哥(不是非洲的摩洛哥)本身就是个袖珍国家,比我国澳门都小的多)。说明该方法与赌博中的随机性、概率性有着天然而密切的联系。几乎涉及到复杂的、与概率相关的数值计算的领域都有可能会用到。比如计算物理、经济金融、统计学、机器学习等。

(2)蒙特卡洛没有什么高深的理论,它只是一种方法或者说策略。

    蒙特卡洛方法并没有什么高深的理论支撑,如果一定要说有理论也就只有概率论或统计学中的大数定律了。蒙特卡洛的基本原理简单描述是先大量模拟,然后计算一个事件发生的次数,再通过这个发生次数除以总模拟次数,得到想要的结果。比如投3个骰子,计算3个骰子同时是6的概率,可以模拟投N次(随机样本数),统计同时是6出现的次数C,然后C除以N即是计算结果。

 

(3)蒙特卡洛方法可以应用在很多场合,但求的是近似解,在模拟样本数越大的情况下,越接近与真实值,但样本数增加会带来计算量的大幅上升。    

    蒙特卡洛方法不仅仅是算概率哦,再看一个稍复杂点的实例:求函数y=x2在[0,2]区间的积分,即求如下图所示的红色区域的面积。当然直接用数学中的定积分公式算更简单精确,这里主要是举例说明下蒙特卡洛方法的使用过程。

绘图代码如下:

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 2, 1000)y = x ** 2plt.plot(x, y)plt.fill_between(x, y, where=(y > 0), color='red', alpha=0.5)plt.show()

    该红色区域在一个2×4的正方形里面。使用蒙特卡洛方法,随机在这个正方形里面产生大量随机点(数量为N),计算有多少点(数量为count)落在红色区域内(判断条件为y



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3