马氏链在暂态停留的时间

在马氏链的长程性质和其稳态概率那里我们讨论都是常返马氏链(不可约)在某个状态上停留的时间比例,这个时间比例也称为稳态概率,它等于这个不可约的常返马氏链从状态j出发首次回到自身所需转移次数的期望的倒数。

这里我们主要考虑有限状态的马氏链在暂态类中某个状态上的停留时间。

从暂态到暂态的停留时间

设一个有限状态的马氏链的暂态类为T={1,2,...,t}, 且有在其上的暂态转移概率

PT=[P11P12P1tPt1Pt2Ptt]

现在我们考虑这个开始于i的马氏链在状态j上的平均停留时间sij(i,jT)(从i达到j之后,之后再达到j的过程就是jj的过程了,这是对下面例子中的"最后"一词的预先解释),可以对初始转移取条件,那么可以得到下式
sij=kPskskj
这个式子描述了取从i的一步转移到k,然后考虑从k开始在j上的平均停留时间,然后对k求和。那么如果在开始时ij相等呢?这意味着在刚刚开始时就已经以概率1在j上停留了1个时间了,而上面这个式子却没有描述到这种情况,就算取i=j,它描述的是从j出发到自身的转移时间,并没有算上刚刚开始的这1个时间,但是如果在开始时ij的情况下,上述的求和式就是对的,所以综合考虑之下有
sij=δij+kPskskj
其中δij=1当且仅当i=j,其他情况下为0. 接下来,对于第一步转移到的k,如果它是个常返态,那么对于它即将到达的暂态j来说,j就可以无限次地被访问到,这就有悖于它为暂态的设定,所以这一步转移到的k只能是个暂态,那么就有
sij=δij+k=1tPskskj
kT. 我们的目标是要求每一对i,jsij, 我们考虑矩阵S

S=[s11s12s1tst1st2stt]

显而易见的是对角线上的元素都满足δ=1且考虑到sij的计算方式,矩阵S可以写为
S=I+PTS
进一步解这个关于S的方程,可以得到
S=(IPT)1
这样知道矩阵的暂态的转移概率后就可以计算出S,即初始状态在暂态i的马氏链在暂态j上停留的时间了。

现在我们考虑马氏链中的暂态的可达问题,即对于i,jT, Pijk 表示从i出发经过k步可达j, 现在我们还不知道这个k是有限的还是无限的。我们令Pijk=fij, 接下来我们就要根据sij来求fij
sij=E{j停留的时间|i出发}=E{j停留的时间|i出发并达到j}fij+E{j停留的时间|i出发j}(1fij)
到这里你可能会问,你这i都达不到j了,它怎么会对sij有贡献呢?实际上使得第二项不为0的唯一一种情况是i=j,所以第二项化为
E{j停留的时间|i出发j}(1fij)=δij(1fij)
而对于第一项,它也会有i=j的情况(也就是说i达到或者达不到j的情况下都会有i=j的讨论);当ij时,i达到j的情况下在j的停留时间的期望实际上等价于从j出发并在j上停留的时间期望,而这个期望时间为sjj, 所以第一项可以化为
E{j停留的时间|i出发并达到j}fij=(δij+sjj)fij
那么关于fij的方程就为
sij=(δij+sjj)fij+δij(1fij)
解得fij
fij=sijδijsjj
sjj正向接近于1时,说明从j出发并在j上停留的平均时间接近于1,这说明链从j开始就基本上没有回到过j, 此时fij=sijδij 如果ij,就有fij=sij,而 fij1,所以有sij1 这符合前面的链从j开始就基本上没有回到过j上的判断。

一个例子--赌徒赌博问题

一个赌徒,他在每次赌博中依概率p赢一个单位(筹码),并以概率q=1p输一个单位,假设各次赌博都是独立的,赌徒在开始有i个单位,问他的财富在达到0之前先达到N的概率是多少?

虽然每次赌博是相互独立的,但是赌徒在每次开始赌博之前,它手中的筹码是上一局的筹码加1或者减1,所以可以使用马氏链来建模并分析整个过程。

