Metropolis算法有两种计算积分时的产生随机数的方法:
已知目标概率分布 p(x) ,使用蒙特卡洛方法对该目标函数进行抽样。
已知转移概率分布,给定初始概率分布,markov会迭代趋于稳定分布。
这里Metropolis算法是依赖于第一种情况:已知目标概率分布,从中得到样本
markov链的最基本性质:当前状态仅取决于前一个状态。
方法大致流程
基于当前随机数 a 产生新的随机数 b
该随机数 b 以一定概率被接受或者拒绝
接受的 b 作为下一次迭代的随机数,拒绝则使用当前随机数 a 作为用作下一次迭代的随机数
基本步骤
假如我们要产生符合概率密度为p(x)的分布:
直观上看,产生的一系列随机数中,概率分布p(x)越高的区域,随机数的数量越高。