随机过程(4)——马尔可夫链

1.前言

如约开始更新第四章——马尔科夫链。首先提醒一下想学机器学习那边的马尔科夫链,隐式马尔科夫链(HMM)的同学们绕行,这里不讲这些应用,我们只谈数学。
老师上课的时候说,这一章是最难的…我呢,只感觉上课听得有点迷糊,但是课后看看书,大致也能看得差不多。就是现在这个内容上了一个月了,经常忘了前边讲了什么了,所以我得写博客开始复习了:)
上网课时间过的还真快,3/4就过完了。

2.马尔可夫链简介

考虑一个随机过程 { X n , n = 0 , 1 , 2 , . . . } \{X_n,n=0,1,2,...\} { Xn,n=0,1,2,...}中,所有时刻的随机变量 X n X_n Xn的值都在一个有限或者可数的集合中选取。比方说本章节,默认所有的 X n X_n Xn取值都为非负整数集 { 0 , 1 , 2 , . . . } \{0,1,2,...\} { 0,1,2,...}。如果 X n = i X_n=i Xn=i,我们就说该过程在第n步处于状态i。我们再假设,不论何时处于状态i,下一步转移到状态j的概率 P i j P_{ij} Pij都是固定的。用公式写出来,就是这样:
P i j = P [ X n + 1 = j ∣ X n = i ] = P [ X n + 1 = j ∣ X n = i , X n − 1 = i n − 1 , X n − 2 = i n − 2 , . . . , X 0 = i 0 ] P_{ij}=P[X_{n+1}=j|X_n=i]=P[X_{n+1}=j|X_n=i,X_{n-1}=i_{n-1},X_{n-2}=i_{n-2},...,X_0=i_0] Pij=P[Xn+1=jXn=i]=P[Xn+1=jXn=i,Xn1=in1,Xn2=in2,...,X0=i0]
用更通俗一点的话说,就是下一个状态的转移概率只由当前状态决定。
举个例子,比方说,今天是5.10号,那么明天是几号?当然是5.11号!只要我知道了今天是几号,那么前天、大前天包括再之前是几号我全不知道,就能推测出明天是5.12号。肯定有同学觉得,这不是废话嘛!但是假如我说今天是2.28号,那明天是几号?不太严谨地说,明天有3/4的概率转移到3.1号,有1/4概率转移到2.29号。
当然,这个例子不是特别特别好,因为我知道前天是几号,我也知道明天是几号啊!但是马尔可夫链的基本性质,这个例子还是满足的,只不过规律性比马尔科夫链还强。
考虑到 P i j P_{ij} Pij表示从i转移到j的概率,而且i下一时刻一定会转移到某个状态,所以它有下面这几个性质
P i j ≥ 0 ,        i , j ≥ 0 ,        Σ j = 0 ∞ P i j = 1 P_{ij}\geq0,\ \ \ \ \ \ i,j\geq0,\ \ \ \ \ \ \Sigma_{j=0}^\infty P_{ij}=1 Pij0,      i,j0,      Σj=0Pij=1
同时,我们可以用一个矩阵 P P P表示一步转移概率,矩阵i行j列的元素就是 P i j P_{ij} Pij。同时我们也有 P n , P i j n P^n,P_{ij}^n Pn,Pijn表示多步的转移概率。
接下来书上有四个十分恶心的例子,如果懒得关注呢,就跳到后面吧。

2.1 M/G/1队列例子

Example 4.1A 假设顾客到达某个服务台的人数服从参数 λ \lambda λ的泊松过程,且该服务台只有一个服务员。如果进入服务台时,有人正在接受服务,那么就需要排队。每位顾客的服务时间都遵循独立的分布G,且G独立于顾客到来的过程。
这种排队情况被称为M/G/1,M代表顾客到达的间隔时服从指数分布,G表示服务时间是一个任意分布,1表示只有一个服务员。
在第n位顾客离开时,我们用 X n X_n Xn表示队列里还剩下的人(不包括刚走的这位)。同时,我们用 Y n Y_n Yn表示在第n+1位顾客被服务时,到达的顾客数。这样,我们可以求出 { X n } \{X_n\} { Xn}是一个马尔可夫过程,以及它的转移概率:

