马尔卡夫链

本文介绍了马尔卡夫链的基本概念,强调了其状态转移仅依赖于前一状态的概率特性。讨论了状态转移矩阵的性质,如收敛到稳定分布与初始状态无关,并通过Python代码演示了马尔科夫链的迭代过程。此外,文章还解析了马尔科夫链的周期性和连通性对收敛的影响,以及如何利用它进行采样。
摘要由CSDN通过智能技术生成
  • 马尔卡夫链介绍

则假设我们的序列状态是...Xt−2,Xt−1,Xt,Xt+1,......Xt2,Xt1,Xt,Xt+1,...,那么我们的在时刻Xt+1Xt+1的状态的条件概率仅仅依赖于时刻XtXt,即:

P(Xt+1|...Xt2,Xt1,Xt)=P(Xt+1|Xt)

既然某一时刻状态转移的概率只依赖于它的前一个状态,那么我们只要能求出系统中任意两个状态之间的转换概率,就能确定马尔卡夫链模型。

  • 马尔科夫链模型状态转移矩阵的性质

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

程序代码:

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)

程序截图:

马尔科夫链的收敛性质

如果一个非周期的马尔科夫链有状态转移矩阵PP, 并且它的任何两个状态是连通的,那么limnPnijlimn∞Pijni无关,我们有:

1

             limn∞Pnij=π(j)

2

3

4

上面的性质中需要解释的有:

    1)非周期的马尔科夫链:这个主要是指马尔科夫链的状态转化不是循环的,如果是循环的则永远不会收敛。幸运的是我们遇到的马尔科夫链一般都是非周期性的。用数学方式表述则是:对于任意某一状态id为集合{nn≥1,Pnii>0}{nn≥1,Piin>0} 的最大公约数,如果 d=1d=1 ,则该状态为非周期的

    2)任何两个状态是连通的:这个指的是从任意一个状态可以通过有限步到达其他的任意一个状态,不会出现条件概率一直为0导致不可达的情况。

    3)马尔科夫链的状态数可以是有限的,也可以是无限的。因此可以用于连续概率分布和离散概率分布。

4ππ通常称为马尔科夫链的平稳分布。

总结下基于马尔科夫链的采样过程:

    1)输入马尔科夫链状态转移矩阵PP,设定状态转移次数阈值n1n1,需要的样本个数n2n2

    2)从任意简单概率分布采样得到初始状态值x0x0

    3for t=0t=0 to n1+n2−1n1+n2−1: 从条件概率分布P(x|xt)P(x|xt)中采样得到样本xt+1xt+1

    样本集(xn1,xn1+1,...,xn1+n2−1)(xn1,xn1+1,...,xn1+n2−1)即为我们需要的平稳分布对应的样本集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值