马尔科夫链模型的状态转移矩阵的性质(收敛):
import numpy as np
matrix = np.matrix([[0.9,0.075,0.025],[0.15,0.8,0.05],[0.25,0.25,0.5]], dtype=float)
vector1 = np.matrix([[0.3,0.4,0.3]], dtype=float)
for i in range(100):
vector1 = vector1*matrix
print("Current round:" , i+1)
print (vector1)
运行代码如图所示:
我的理解:etropolis采样算法的流程:
·初始化时间t =1
·设置u的值,并初始化初始状态t)= u·重复一下的过程:
(1)令t =t+1
(2)从已知分布中生成一个候选状态
(3)计算接受的概率α
(4)从均匀分布Uniform(0,1)生成一个随机值a
(5)如果a≤α,接受新生成的值等于候选状态;否则:继续迭代
·直到t =T
相关代码还在整理,等推理过程全部弄清楚再重新发一篇