【Mento Carlo 1】 背后的数学理论



2017年08月17日    Author:Guofei

文章归类: 0xa0_蒙特卡洛方法    文章编号: 10001

版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/08/17/montecarlotheory.html


简介

很多地方,仿真蒙特卡洛 不做区分,但实际上他们是有区别的

  • 仿真是指利用系统设计独立的U(0,1)分布的均匀数,在计算机上进行可控的模拟实验
  • Mento Carlo指的是利用仿真所获得的数据,去估计积分(或求和)的方法

定积分的求解

求$I=\int_0^{+\infty} x^{\alpha-1}e^{-x} dx$

解法

step1:构造问题的解

如果$X\sim f(x)=e^{-x}$,那么, $EX^{\alpha-1}$就是问题的解

step2:计算问题的解

生成需要的随机数,用样本均值$\dfrac{\sum X_i^{\alpha-1}}{n}$来估计$EX^{\alpha-1}$

其原理类似点估计

step3:估计仿真的误差

上面说了,原理类似点估计,那么便可以根据类似的原理,计算需要多少次仿真模拟才能达到给定的误差。

如果进行$n_1$次小规模的仿真模拟后,样本标准差是$s_1$,方差是$s_1^2$
目标是进行$n_2$次仿真模拟,使得标准差达到$s$(注意,这是$\bar X$的标准差)

求解方法:
$Es_1^2 = DX$

$D\bar X_1=\dfrac{1}{n_1}DX$

$D\bar X_2 =\dfrac{1}{n_2}DX$

如果想让$\bar X_2$达到规定的标准差$s$,需要$n_2=\dfrac{s_1^2}{s^2}$

寻找迭代速度更快的模拟法

随机变量并不唯一:
$I=\int_0^{+\infty} x^{\alpha-1}e^{-x} dx=\int_0^{+\infty} x^{\alpha-2} x e^{-x} dx$

如果$X\sim f(x)=x e^{-x}$,那么, $EX^{\alpha-2}$也是问题的解

不同的随机变量,需要的仿真次数是不一样的。

练习题1

用1000次蒙特卡洛计算$\int_{-\infty}^{+\infty} exp(-x^2)\mid cos x\mid dx$, 如果已经产生了1000次模拟的结果,求95%置信区间。

练习题2

单位正方形区域$[0,1]^2$随机选择两个点,D是这两个点的距离
求:$P(D>1.4)$

提示,这个概率值非常小,为了提高计算效率,可以把问题分解:
step1:排除不可能的情况,如果点在某个圆内,不可能发生
step2:在余下的情况下做仿真。
step3:用条件概率解出最后结果。


您的支持将鼓励我继续创作!