随机过程(下):Markov Jump与Kolmogorov equation

之前我们介绍了离散时间离散状态的马尔可夫链,这次就主要来谈一下连续时间的马尔可夫链,也就是所谓的Markov Jump。

连续时间和离散时间,带来最大的区别就在于转移概率,这就有点像速度这个概率,你可以用一秒一米表示速度,可是如果时间是一瞬间,应该怎么表示速度呢,答案是微分,对于转移概率也是一样。

通过对转移概率进行微分,就引出了transition rate:

μ i j = l i m h → 0 p i j ( h ) h \mu _{ij} = lim_{h \to 0} \frac{p_{ij}(h)}{h} μij=limh0hpij(h)

由transition rate进一步可构建出intensity matrix:

A ( t ) = ( μ i j ( t ) ) k ∗ k A(t) = ( \mu_{ij}(t))_{k*k} A(t)=(μij(t))kk

上面两个概念都是转移概率和转移矩阵在Markov Jump的引申。可以看出,当时间连续的时候,我们的定义、计算都应该调整为瞬时,也就是进行微分。

除了以上这些基本的概念,Markov Jump还有一些其他内容值得探讨,而这些内容其实都是由状态会在瞬间发生变化这个特点引申的一些思考。第一个是occupancy probability,状态可能瞬间改变,也可能保持在同一个状态一段时间,那么一直保持当前状态的概率是多少呢,occupancy probability研究的就是这个问题:

p i i ‾ ( x , x + t ) = P r ( Y x + s = i : 0 ≤ s ≤ t ∣ Y x = i ) = e ∫ x x + t μ i i ( s ) d s p_{\overline {ii}}(x, x+t) = Pr(Y_{x+s} = i:0\leq s \leq t | Y_x = i) = e ^{\int _x ^{x+t} \mu_{ii}(s)ds} pii(x,x+t)=Pr(Yx+s=i:0stYx=i)=exx+tμii(s)ds

第二个是residual holding time,表示从当前开始在时间段t内状态保持不变的概率:

P r ( R x > t ∣ Y x = i ) = p i i ‾ ( x , x + t ) Pr(R_x > t| Y_x = i) = p_{\overline{ii}}(x, x+t) Pr(Rx>tYx=i)=pii(x,x+t)

其中,Rx表示从时间x到下一次状态转移的时间间隔。等式左边表示发生状态转移所需要的时间大于t的概率,等式右边表示在时间t内保持状态不变的概率,所以两者是相等的。

第三个是holding(waiting) time:

P r ( W x ( i ) > t ∣ Y x = i ) = p i i ‾ ( x , x + t ) Pr(W_x(i) > t| Y_x = i) = p_{\overline{ii}}(x, x+t) Pr(Wx(i)>tYx=i)=pii(x,x+t)

其中W_x(i)指从时刻x进入状态i开始处于状态i的完整时间,感觉这个概念和residual holding time有点像又不是完全一样,holding time针对完整的处于状态i的时间,而residual holding time则是针对剩余的时间。

从连续时间的马尔科夫链其实也可以转化为离散时间的马尔科夫链,因为并不是每一个时刻状态都发生转移,所以我们可以定义Wn为从n-1到n次状态转移间隔的时间,并进一步定义:

Y ~ n = Y W 1 + W 2 + . . . + W n \widetilde Y_n = Y_{W_1 + W_2 + ... + W_n} Y n=YW1+W2+...+Wn

这里也不难理解,其实就是把发生状态转移的时刻抽出来,和状态一起构成一个新的随机变量族,这时候这个随机过程过程就变成了离散时间的马尔科夫链,并称他为jump chain,值得注意的是,这是针对time-homogeneous Markov jump process做的转换。

上面都是一些比较基本的内容,最后再说一下Chapman-Kolmogorov equation,它主要用来计算状态i经过多次转移到达状态j的概率,分为离散和连续两种情况讨论,假设我们讨论的是Time-homogeneous Markov chain,也就是转移矩阵不随时间改变,对于Time-homogeneous Markov chain的转移概率定义一种简化的写法:

p i j ( m ) = p i j ( 0 , m ) p_{ij}(m) = p_{ij}(0,m) pij(m)=pij(0m)

首先看看离散的情况下怎么计算状态i经过多次状态转移到达状态j的概率:

p i j ( m , n ) = ∑ k ∈ S p i k ( m , m + 1 ) p k j ( m + 1 , n ) p_{ij}(m,n) = \sum _{k \in S} p_{ik}(m,m+1) p_{kj}(m+1,n) pij(m,n)=kSpik(m,m+1)pkj(m+1,n)

其中n=m+2,对于n>m+2的情况,有:

p i j ( m , n ) = ∑ i 1 , . . . , i l ∈ S p i , i 1 ( m , m + 1 ) . . . p i l , j ( n − 1 , n ) p_{ij}(m,n) = \sum _{i_1,...,i_l \in S} p_{i,i_1}(m,m+1)...p_{i_l,j}(n-1,n) pij(m,n)=i1,...,ilSpi,i1(m,m+1)...pil,j(n1,n)

上式的意思就是其实就是把m到n中每一步所有可能的状态转移都计算一遍最后再加起来,而这条公式也就是Chapman-Kolmogorov equation。

看着复杂,其实真的很简单,我们只需要随便写一个初始概率分布,比如一个13的矩阵,写一个33的转移矩阵,做乘法会得到新的概率分布(依然是一个1*3的矩阵),其中状态一的概率,其实就是等于状态一、二、三的分布概率乘以它们转移到状态一的概率的和,说着拗口,算一下就知道的了。

重复上述的步骤,其实我们就能算出未来每个时刻的概率分布状况。所以回到最初的问题,怎么预测天气,如果转移矩阵假设保持不变,然后初始化概率分布,让今天的天气对应的概率为1,其他为0,然后不断乘以转移概率,就能陆续得到接下来每一天的天气了。

对于连续的情况,我们有两条方程。Kolmogorov’s forward differential equation:

d d t p i j ( t ) = ∑ k ∈ S p i k ( t ) μ k j \frac{d}{dt}p_{ij}(t) = \sum _{k\in S} p_{ik}(t) \mu _{kj} dtdpij(t)=kSpik(t)μkj

同时也有Kolmogorov’s backward differential equation:

d d t p i j ( t ) = ∑ k ∈ S μ i k p k j ( t ) \frac{d}{dt}p_{ij}(t) = \sum _{k\in S} \mu _{ik} p_{kj}(t) dtdpij(t)=kSμikpkj(t)

具体的推导是从离散的形式进行微分得到的,这里暂不展开了。

关于Kolmogorov differential equation的求解有几种方法,Triangularisation、Matrix eigenvalues and eigenvectors、Linear differential equations,有兴趣的可以深入了解一下。

以上就是随机过程的一些基本内容,我们学习的时候,其实会更加注重对马尔科夫链的性质的分析、Kolmogorov differential equation的求解等等,除此之外,还有一些实例的分析,比如泊松过程,如果想要深入学习随机过程,最好还是找本教材看看。

有些地方我可能也理解得不够透彻,如果有错误或者疑问欢迎指出交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值