马尔科夫链(一)

news/2024/11/27 21:32:54/

马尔科夫链(一)

文章目录

  • 马尔科夫链(一)
    • @[toc]
    • 1 马尔可夫链
    • 2 转移概率
      • 2.1 一步转移
      • 2.2 多步转移
    • 3 C-K方程
    • 4 矩阵运算方法

1 马尔可夫链

定义:设随机过程 X n ( n = 0 , 1 , 2 … ) X_n(n=0,1,2\dots) Xn(n=0,1,2)在有限集合内取值, X n X_n Xn的所有可能取值称为状态。定义转移概率
p n + 1 ( i , j ) = P ( X n + 1 = j ∣ X n = i , X n − 1 = i n − 1 , … X 0 = i 0 ) p_{n+1}(i,j)=\mathbb{P}(X_{n+1}=j|X_n=i,X_{n-1}=i_{n-1},\dots X_0=i_0) pn+1(i,j)=P(Xn+1=jXn=i,Xn1=in1,X0=i0)
即在随机过程 X n X_n Xn的所有历史状态下, X n + 1 X_{n+1} Xn+1的条件概率为 p n + 1 ( i , j ) p_{n+1}(i,j) pn+1(i,j)。如果 n + 1 n+1 n+1期的状态只与本期 X n X_n Xn有关,而与历史状态 X n − k ( k = 1 , 2 , … n ) X_{n-k}(k=1,2,\dots n) Xnk(k=1,2,n)无关,则称随机过程 X n X_n Xn具有马氏性,即
p n + 1 ( i , j ) = P ( X n + 1 = j ∣ X n = i ) p_{n+1}(i,j)=\mathbb{P}(X_{n+1}=j|X_n=i) pn+1(i,j)=P(Xn+1=jXn=i)
对于任意时期 n n n,若
p n + 1 ( i , j ) = p n + 2 ( i , j ) = p n + 3 ( i , j ) = … p_{n+1}(i,j)=p_{n+2}(i,j)=p_{n+3}(i,j)=\dots pn+1(i,j)=pn+2(i,j)=pn+3(i,j)=

P ( X n + 1 = j ∣ X n = i ) = P ( X n + 2 = j ∣ X n + 1 = i ) = … \mathbb{P}(X_{n+1}=j|X_n=i) =\mathbb{P}(X_{n+2}=j|X_{n+1}=i)=\dots P(Xn+1=jXn=i)=P(Xn+2=jXn+1=i)=

即条件概率与初始时点无关,则称 X n X_n Xn为具有时间齐次性的马尔可夫链,简称时齐性马尔可夫链。后文默认的马尔科夫链都是时齐性的。关于马尔科夫链的链的理解:
X n + 1 ← X n ← X n − 1 ← X n − 2 … X_{n+1}\gets X_{n}\gets X_{n-1}\gets X_{n-2}\dots Xn+1XnXn1Xn2
X n + 1 X_{n+1} Xn+1只与 X n X_{n} Xn有关, X n X_{n} Xn只与 X n − 1 X_{n-1} Xn1有关……就如同一个链条,将相邻时期的随机过程 X n X_{n} Xn串联起来。


2 转移概率

2.1 一步转移

:在抽奖试验中,试验结果只有2元与0元,且抽奖成本为1元。设抽中的概率为0.4,为抽中的概率为0.6。某人退出试验的条件是要么身无分文,要么达到一定金额 N N N离开。

