\( P\left( \bar{x} \right) =\sqrt{\cfrac{M}{2\pi \sigma ^2}}\exp \left[ -\cfrac{M\left( \bar{x}-\left< x \right> \right) ^2}{2\sigma ^2} \right] \)
蒙特卡洛(Mento Carlo)的基本思想是将计算问题转变为统计问题。如果要计算一个积分
\( I=\int{dxF\left( x \right)} \)
我们可以将之重新写为
\( I=\int{dx\cfrac{F\left( x \right)}{P\left( x \right)}P\left( x \right)}=\int{dxf\left( x \right) P\left( x \right)} \)
其中\(P(x)\)是一个概率分布,满足\(\int{dxP\left( x \right)}=1\)且\(P(x) \geqslant 0\)
如果此积分的样本量足够大,并且每个样本的取值符合分布\(P(x)\),那么可以用下式估计此积分的算术平均值(证明)
\( I=\lim _{M\rightarrow \infty}\cfrac{1}{M}\sum_i{f\left( x_i \right)} \)
相比于格点计算(将空间划分为细小的格子,将积分转化为求和),蒙特卡洛方法在维度较高(多元函数)的情况下,计算量并没有迅速增大。因此对于高维积分的计算,蒙特卡洛算法的优势十分明显。
因此蒙特卡洛算法分为:采样(对特定分布\(P(x)\)取点)+计算(计算积分的期望值)
如果知道取样点的分布情况\(P(x)\),可以采用直接采样的方法取点。但对于高维复杂积分可能无法做到这一点,因此需要采用随机行走演化生成一组样本。
如果我们有一个样本,那么就可以用马尔可夫链(Markov chain)来寻找下一个样本。
\(x_{n+1}=F\left( x_n,\xi _n \right) \)
此式表示下一个样本取决于当前样本与一个微小的随机变量。
主方程
\( P_{n+1}\left( x^{\prime} \right) =\sum_x{P_{joint,n}\left( x^{\prime},x \right) =\sum_x{P\left( x^{\prime}|x \right) P_n\left( x \right)}} \)
此式表示下一个样本的满足的分布是当前样本与转移概率\(P\left( x^{\prime}|x \right)\)(即当前样本转移到下一个样本的概率)之积并求和。
该过程满足细致平衡条件
\( P\left( x^{\prime}|x \right) P\left( x \right) =P\left( x|x^{\prime} \right) P\left( x^{\prime} \right) \)
马尔可夫过程并没有具体给出当前样本分布与下一个样本分布之间的具体关系,Metropolis-Hastings给出了一种方法。
将转移概率写作“试探概率”与“接收概率”之积
\( P\left( x^{\prime}|x \right) =T\left( x^{\prime}|x \right) A\left( x^{\prime}|x \right) \)
试探\(T(x^{\prime}|x)\)为提出某种移动,如果这种移动合适,则被\(A(x^{\prime}|x)\)接收;如果不合适则舍弃。
接收概率\(A(x^{\prime}|x)\)定义为
\( A\left( x^{\prime}|x \right) =\min \left\{ 1,\cfrac{P\left( x^{\prime} \right) T\left( x|x^{\prime} \right)}{P\left( x \right) T\left( x^{\prime}|x \right)} \right\} \)
在马尔可夫过程中,试探分布为\(T(x_{k+1}|x)\),如果\(\frac{P\left( x_{k+1} \right) T\left( x|x_{k+1} \right)}{P\left( x \right) T\left( x_{k+1}|x \right)} > 1\),则本次行走有效;否则拒绝本次行走。即使本次未发生行走,仍然要记录该样本(即将原本的数据又采样了一次),否则会破坏细致平衡条件。
将试探概率取为某个区间时
\( T\left( x^{\prime}|x \right) =\begin{cases} \frac{1}{\Delta}\,\,\quad |x^{\prime}-x|<\Delta /2\\ 0 \qquad other\\ \end{cases} \)
接收概率的形式将被简化为
\(A(x^{\prime}|x)=\min \left\{ 1,\cfrac{P(x^{\prime})}{P(x)} \right\} \)
\( I=\int{dxf\left( x \right)}=\int{dx\cfrac{f\left( x \right)}{P\left( x \right)}P\left( x \right)}=\int{dxg\left( x \right) P\left( x \right)} \)
当选取的概率分布\(P(x)\)与原函数\(f(x)\)十分接近时,那么在重要区间的取点会比较多,结果较精确;当选取的概率分布\(P(x)\)与原函数\(f(x)\)完全无关时,在非重要区间取了大量的点,而在重要区间的取点寥寥无几,这将会造成期望值对重要区间的信息不足,导致误差较大。因此在实际取点时,要尽量选取接近真实值的分布,引导涨落降低。