蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图


蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图

文章插图
蒙特卡罗方法是一种通过随机变量的数字模拟和统计分析来求取数学物理、工程技术问题近似解的数值方法,基本步骤:随机变量的抽样试验 。按基本随机变量(输入随机变量)的已知概率分布进行随机抽样(数字模拟) 。样本反应求解 。对每个抽取的样本,按问题的性质采用确定性的控制数学、物理方程求取样本反应 。计算反应量的统计量估计 。对所有样本反应,按所求解答的类型分别求取输出随机变量的均值、方差或概率分布 。
蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图

文章插图
当求解确定性问题时,首先,要根据所提出的问题构造一个简单、适用的概率模型,使问题的解对应于该模型中随机变量的某些数字特征(如概率、数学期望、方差等);然后,在高速运行的计算机上生成随机数,并对随机数进行统计分析试验;最后,利用试验所获结果求出统计特征的估计值作为问题的近似解 。总结以上思想,可以得出利用蒙特卡罗方法求解确定性问题的基本步骤为:
(1)根据所要求解的实际问题来构造概型,并使概型的某些统计特征恰好相当于所要求的问题的解 。
(2)根据所建立的概率模型,设计、使用一些加速收敛的方法,以求加速收敛并提高计算精度 。
(3)给出在计算机上产生概型中各种不同分布随机变量的方法 。
(4)统计处理模拟结果,给出问题的近似解并做解的精度估计 。
蒙特卡罗方法虽然可以求解许多确定性工程技术问题,但其独到之处还应该在于求解随机性问题 。用蒙特卡罗方法求解随机性问题时,一般首先,根据问题的物理性质建立随机模型;然后,再根据模型中各个随机变量的分布,在计算机上产生随机数,进行大量的统计试验,以取得所求问题的大量试验值;最后,根据这些试验结果求它的统计特征量,从而获得所求问题的解 。由此可见,用蒙特卡罗方法求解随机问题的步骤与求解确定性问题的步骤基本一致 。
总之,蒙特卡罗方法的理论基础是概率论中的大数定律 。设在N次独立试验中,n为事件A出现的次数,而P(A)为事件A在每次试验中出现的概率,贝努利大数定律指出,对于任意ε>0,当N→∞时,事件A出现的频率的概率收敛于事件的概率 。
蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图

文章插图
地下水系统随机模拟与管理
当随机变量满足独立分布时,若随机变量序列ξ1,ξ2,…,ξN的分布相同,ξi具有有限的数学期望E(ξi)=a,i=1,2,…,N,则根据柯欠莫哥洛夫大数定律,对于任意的ε>0,当N→∞时,变量ξi将以概率1收敛于期望值a 。
在蒙特卡罗方法中,采用简单抽样方法进行随机变量的数字模拟,因此其所抽取的子样为具有同分布性质的独立随机变量,当抽取的样本个数足够大时,样本均值将以概率1收敛于分布均值,而事件A出现的频率则以概率收敛于事件A出现的概率,这样就保证了蒙特卡罗方法的概率收敛性 。
根据所求解问题性质的不同,其基本随机变量可能属于不同的概率分布,为了产生不同分布类型的随机变量的抽样值(随机数),一般需先产生一个在[0,1]上均匀分布的随机变量的抽样值,然后按照给定的概率分布类型将其转化为所需随机变量的抽样值 。因此,均匀分布随机变量随机数的生成是蒙特卡罗方法实现的基础 。利用数值法产生的均匀随机变量的抽样值称之为伪随机数,这是因为数值方法的基础是某一数学递推公式,按这类递推公式产生的抽样与[0,1]均匀分布中的抽样在统计性质上不可能完全相同 。
蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图

文章插图
数学递推公式的一般形式是:
式中:f(xn,xn-1,…,xn-k)——某一给定的函数形式 。根据这一函数式,当给定一组初值,x0,x-1,…,x-k后,便可依次求出x1,x2,…,xm…最常用的(0,1)均匀分布随机数生成的递推公式有:
乘同余法 。用以产生(0,1)均匀分布随机数的递推公式为:
式中:λ,M和x0——预先给定的常数 。
式(2、4)的意义是指以M除以λxi-1后得到的余数记为xi 。由于是余数 。
如此所得的随机数序列r1,r2,…,ri为具有(0,1)均匀分布的随机数 。
由式(2、4)不难看出,不同的xi最多只能有M个,相应地不同的随机数ri也最多只能有M个 。所以当产生的随机数ri个数多于M个时,就会出现循环数,这样,便再不能看成是随机数 。为了使所产生的随机数能经得住数理统计中的独立性和均匀性检验,需要合理选择随机数生成参数x0,λ及M 。
【蒙特卡罗方法 蒙特卡罗方法计算圆周率python循环并绘制折线图】