X n X_n Xn表示某人 n n n次抽奖后的金额, X n + 1 X_{n+1} Xn+1只与 X n X_n Xn有关,而与之前的状态 X n − 1 , X n − 2 … X 0 X_{n-1},X_{n-2}\dots X_0 Xn1,Xn2X0无关,则 X n X_{n} Xn具有马氏性,即
p n + 1 ( i , j ) = P ( X n + 1 = j ∣ X n = i , X n − 1 = i n − 1 , … X 0 = i 0 ) = P ( X n + 1 = j ∣ X n = i ) \begin{aligned} p_{n+1}(i,j)=&\mathbb{P}(X_{n+1}=j|X_n=i,X_{n-1}=i_{n-1},\dots X_0=i_0)\\ \\ =&\mathbb{P}(X_{n+1}=j|X_n=i) \end{aligned} pn+1(i,j)==P(Xn+1=jXn=i,Xn1=in1,X0=i0)P(Xn+1=jXn=i)
其中转移概率 p ( i , j ) p(i,j) p(i,j)满足
p n + 1 ( i , j ) = P ( X n + 1 = j ∣ X n = i ) p_{n+1}(i,j)=\mathbb{P}(X_{n+1}=j|X_n=i) pn+1(i,j)=P(Xn+1=jXn=i)
n n n次抽奖过程中,有第 i i i元变为 i − 1 i-1 i1元的概率为
p ( i , i − 1 ) = P ( X n + 1 = i − 1 ∣ X n = i ) = 0.6 p(i,i-1)=\mathbb{P}(X_{n+1}=i-1|X_n=i)=0.6 p(i,i1)=P(Xn+1=i1∣Xn=i)=0.6
n n n次抽奖过程中,有第 i i i元变为 i + 1 i+1 i+1元的概率为
p ( i , i + 1 ) = P ( X n + 1 = i − 1 ∣ X n = i ) = 0.4 p(i,i+1)=\mathbb{P}(X_{n+1}=i-1|X_n=i)=0.4 p(i,i+1)=P(Xn+1=i1∣Xn=i)=0.4
则转移概率与停止条件
p ( i , i + 1 ) = 0.4 , p ( i , i − 1 ) = 0.6 , i ∈ ( 0 , N ) p ( 0 , 0 ) = p ( N , N ) = 1 \begin{aligned} &p(i,i+1)=0.4,\\ \\ &p(i,i-1)=0.6,i\in(0,N)\\ \\ &p(0,0)=p(N,N)=1 \end{aligned} p(i,i+1)=0.4,p(i,i1)=0.6,i(0,N)p(0,0)=p(N,N)=1
转移概率矩阵为
P = [ p ( 0 , 0 ) p ( 0 , 1 ) … p ( 0 , N ) p ( 1 , 0 ) p ( 1 , 1 ) … p ( 1 , N ) ⋮ ⋮ ⋮ p ( N , 0 ) p ( N , 1 ) … p ( N , N ) ] \boldsymbol P= \left[\begin{array}{cccc} p(0,0)&p(0,1)&\dots& p(0,N)\\ p(1,0)&p(1,1)&\dots& p(1,N)\\ \vdots&\vdots&&\vdots \\ p(N,0)&p(N,1)&\dots& p(N,N)\\ \end{array}\right] P= p(0,0)p(1,0)p(N,0)p(0,1)p(1,1)p(N,1)p(0,N)p(1,N)p(N,N)
具体地,当 N = 5 N=5 N=5时,
P = [ 1 0 0 0 0 0 0.6 0 0.4 0 0 0 0 0.6 0 0.4 0 0 0 0 0.6 0 0.4 0 0 0 0 0.6 0 0.4 0 0 0 0 0 1 ] \boldsymbol P= \left[\begin{array}{cccccc} 1&0&0&0&0&0\\ 0.6&0&0.4&0&0&0\\ 0&0.6&0&0.4&0&0\\ 0&0&0.6&0&0.4&0\\ 0&0&0&0.6&0&0.4\\ 0&0&0&0&0&1\\ \end{array}\right] P= 10.60000000.600000.400.600000.400.600000.40000000.41
其中 p ( i , j ) p(i,j) p(i,j)表示 i i i状态转移到 j j j状态的概率。根据概率的完备性,我们有
p ( i , j ) ≥ 0 ∑ j p ( i , j ) = 1 \begin{aligned} &p(i,j)\ge0 \quad \sum_jp(i,j)=1 \end{aligned} p(i,j)0jp(i,j)=1


2.2 多步转移