首先用Xn表示赌徒在第n次赌博开始时手中的筹码, X0=i, 规定在赌徒的筹码达到0或者N时就不再进行赌博,那么{Xn,n0}表示的马氏链的转移概率为
P00=PNN=1;Pi,i+1=p=1Pi,i1,i={1,2,3,...,N1}
可以小提一下的是这里Pi,i+1=1Pi,i1也说明了赌徒每次赌博的结果只有两种i+1,i1,这和随机游走比较相似了。回到这里,我们感兴趣的是赌徒在初始有i个筹码的情况下其筹码最后(这里$P_{NN} =1 ""N)N$的概率,之所以这里不再强调他的财富在达到0之前是因为已经规定了P00=1,也就是说它如果在过程中筹码如果达到0了就会被困住(吸收掉),不会再参与到过程中来了,更不要提最后达到N了。

Pi表示赌徒在初始有i个筹码的情况下首次达到N的概率,那么同样地,对首次转移取条件得到
Pi=pPi+1+qPi1(p+q)Pi=pPi+1+qPi1
那么可以得到关于它们的递推式
Pi+1Pi=qp(PiPi1),i=1,2,...,N1
采取归纳的方式我们可以得到
PiP1=P1[(qp)+(qp)2++(qp)i1]
进而可以得到
Pi={1(qp)iP11(qp)if qp iP1if q=p
因为PN=1, 代入可解出P1, 那么最终Pi
Pi={1(qp)i1(qp)Nif qp iNif q=p
例如,如果A与B赌博,A以0.6的概率获胜,若A以5个筹码开始,B以10个筹码开始,那么A在破产产让B输光的概率就是1(23)51(23)15=0.87

需要注意的是赌徒问题中, 状态0和状态N是常返态,而其他状态则是暂态,所以这个马氏链的状态类有三种,即{0}, {1,2,...,N1}, {N}. 现在考虑这样的问题,假设p=0.4,N=7, 开始时有3个筹码,那么赌徒有5个筹码的平均时间是多少?那么马氏链{Xn,n0}的状态类有三种{0},{1,2,3,...,6},{7}, X0=3, Xn=5说明我们研究的问题是一个从暂态到暂态的停留时间的问题,所以可以根据上面的步骤根据p先写出状态转移矩阵,完事儿以后计算S矩阵,最后的S35即为所求。

在这个问题的假设的基础上我们考察赌徒最终有1个筹码的概率,按照上面的fij的定义,我们可以比较轻松的计算出这个概率为
f31=S31S11=0.8797
在这里停顿一下,这个问题也可以使用前面的那个Pi的公式,前面的那个Pi的公式描述的是初始有i个筹码在破产前有N个筹码的概率,也就是初始时有i个筹码在筹码减少到0之前赢了Ni个筹码,(这里减少到0之前其实表述的就是在达到常返态之前)。而要用这个公式,得把f31的表述换到Pi的上下文中,f31表示初始时有3个筹码的情况下,在达到常返态之前有一个筹码的概率,而这里常返态有0,7,也就是说在初始时有3个筹码的情况下在增加4个筹码之前减少到1个筹码的概率(达到常返态7),而这由等价于初始时有2个筹码在达到6个筹码(这里6就是新的常返)之前达到0个筹码(破产)的概率,说它们是等价的是因为任何一条从31的路径都可以映射到从20的路径。所以我们这里构造了一条新的链,它的常返态分别是0,6;而之间的整数则是暂态,所以求f31就转化为求初始时有两个筹码在达到6个筹码前破产的概率,而这个事件则是事件 B:初始时有两个筹码在破产前达到6个筹码的概率 的补集,因为对达到6个筹码前破产取非表示希望达到6个筹码这个事件可以出现在破产这个事件前,即对应于B事件,所以根据Pi的公式,我们有
f31=11(0.6/0.4)21(0.6/0.4)6=0.8797
一句话总结上面这种做法的思路就是将暂态到暂态的概率通过将其中一个暂态映射到新的链的常返态中,这样就可以回到最初的赌徒的赌博问题,且这里新的链的转移概率等于最初的赌徒赌博问题的转移概率。

posted @   SiranLee  阅读(333)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示