【发布时间】:2019-03-23 10:12:48
【问题描述】:
我正在蒙特卡洛课程做作业,我被要求找到一个具有 6 个状态的马尔可夫链矩阵,即 0、1、2、3、4、5 这样,在足够长的时间之后,我们花费的时间与数字成正比 5、10、5、10、25、60 在每个州。
如果我们有转移矩阵,我看到这是我们得到的固定向量。我必须使用 Metropolis 算法,但是我找到的所有解释和示例都是基于 Metropolis-Hasting 算法的。
我拥有的算法的伪代码:
select x
Loop over repetitions t=1,2...
select y from Nx using density Gx
put h=min(1, f(y)/f(x))
if U ~ U(0, 1) < h then x <- y
end loop
我正在寻找一步一步的解释如何为给定的问题实现算法,最好是在 python 中!
【问题讨论】:
-
你有没有尝试过?您的具体技术问题是什么?
-
我试图找到算法的简单实现,以便理解这个概念,因为我所拥有的只是教科书中的一段伪代码,我无法理解。
-
如果您发布伪代码,我们或许可以为您提供更好的帮助。
-
刚刚将伪代码作为编辑添加到帖子中
标签: python markov-chains mcmc