定义从状态 i i i j j j m m m步转移概率为
p m ( i , j ) = P ( X n + m = j ∣ X n = i ) p^m(i,j)=\mathbb{P}(X_{n+m}=j|X_n=i) pm(i,j)=P(Xn+m=jXn=i)
其中 p m ( i , j ) p^m(i,j) pm(i,j)表示 m m m步转移矩阵 P m \mathbb{P}^m Pm矩阵的 i i i j j j列。事实上, m m m步转移矩阵就是一步转移矩阵 P \mathbb{P} P m m m次幂,即 P m \mathbb{P}^m Pm

proof:以两步转移概率为例,设样本空间 Ω \Omega Ω的总状态数为 n n n,初始状态 X 0 = i X_0=i X0=i,则一步转移状态为$X_1=k,k=1,2,3\dots n 。最后状态 。最后状态 。最后状态X_2=j 。这里 。这里 。这里X_1=k$为中间状态。因为
p 2 ( i , j ) = P ( X 2 = j ∣ X 0 = i ) = ∑ k = 1 n P ( X 2 = j , X 1 = k ∣ X 0 = i ) = ∑ k = 1 n P ( X 2 = j , X 1 = k , X 0 = i ) P ( X 0 = i ) = ∑ k = 1 n P ( X 2 = j , X 1 = k , X 0 = i ) P ( X 1 = k , X 0 = i ) P ( X 1 = k , X 0 = i ) P ( X 0 = i ) = ∑ k = 1 n P ( X 2 = j ∣ X 1 = k , X 0 = i ) P ( X 1 = k ∣ X 0 = i ) = ∑ k = 1 n P ( X 2 = j ∣ X 1 = k ) P ( X 1 = k ∣ X 0 = i ) = ∑ k = 1 n p ( i , k ) p ( k , j ) \begin{aligned} p^2(i,j)=&\mathbb{P}(X_2=j|X_0=i)\\ \\ =&\sum_{k=1}^n\mathbb{P}(X_2=j,X_1=k|X_0=i)\\ \\ =&\sum_{k=1}^n\frac{\mathbb{P}(X_2=j,X_1=k,X_0=i)}{\mathbb{P}(X_0=i)}\\ \\ =&\sum_{k=1}^n\frac{\mathbb{P}(X_2=j,X_1=k,X_0=i)}{\mathbb{P}(X_1=k,X_0=i)} \frac{\mathbb{P}(X_1=k,X_0=i)}{\mathbb{P}(X_0=i)}\\ \\ =&\sum_{k=1}^n\mathbb{P}(X_2=j|X_1=k,X_0=i)\mathbb{P}(X_1=k|X_0=i)\\ \\ =&\sum_{k=1}^n\mathbb{P}(X_2=j|X_1=k)\mathbb{P}(X_1=k|X_0=i)\\ \\ =&\sum_{k=1}^np(i,k)p(k,j) \end{aligned} p2(i,j)=======P(X2=jX0=i)k=1nP(X2=j,X1=kX0=i)k=1nP(X0=i)P(X2=j,X1=k,X0=i)k=1nP(X1=k,X0=i)P(X2=j,X1=k,X0=i)P(X0=i)P(X1=k,X0=i)k=1nP(X2=jX1=k,X0=i)P(X1=kX0=i)k=1nP(X2=jX1=k)P(X1=kX0=i)k=1np(i,k)p(k,j)

于是得到
p 2 ( i , j ) = ∑ k = 1 n p ( i , k ) p ( k , j ) = p ( i , 1 ) p ( 1 , j ) + p ( i , 2 ) p ( 2 , j ) + ⋯ + p ( i , n ) p ( n , j ) \begin{aligned} p^2(i,j)&=\sum_{k=1}^np(i,k)p(k,j)\\ \\ &=p(i,1)p(1,j)+p(i,2)p(2,j)+\dots +p(i,n)p(n,j) \end{aligned} p2(i,j)=k=1np(i,k)p(k,j)=p(i,1)p(1,j)+p(i,2)p(2,j)++p(i,n)p(n,j)
即一步转移概率矩阵 P \mathbb{P} P自己与自己相乘。


