MCMC(二)马尔科夫链

1.马尔科夫链概述
它假设谋一时刻状态转移的概率只依赖于它的前一个状态,因此马尔科夫链在很多时间序列模型中的得到广泛的应用,比如循环神经网络RNN、隐式马尔科夫模型HMM、以及MCMC

2.马尔科夫链模型状态转移矩阵的性质
例:其中若采用[0.7,0.1,0.2]作为初始概率分布,然后这个状态作为序列概率分布的初始状态t0,将其带入这个状态转移矩阵计算t1,t2,t3…的状态。代码如下:
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.7,0.1,0.2]], dtype=float)
for i in range(100):
vector1 = vector1*matrix
print “Current round:” , i+1
print vector1

  尽管采用不同的初始概率分布,可以发现最终状态的概率分布趋于同一个稳定的概率分布[0.625  0.3125  0.0625],也就是马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与我们的初始状态概率分布无关。也就是说,如果我们得到了这个稳定概率分布对应的马尔科夫链模型的状态转移矩阵,则我们可以用任意的概率分布样本开始,带入马尔科夫链模型的状态转移矩阵,这样经过一些序列的转换,最终就可以得到符合对应稳定概率分布的样本。
   这个性质不光对我们上面的状态转移矩阵有效,对于绝大多数的其他的马尔科夫链模型的状态转移矩阵也有效。不仅是离散状态,连续状态也成立。

3.马尔科夫链的性质:
1.非周期的马尔科夫链:这个主要指马尔科夫链的状态转化不是循环的,如果循环的则永远不会收敛。
2.任何两个状态是连通的:这个指的是从任意一个状态可以通过有限步到达其他任意的一个状态,不会出现条件概率一直为0导致不可达的情况。

4.基于马尔科夫链采样
如果得到某个平稳分布所对应的马尔科夫链状态转移矩阵,就可以采用这个平稳分布的样本集
采样过程:
1.输入马尔科夫链状态转移矩阵P,设定状态转移次数为n1,需要样本个数n2
2.从任意简单概率分布采样得到初始状态值x0
3.从t=0到n1+n2-1:从条件概率分布P(x|xt)中采样得到样本xt+1
样本集(xn1,xn1+1,…,xn1+n2-1)即为我们需要的平稳分布对应的样本集

小结:如果假定我们可以得到我们需要采样样本的平稳分布所对应的马尔科夫链状态转移矩阵,那么就可以用马尔科夫链采样得到我们需要的样本集,进而进行蒙特卡罗模拟。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值