• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何在使用Metropolis-Hastings算法时决定步长

numpy 来源:Dingbao Xie 4次浏览

我有一个关于Metropolis-Hastings算法的简单问题。 假设分布只有一个变量x,x的取值范围是s = [ – 2^31,2^31]。如何在使用Metropolis-Hastings算法时决定步长

在抽样过程中,我需要提出一个新的x值,然后决定是否接受它。

x_{t+1} =x_t+\epsilon 

如果我想自己实现它,如何决定\ epsilon的值。

基本的解决方案是从Uniform [-2^31,2^31]中选择一个值并将其设置为\ epsilon。如果数值范围是无限的,如[-inf,inf]怎么办?

当前MCMC库(例如pymc)如何解决该问题?

===========解决方案如下:

最好的方法是编码自调整算法,该算法以步长方差的任意方差开始,并随着算法的进展调整该方差。您正在拍摄Metropolis算法的验收率为25-50%。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)