3 C-K方程

C-K(chapman-kolmogorov)方程将任意 n + m n+m n+m步转移概率分解为 m m m步转移概率矩阵与 n n n步转移概率矩阵的乘积,即
P m + n ( i , j ) = P ( X m + n = j ∣ X 0 = i ) = ∑ k p n ( i , k ) p m ( k , j ) \mathbb{P}^{m+n}(i,j)=\mathbb{P}(X_{m+n}=j|X_0=i)=\sum_kp^n(i,k)p^m(k,j) Pm+n(i,j)=P(Xm+n=jX0=i)=kpn(i,k)pm(k,j)
证明略参考相关随机过程书籍。事实上,两步转移是C-K方程的特例,令 m = n = 1 m=n=1 m=n=1
p 2 ( i , j ) = ∑ k = 1 n p ( i , k ) p ( k , j ) p^2(i,j)=\sum_{k=1}^np(i,k)p(k,j) p2(i,j)=k=1np(i,k)p(k,j)


4 矩阵运算方法

由于多步转移概率矩阵计算需要用到矩阵乘法,现介绍以下几种方法:

  • 软件计算(Matlab/Python/R/Stata/Octave/Mathmatical等)

大部分软件基本支持数值计算,这也是最快捷的方式。

  • 暴力计算

不管运算量级多大,按照运算法则干就完事。但这种方法有些“莽夫”。不推荐

  • 相似变换

参考本科教程任意一本线性代数的内容,将需要运算的矩阵作相似变换,相对暴力计算法,将大大提高矩阵的幂运算的效率。


-END-

参考文献:

刘次华 . 随机过程(第五版) [M]. 华中科技大学出版社,2014


http://www.ppmy.cn/news/69023.html

相关文章

【配电网重构】基于SOE算法的多时段随机配电网重构方法【IEEE33节点、IEEE84节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

初步认识性能测试和完成一次完整的性能测试

上一篇博文主要通过两个例子让测试新手了解一下测试思想,和在做测试之前应该了解人几点,那么我们在如何完成一次完整的性能测试呢? 测试报告是一次完整性能测试的体现,所以,这里我给出一个完整的性能测试报告&#xff…

【DataX】将hive表数据导入ES

目录 一、环境 二、创建hive测试表 三、Es写入插件包 四、配置json 五、数据同步 1、执行命令 2、查看es结果 一、环境 DataX:windows安装 Es版本:7.9.0 二、创建hive测试表 CREATE TABLE teacher(name string,age int )row format del…

FFMPEG录屏(16)--- MAG(Magnification)捕获桌面

最近增加了对Magnification API捕获桌面的支持,记录一下过程和其中遇到的问题。 参考资料 Magnification API overview Magnification API sample webrtc screen_capturer_win_magnifier.cc Structured Exception Handling (C/C) 前言 我又不得不吐槽一下了&a…

azkaban --- 案例实操

目录 案例一 : 输出Hello World 案例二 :作业依赖 案例三 :内嵌工作流 案例四 :自动失败 案例五 :手动失败 案例六 :JavaProcess 案例七 :启动服务 案例八 :Hbase 案例九 …

ClickHouse为何能超越Elasticsearch?

背景 Elasticsearch是一个强大的分布式全文检索和数据分析引擎,也是日志分析系统经常使用的一种实现方案,但近年来随着ClickHouse的发展,Elasticsearch在日志分析领域的地位逐渐被取代,许多公司已经将自己的日志分析解决方案从ES…

在外远程访问公司局域网用友畅捷通T财务软件 - 远程办公

文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求;全面支持企业对远程仓库、异地办事处的管理需求;全面满足企业财务业务一体化管理需求。企业一般将其…

Kali-linux系统指纹识别

现在一些便携式计算机操作系统使用指纹识别来验证密码进行登录。指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和对等模块。如果要做渗透测试,需要了解要渗透测试的操作系统的类型才可以。本节将介绍使用Nmap工具测试正在运行的主…