当前顾客离开,如果队列里还有 X n X_n Xn人且 X n > 0 X_n>0 Xn>0,那么当这位顾客开始被服务,背后只剩下 X n − 1 X_n-1 Xn1人了。在他被服务期间,还来了 Y n Y_n Yn人,所以我们可以计算出他离开时队列里剩下的人数。同样,当前顾客离开时队列空了,那么下一位顾客来时直接被服务,身后也没有人,他走后队列里剩下的人数就等同于他被服务时来的人数。这样我们可以写出如下的递推关系式:
X n + 1 = { X n − 1 + Y n , X n > 0 Y n , X n = 0 X_{n+1}=\begin{cases} X_n-1+Y_n ,X_n>0\\ Y_n,X_n=0 \end{cases} Xn+1={ Xn1+YnXn>0YnXn=0
接下来,我们只要计算出 Y n Y_n Yn的分布,就可以计算转移概率了!计算方法就是对联合概率概率进行积分。而由于计数过程和服务时间是相互独立的,所以联合概率就等于他们俩概率相乘。泊松过程的计数概率是在泊松过程那一章就已经给出了。
P [ Y n = j ] = ∫ 0 ∞ P [ N ( x ) = j ] P [ 服 务 时 间 = x ] d x = ∫ 0 ∞ ( λ x ) j / j ! × e − λ x d G ( x ) P[Y_n=j]=\int_0^\infty P[N(x)=j]P[服务时间=x]dx=\int_0^\infty (\lambda x)^j/j!\times e^{-\lambda x}dG(x) P[Yn=j]=0P[N(x)=j]P[=x]dx=0(λx)j/j!×eλxdG(x)
那么,我们根据上面的递推式子,就知道: X n > 0 X_n>0 Xn>0时,从状态 i i i转移到状态 j j j i > 0 , j ≥ i − 1 i>0,j\geq i-1 i>0,ji1,那么 Y n = 1 − i + j Y_n=1-i+j Yn=1i+j。当 X n = 0 X_n=0 Xn=0时,从状态 i i i转移到状态 j j j,那么 Y n = j Y_n=j Yn=j。因此就可以求出对应的转移概率了:
P 0 j = P [ Y n = j ] P_{0j}=P[Y_n=j] P0j=P[Yn=j]
P i j = P [ Y n = 1 − i + j ] ,            i > 0 , j ≥ i − 1 P_{ij}=P[Y_n=1-i+j],\ \ \ \ \ \ \ \ \ \ i>0,j\geq i-1 Pij=P[Yn=1i+j],          i>0,ji1
其他情况,概率都为0.

2.2 G/M/1队列例子

这个例子和上面很类似,只不过为了利用泊松过程计算计数概率的优势,我们定义一个略有差别的马尔科夫链。

Example 4.1B 假设顾客到达某个服务台的人数服从间隔时分布为G的更新过程。每位顾客的服务时间都遵循参数为 μ \mu μ的指数分布,且服务时间分布独立于顾客到来的过程。
这种排队情况被称为G/M/1,意义同上一题。
在第n位顾客到来时,我们用 X n X_n Xn表示此时队列里的人数(不包括刚来的这位,但是包括正在接受服务的人)。同时,我们用 Y n Y_n Yn表示在第n位和第n+1顾客到达之间,离开的顾客数。这样,我们可以求出 { X n } \{X_n\} { Xn}是一个马尔可夫过程,以及它的转移概率:

有了第一个例题的铺垫,这个就很好算了。首先还是算 Y n Y_n Yn的分布:
P [ Y n = j ] = ∫ 0 ∞ P [ N ( x ) = j ] P [ n + 1 位 顾 客 到 达 的 间 隔 时 = x ] d x = ∫ 0 ∞ ( μ x ) j / j ! × e − μ x d G ( x ) P[Y_n=j]=\int_0^\infty P[N(x)=j]P[n+1位顾客到达的间隔时=x]dx=\int_0^\infty (\mu x)^j/j!\times e^{-\mu x}dG(x) P[Yn=j]=0P[N(x)=j]P[n+1=x]dx=0(μx)j/j!×eμxdG(x)
当下一位顾客到来时,看到队列非空,也就是下一状态非零时的转移概率为
P i j = P [ Y n = i + 1 − j ] ,       1 + i ≥ j > 0 P_{ij}=P[Y_n=i+1-j],\ \ \ \ \ 1+i\geq j>0 Pij=P[Yn=i+1j],     1+ij>0
但是如果下一位顾客到来时,看到队列是空的,那这个情况就有点特殊了。这说明,在这段时间内,服务员服务完了 i + 1 i+1 i+1个人。但是很有可能是提前服务完了这么多人,也就是说,从泊松过程的角度看,这 i + 1 i+1 i+1个人的到达时是小于等于下一位顾客的到达时的。即:
i + 1 位 顾 客 离 开 的 到 达 时 S i + 1 ≤ 第 n + 1 位 顾 客 到 达 的 间 隔 时 t < = > N ( t ) ≥ i + 1 i+1位顾客离开的到达时S_{i+1}\leq 第n+1位顾客到达的间隔时t<=>N(t)\geq i+1 i+1Si+1n+1t<=>N(t)i+1
这个想通了之后,就很好求这个概率了。
P i 0 = P [ N ( t ) ≥ i + 1 ] = Σ j = i + 1 ∞ P [ Y n = j ] ,       1 + i ≥ j > 0 P_{i0}=P[N(t)\geq i+1]=\Sigma_{j=i+1}^\infty P[Y_n=j],\ \ \ \ \ 1+i\geq j>0 Pi0=P[N(t)i+1]=Σj=i+1P[Yn=j],     1+ij>0
书上有这么一句话:这两个例子所选择的时间点,是利用了指数分布的无记忆性。我一开始把这句话打了个问号,但是现在我理解了。我们可以看到这两个例子所选取的观察时间点,一个是顾客离开的时候,一个是顾客到达的时候,都是为了充分利用之前所学的泊松计数过程的计数概率。这样,我们可以直接写出n位顾客在t时间内到达的概率分布,如果换成别的分布,就很难求解了。

2.3 独立同分布的随机变量求和

如果定义独立同分布的一系列变量分布为:
P [ X i = j ] = a j , j = 0 , ± 1 , ± 2 , . . . P[X_i=j]=a_j,j=0,\pm1,\pm2,... P[Xi=j]=aj,j=0,±1,±2,...
然后我们定义它们的和:
S 0 = 0 , S n = Σ 0 n X i S_0=0,S_n=\Sigma_0^n X_i S0=0,Sn=Σ0nXi
那么可以看到, { S n } \{S_n\} { Sn}是一个马尔可夫链,因为
P i j = P [ X = j − i ] P_{ij}=P[X=j-i] Pij=P[X=ji]
{ S n } , n ≥ 0 \{S_n\},n\geq0 { Sn},n0被称为随机游走。可以想象,在一维空间中,某个质点在每个时间点可能向左或者向右走几步,那么我们把它的位置看作一个随机过程,那么这是一个马尔科夫链。下一位置等于当前位置加上这次的位移,就等于下一次的位置。

2.4 简单随机游走的位移绝对值

上一个例子介绍了随机游走,前几章说过简单随机游走,也就是每次只会向左或者向右走一个单位长度。现在我们假定向左走(-1)的概率为p,向右走(+1)的概率为q=1-p。现在我们定义其位移的绝对值 ∣ S n ∣ |S_n| Sn,接下来的计算表明它也是一个马尔可夫链。首先,我们先计算一个前提概率:

如果 { S n } , n ≥ 0 \{S_n\},n\geq0 { Sn},n0是一个简单随机游走,那么
P [ S n = i ∣ ∣ S n ∣ = i , ∣ S n − 1 ∣ = i n − 1 , . . . , ∣ S 1 ∣ = i 1 ] = q i / ( p i + q i ) P[S_n=i||S_n|=i,|S_{n-1}|=i_{n-1},...,|S_{1}|=i_{1}]=q^i/(p^i+q^i) P[Sn=iSn=i,Sn1=in1,...,S1=i1]=qi/(pi+qi

  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值