Metropolis算法求解积分问题

521 阅读1分钟

Metropolis算法有两种计算积分时的产生随机数的方法:

已知目标概率分布 p(x) ,使用蒙特卡洛方法对该目标函数进行抽样。

已知转移概率分布,给定初始概率分布,markov会迭代趋于稳定分布。

这里Metropolis算法是依赖于第一种情况:已知目标概率分布,从中得到样本

markov链的最基本性质:当前状态仅取决于前一个状态。

方法大致流程

基于当前随机数 a 产生新的随机数 b

该随机数 b 以一定概率被接受或者拒绝

接受的 b 作为下一次迭代的随机数,拒绝则使用当前随机数 a 作为用作下一次迭代的随机数

基本步骤

假如我们要产生符合概率密度为p(x)的分布:

image.png

直观上看,产生的一系列随机数中,概率分布p(x)越高的区域,随机数的数量越高。

image.png