02 离散时间马尔可夫链:从一步规则到矩阵演化 地铁站里的人流、服务器的负载、棋盘上的棋子,都可以在每一个离散时刻记录成一个状态。真正有用的问题不是“下一步有哪些可能”,而是:给定现在,下一步各自有多大概率?走很多步以后会在哪里?一开始的分布如何影响后来?
本章把上一章的条件概率压缩成转移矩阵,推导矩阵乘法为什么正好代表路径求和,再用同一套语言计算多步分布、路径概率和长期分布。这里的链指离散时间马尔可夫链:状态在 n = 0 , 1 , 2 , … n=0,1,2,\ldots n = 0 , 1 , 2 , … 记录,且给定当前状态后,未来与更早历史条件独立。
定义与转移矩阵 设 S S S 是有限或可数状态空间,X 0 , X 1 , … X_0,X_1,\ldots X 0 , X 1 , … 是取值于 S S S 的离散时间过程。如果对所有 n n n 、所有概率为正的历史事件以及每个目标状态,都有
P ( X n + 1 = j ∣ X 0 = i 0 , … , X n = i ) = P ( X n + 1 = j ∣ X n = i ) , \mathbb P(X_{n+1}=j\mid X_0=i_0,\ldots,X_n=i)
=\mathbb P(X_{n+1}=j\mid X_n=i), P ( X n + 1 = j ∣ X 0 = i 0 , … , X n = i ) = P ( X n + 1 = j ∣ X n = i ) , 就称它是马尔可夫链。若右侧不随 n n n 改变,写成
p i j = P ( X n + 1 = j ∣ X n = i ) , p_{ij}=\mathbb P(X_{n+1}=j\mid X_n=i), p ij = P ( X n + 1 = j ∣ X n = i ) , 则称为时间齐次马尔可夫链。以下默认时间齐次;若某状态在当前初始分布下根本不会出现,从它出发的转移规则仍可作为模型的一部分指定,但不能用概率为零的条件事件直接作除法来估计它。
对有限状态空间 S = { 1 , … , m } S=\{1,\ldots,m\} S = { 1 , … , m } ,转移矩阵为
P = ( p i j ) m × m . P=(p_{ij})_{m\times m}. P = ( p ij ) m × m . 它必须满足两条检查:每个 p i j ≥ 0 p_{ij}\ge 0 p ij ≥ 0 ,且每一行和为 1,
∑ j = 1 m p i j = 1. \sum_{j=1}^m p_{ij}=1. j = 1 ∑ m p ij = 1. 行表示“从哪里出发”,列表示“到哪里去”。这是约定,不要在计算中把行列方向临时交换。
如果某一行只有一个非零元素,说明从该状态出发下一步被确定;如果 p i i = 1 p_{ii}=1 p ii = 1 ,状态 i i i 是吸收状态,本章先把它看作矩阵中的一种特殊行,第三章会系统研究吸收结构。
从状态图读矩阵 状态图用有向边表示可能的一步转移,边上的数字是概率。没有画出的边通常表示概率 0。比如三状态链 S = { A , B , C } S=\{A,B,C\} S = { A , B , C } 满足
P = ( 0.5 0.5 0 0.2 0.5 0.3 0 0.4 0.6 ) . P=
\begin{pmatrix}
0.5&0.5&0\\
0.2&0.5&0.3\\
0&0.4&0.6
\end{pmatrix}. P = 0.5 0.2 0 0.5 0.5 0.4 0 0.3 0.6 . 从 A A A 出发,下一步到 A , B , C A,B,C A , B , C 的概率依次是 0.5 , 0.5 , 0 0.5,0.5,0 0.5 , 0.5 , 0 ;从 C C C 出发,下一步到 B , C B,C B , C 的概率是 0.4 , 0.6 0.4,0.6 0.4 , 0.6 。每行求和为 1,矩阵通过了最基本的概率检查。
一步、两步与 n 步概率 记
p i j ( n ) = P ( X n = j ∣ X 0 = i ) . p_{ij}^{(n)}=\mathbb P(X_n=j\mid X_0=i). p ij ( n ) = P ( X n = j ∣ X 0 = i ) . 这里也可把起点固定为 i i i 后另开一次模型,即使原来初始分布给 i i i 的概率为零也不影响这个定义。没有走一步时,p i j ( 0 ) p_{ij}^{(0)} p ij ( 0 ) 在 i = j i=j i = j 时为 1,否则为 0,对应 P 0 = I P^0=I P 0 = I 。当 n = 1 n=1 n = 1 时,p i j ( 1 ) = p i j p_{ij}^{(1)}=p_{ij} p ij ( 1 ) = p ij 。当 n = 2 n=2 n = 2 时,中间状态必须被求和:
p i j ( 2 ) = P ( X 2 = j ∣ X 0 = i ) = ∑ k ∈ S P ( X 1 = k ∣ X 0 = i ) P ( X 2 = j ∣ X 1 = k , X 0 = i ) = ∑ k ∈ S p i k p k j . \begin{aligned}
p_{ij}^{(2)}
&=\mathbb P(X_2=j\mid X_0=i)\\
&=\sum_{k\in S}\mathbb P(X_1=k\mid X_0=i)\mathbb P(X_2=j\mid X_1=k,X_0=i)\\
&=\sum_{k\in S}p_{ik}p_{kj}.
\end{aligned} p ij ( 2 ) = P ( X 2 = j ∣ X 0 = i ) = k ∈ S ∑ P ( X 1 = k ∣ X 0 = i ) P ( X 2 = j ∣ X 1 = k , X 0 = i ) = k ∈ S ∑ p ik p k j . 第二行使用全概率公式按 X 1 = k X_1=k X 1 = k 分解;概率为零的中间情形贡献为零,不需要对它强行条件化。第三行用马尔可夫性去掉 X 0 = i X_0=i X 0 = i ,并用时间齐次性把第二步规则仍记为 p k j p_{kj} p k j 。因此
p i j ( 2 ) = ( P 2 ) i j . p_{ij}^{(2)}=(P^2)_{ij}. p ij ( 2 ) = ( P 2 ) ij . 走 n + r n+r n + r 步时,可以在第 n n n 步把路程分开。已知那时位于 k k k ,后面 r r r 步的路径概率由同一套转移规则产生,不再依赖怎样走到 k k k ;对这 r r r 步反复使用一步马尔可夫性并合并路径即可得到这一点。再对所有可能的 k k k 求和,得到 Chapman–Kolmogorov 关系:
p i j ( n + r ) = ∑ k ∈ S p i k ( n ) p k j ( r ) , p_{ij}^{(n+r)}=\sum_{k\in S}p_{ik}^{(n)}p_{kj}^{(r)}, p ij ( n + r ) = k ∈ S ∑ p ik ( n ) p k j ( r ) , 也就是
P n + r = P n P r . P^{n+r}=P^nP^r. P n + r = P n P r . 矩阵乘法不是记号上的巧合:每个乘积项代表“中途位于 k k k ,最终到达 j j j ”这一组路径的总概率,每个求和把互不相交的中间状态情形合并。
在刚才的 A , B , C A,B,C A , B , C 模型中,从 A A A 出发两步到 B B B 的概率是 0.5 × 0.5 + 0.5 × 0.5 + 0 × 0.4 = 0.5 0.5\times0.5+0.5\times0.5+0\times0.4=0.5 0.5 × 0.5 + 0.5 × 0.5 + 0 × 0.4 = 0.5 。其中两条非零路径 A → A → B A\to A\to B A → A → B 和 A → B → B A\to B\to B A → B → B 各贡献 0.25 0.25 0.25 。直接把 p A B = 0.5 p_{AB}=0.5 p A B = 0.5 平方只会得到其中一个乘积的数值,不能代表全部两步机会。
可数无限状态时也按所有中间状态作非负求和;本章计算例题使用有限状态,避免把有限矩阵的数值运算直接套到无穷矩阵上。
计算 P n P^n P n 前先明确初始对象。若给定的是某个确定状态 i i i ,看 P n P^n P n 的第 i i i 行;若给定的是行向量分布 μ 0 \mu_0 μ 0 ,则第 n n n 步分布是 μ n = μ 0 P n \mu_n=\mu_0P^n μ n = μ 0 P n 。分布写成行向量时,矩阵从右侧作用;这是最常用也最容易保持一致的约定。
从确定起点算两步分布 考虑状态空间 S = { 0 , 1 , 2 } S=\{0,1,2\} S = { 0 , 1 , 2 } ,转移矩阵
P = ( 0.6 0.4 0 0.1 0.6 0.3 0 0.2 0.8 ) , μ 0 = ( 1 , 0 , 0 ) . P=\begin{pmatrix}
0.6&0.4&0\\
0.1&0.6&0.3\\
0&0.2&0.8
\end{pmatrix},
\qquad \mu_0=(1,0,0). P = 0.6 0.1 0 0.4 0.6 0.2 0 0.3 0.8 , μ 0 = ( 1 , 0 , 0 ) . 求 μ 2 \mu_2 μ 2 ,并计算从状态 0 出发两步后位于状态 2 的概率。
初始状态已经确定,用 μ 0 P \mu_0P μ 0 P 得到一步分布,再乘一次 P P P 。状态只有三个,直接列出中间状态的贡献比先做一般符号的矩阵幂更透明。
一步分布是
μ 1 = μ 0 P = ( 0.6 , 0.4 , 0 ) \mu_1=\mu_0P=(0.6,0.4,0) μ 1 = μ 0 P = ( 0.6 , 0.4 , 0 ) 。这正是矩阵第 0 行,因为一开始确定在状态 0。分量和为 1,说明没有漏掉概率。
两步分布为
μ 2 = μ 1 P \mu_2=\mu_1P μ 2 = μ 1 P 。第一个分量为
0.6 × 0.6 + 0.4 × 0.1 = 0.40 0.6\times0.6+0.4\times0.1=0.40 0.6 × 0.6 + 0.4 × 0.1 = 0.40 ,因为两步后到 0 可经过中间状态 0 或 1;第二个分量为
0.6 × 0.4 + 0.4 × 0.6 = 0.48 0.6\times0.4+0.4\times0.6=0.48 0.6 × 0.4 + 0.4 × 0.6 = 0.48 ;第三个分量为
0.6 × 0 + 0.4 × 0.3 = 0.12 0.6\times0+0.4\times0.3=0.12 0.6 × 0 + 0.4 × 0.3 = 0.12 。
所以
μ 2 = ( 0.40 , 0.48 , 0.12 ) \mu_2=(0.40,0.48,0.12) μ 2 = ( 0.40 , 0.48 , 0.12 ) ,从 0 出发两步到 2 的概率是
0.12 0.12 0.12 。检查
0.40 + 0.48 + 0.12 = 1 0.40+0.48+0.12=1 0.40 + 0.48 + 0.12 = 1 ,并且到 2 的唯一两步路径是
0 → 1 → 2 0\to1\to2 0 → 1 → 2 ,其概率
0.4 × 0.3 = 0.12 0.4\times0.3=0.12 0.4 × 0.3 = 0.12 ,与矩阵结果一致。
到状态 2 不等于“某一步曾经到过 2”。在这个例子里,前两步恰好还看不出区别,因为从 0 出发最快要两步才到 2。把问题延长到三步,差别就出现了,下面会把两种事件各算一次。
路径概率与事件概率 给定一段具体路径 i 0 , i 1 , … , i n i_0,i_1,\ldots,i_n i 0 , i 1 , … , i n ,链的路径概率为
P ( X 0 = i 0 , … , X n = i n ) = P ( X 0 = i 0 ) ∏ r = 0 n − 1 p i r i r + 1 . \mathbb P(X_0=i_0,\ldots,X_n=i_n)
=\mathbb P(X_0=i_0)\prod_{r=0}^{n-1}p_{i_ri_{r+1}}. P ( X 0 = i 0 , … , X n = i n ) = P ( X 0 = i 0 ) r = 0 ∏ n − 1 p i r i r + 1 . 把联合概率写成“起点概率 × 第一步条件概率 × 给定前两时刻的第二步条件概率 × …”,再逐项使用马尔可夫性和时间齐次性,就得到这个式子。若给定 X 0 = i 0 X_0=i_0 X 0 = i 0 ,算的是条件路径概率,前面的初始概率因子去掉;若起点也是随机抽到的,则必须保留它。若题目只指定起点和终点,中间路径没有指定,就必须对所有可能中间序列求和,这正是 ( P n ) i j (P^n)_{ij} ( P n ) ij 在做的事。
例如在上面的三状态链中,从 0 出发三步后到 2,可以按第二步状态分解:
P ( X 3 = 2 ∣ X 0 = 0 ) = p 00 ( 2 ) p 02 + p 01 ( 2 ) p 12 + p 02 ( 2 ) p 22 . \mathbb P(X_3=2\mid X_0=0)
=p_{00}^{(2)}p_{02}+p_{01}^{(2)}p_{12}+p_{02}^{(2)}p_{22}. P ( X 3 = 2 ∣ X 0 = 0 ) = p 00 ( 2 ) p 02 + p 01 ( 2 ) p 12 + p 02 ( 2 ) p 22 . 这不是把三步中的某一条路径重复相加,而是按互斥的第 2 步状态分组;每组内部已经包含了更早路径的总和。
代入两步分布,得到 0.40 × 0 + 0.48 × 0.3 + 0.12 × 0.8 = 0.24 0.40\times0+0.48\times0.3+0.12\times0.8=0.24 0.40 × 0 + 0.48 × 0.3 + 0.12 × 0.8 = 0.24 。把三步后以 2 结束的所有非零路径列出,正好也是
0 → 0 → 1 → 2 : 0.6 × 0.4 × 0.3 = 0.072 , 0 → 1 → 1 → 2 : 0.4 × 0.6 × 0.3 = 0.072 , 0 → 1 → 2 → 2 : 0.4 × 0.3 × 0.8 = 0.096. \begin{aligned}
0\to0\to1\to2 &: \quad0.6\times0.4\times0.3=0.072,\\
0\to1\to1\to2 &: \quad0.4\times0.6\times0.3=0.072,\\
0\to1\to2\to2 &: \quad0.4\times0.3\times0.8=0.096.
\end{aligned} 0 → 0 → 1 → 2 0 → 1 → 1 → 2 0 → 1 → 2 → 2 : 0.6 × 0.4 × 0.3 = 0.072 , : 0.4 × 0.6 × 0.3 = 0.072 , : 0.4 × 0.3 × 0.8 = 0.096. 三项相加为 0.24 0.24 0.24 。其中指定路径 0 → 1 → 2 → 2 0\to1\to2\to2 0 → 1 → 2 → 2 的概率只有 0.096 0.096 0.096 ,不能替代整个终点事件。
若问“三步内至少到过一次 2”,还要收下 0 → 1 → 2 → 1 0\to1\to2\to1 0 → 1 → 2 → 1 :这条路径第 2 步已到过 2,随后又离开,概率是 0.4 × 0.3 × 0.2 = 0.024 0.4\times0.3\times0.2=0.024 0.4 × 0.3 × 0.2 = 0.024 。因此曾到过的概率为 0.24 + 0.024 = 0.264 0.24+0.024=0.264 0.24 + 0.024 = 0.264 。我们此处直接枚举短路径就能分清事件;第三章会发展适合更长时间和更大状态空间的首达方法。
实验从刚才的矩阵和 μ 0 = ( 1 , 0 , 0 ) \mu_0=(1,0,0) μ 0 = ( 1 , 0 , 0 ) 开始。推进到两步,选目标状态 2,看各个来源的贡献为什么只有 0.12 0.12 0.12 ;再走一步,核对 0.24 0.24 0.24 。切换“此刻在 2”与“截至此刻到过 2”,比较三步时的 0.24 0.24 0.24 和 0.264 0.264 0.264 ,并在路径表里找到多收进来的那一条。修改同一行的去向时要共同分配总概率 1,不能把某条边单独调大后,仍保留原来的其余概率。
分布递推与平稳分布 若 μ n ( j ) = P ( X n = j ) \mu_n(j)=\mathbb P(X_n=j) μ n ( j ) = P ( X n = j ) ,对每个目标状态 j j j 使用全概率公式:
μ n + 1 ( j ) = ∑ i ∈ S μ n ( i ) p i j . \mu_{n+1}(j)=\sum_{i\in S}\mu_n(i)p_{ij}. μ n + 1 ( j ) = i ∈ S ∑ μ n ( i ) p ij . 写成行向量就是
μ n + 1 = μ n P . \mu_{n+1}=\mu_nP. μ n + 1 = μ n P . 平稳分布是一个概率行向量 π \pi π ,满足
π = π P , ∑ i π i = 1 , π i ≥ 0. \pi=\pi P,\qquad \sum_i\pi_i=1,\quad \pi_i\ge0. π = π P , i ∑ π i = 1 , π i ≥ 0. 如果 μ 0 = π \mu_0=\pi μ 0 = π ,那么 μ n = π \mu_n=\pi μ n = π 对所有 n n n 都成立;“平稳”首先是分布在一步演化下不变,不是说每条样本路径都静止。
平稳时,仍有路径在移动 设两状态链 S = { A , B } S=\{A,B\} S = { A , B } ,
P = ( 0.7 0.3 0.4 0.6 ) . P=\begin{pmatrix}0.7&0.3\\0.4&0.6\end{pmatrix}. P = ( 0.7 0.4 0.3 0.6 ) . 求平稳分布 π = ( a , b ) \pi=(a,b) π = ( a , b ) 。
状态只有两个,直接解 π = π P \pi=\pi P π = π P 配合归一化最简洁;不要把特征值方法当成必要步骤。
由
π = π P \pi=\pi P π = π P 的第一列得到
a = 0.7 a + 0.4 b a=0.7a+0.4b a = 0.7 a + 0.4 b ,移项为
0.3 a = 0.4 b 0.3a=0.4b 0.3 a = 0.4 b 。这条方程表达的是一步后回到 A 的概率必须等于原来在 A 的概率。
再用
a + b = 1 a+b=1 a + b = 1 。由
0.3 a = 0.4 b 0.3a=0.4b 0.3 a = 0.4 b 得
a : b = 4 : 3 a:b=4:3 a : b = 4 : 3 ,所以
a = 4 / 7 , b = 3 / 7 a=4/7,b=3/7 a = 4/7 , b = 3/7 。第二列方程不需要独立使用,因为两行和为 1 时它与第一列方程和归一化条件相容。
检查:
( 4 / 7 , 3 / 7 ) P = ( ( 4 / 7 ) 0.7 + ( 3 / 7 ) 0.4 , ( 4 / 7 ) 0.3 + ( 3 / 7 ) 0.6 ) = ( 4 / 7 , 3 / 7 ) (4/7,3/7)P=((4/7)0.7+(3/7)0.4,(4/7)0.3+(3/7)0.6)=(4/7,3/7) ( 4/7 , 3/7 ) P = (( 4/7 ) 0.7 + ( 3/7 ) 0.4 , ( 4/7 ) 0.3 + ( 3/7 ) 0.6 ) = ( 4/7 , 3/7 ) 。因此平稳分布为
π = ( 4 / 7 , 3 / 7 ) \pi=(4/7,3/7) π = ( 4/7 , 3/7 ) 。它表示若初始状态按此比例抽取,下一步的总体比例不变,这确实表示每个时刻处于 A 的边缘概率为
4 / 7 4/7 4/7 ,但不表示这些都是同一批路径,也不表示它们始终停在 A。
这条两状态链在平稳时,从 A 转到 B 的概率质量是 ( 4 / 7 ) ( 3 / 10 ) = 6 / 35 (4/7)(3/10)=6/35 ( 4/7 ) ( 3/10 ) = 6/35 ,从 B 转到 A 也是 ( 3 / 7 ) ( 2 / 5 ) = 6 / 35 (3/7)(2/5)=6/35 ( 3/7 ) ( 2/5 ) = 6/35 。两边总量保持不变,同时确有概率质量在交换。
一般的平稳方程只要求每个状态收到的总量等于原有总量。若每对状态还满足 π i p i j = π j p j i \pi_i p_{ij}=\pi_j p_{ji} π i p ij = π j p j i ,才叫详细平衡。对所有 i i i 求和就能看出详细平衡蕴含平稳:左边是流入 j j j 的总量,右边是 π j ∑ i p j i = π j \pi_j\sum_i p_{ji}=\pi_j π j ∑ i p j i = π j 。反过来不一定成立。
把上图的蓝、橙、绿节点依次叫 A、B、C,每步沿箭头走,转移概率都为 1。此时 π = ( 1 / 3 , 1 / 3 , 1 / 3 ) \pi=(1/3,1/3,1/3) π = ( 1/3 , 1/3 , 1/3 ) 平稳,因为每个节点收到的质量都是 1 / 3 1/3 1/3 。然而 A 到 B 的流量为 1 / 3 1/3 1/3 ,B 到 A 为 0,详细平衡不成立。从确定的 A 出发,分布还会按 A、B、C 周期轮换,始终不会靠近均匀分布。这一个例子同时提醒你:平稳不保证成对流量平衡,也不保证任意初始分布都收敛。
两状态链能把边界算清楚 将两状态矩阵写成
P = ( 1 − α α β 1 − β ) , 0 ≤ α , β ≤ 1. P=\begin{pmatrix}1-\alpha&\alpha\\\beta&1-\beta\end{pmatrix},
\qquad 0\le\alpha,\beta\le1. P = ( 1 − α β α 1 − β ) , 0 ≤ α , β ≤ 1. 设 q n = P ( X n = A ) q_n=\mathbb P(X_n=A) q n = P ( X n = A ) 。对到达 A 的两种来路求和,
q n + 1 = ( 1 − α ) q n + β ( 1 − q n ) = β + ( 1 − α − β ) q n . q_{n+1}=(1-\alpha)q_n+\beta(1-q_n)
=\beta+(1-\alpha-\beta)q_n. q n + 1 = ( 1 − α ) q n + β ( 1 − q n ) = β + ( 1 − α − β ) q n . 若 α + β > 0 \alpha+\beta>0 α + β > 0 ,解不动点方程得到唯一的平稳概率 π A = β / ( α + β ) \pi_A=\beta/(\alpha+\beta) π A = β / ( α + β ) 。把这个等式从递推式中减去,得到
q n + 1 − π A = ( 1 − α − β ) ( q n − π A ) . q_{n+1}-\pi_A=(1-\alpha-\beta)(q_n-\pi_A). q n + 1 − π A = ( 1 − α − β ) ( q n − π A ) . 反复代入就有
q n = π A + ( 1 − α − β ) n ( q 0 − π A ) . q_n=\pi_A+(1-\alpha-\beta)^n(q_0-\pi_A). q n = π A + ( 1 − α − β ) n ( q 0 − π A ) . 当 0 < α + β < 2 0<\alpha+\beta<2 0 < α + β < 2 时,乘子绝对值小于 1,几何幂趋于 0,故每个初始分布都趋于 π \pi π 。乘子为负时会在极限两侧交替接近;等于 0 时一步就到平稳分布。
端点不能顺手省去。若 α = β = 0 \alpha=\beta=0 α = β = 0 ,P = I P=I P = I ,每个分布都平稳,实际分布就保持初始值;若 α = β = 1 \alpha=\beta=1 α = β = 1 ,两状态每步交换,平稳分布仍唯一为 ( 1 / 2 , 1 / 2 ) (1/2,1/2) ( 1/2 , 1/2 ) ,但只有从它本身出发时分布才不变,其他初始分布都来回摆动。这里用一个标量递推就能把结论证明完整;更一般的链需要结合状态结构,第四章会继续处理。
一步模型的诊断与常见错误 一个矩阵看起来像概率矩阵,还不代表它适合某个现实问题。至少检查:状态是否互斥且覆盖了观察对象;时间步长是否一致;转移概率是否确实只依赖当前状态;矩阵是否随时间改变;观测数据是否把多个真实状态压成了一个含糊标签。
常见计算错误有三种。第一,把 P 2 P^2 P 2 误读为逐元素平方;矩阵幂是矩阵乘法。第二,把行向量分布写成 P μ P\mu P μ ,这会与当前约定的方向冲突。第三,把“第 n 步在 j”与“n 步内曾到 j”混为一谈,后者在短时间内可以枚举路径,较一般的计算会用到首达时间和边界条件。
如果一次修改只改变矩阵某个元素,却不调整同一行的其他元素,行和可能不再等于 1。概率转移不是一组互不相关的旋钮:从同一个状态出发的所有去向必须共同分配总概率 1。任何矩阵幂、平稳方程或模拟结果之前,都先做非负性和行和检查。
恢复 α = 0.3 , β = 0.4 \alpha=0.3,\beta=0.4 α = 0.3 , β = 0.4 ,把初始分布放在 A,观察 q n q_n q n 怎样接近 4 / 7 4/7 4/7 。切到“每步交换”,在纸上写出头几步,再比较蓝色分布曲线与平稳水平线。把初始值设为 1 / 2 1/2 1/2 后,分布不再变化,但代表具体路径的状态仍交替。最后试 P = I P=I P = I :这次不是算不出平稳分布,而是每个分布都满足条件。实验里的误差曲线对应上面的几何递推,不能代替一般链的收敛证明。
自测与练习 1 若分布采用行向量约定,初始分布 μ₀ 经过一步后的分布是什么?
A. Pμ₀ B. P^{-1}μ₀ C. μ₀P D. μ₀+P
3 如果初始分布就是平稳分布,那么每一步的边缘分布都等于这个平稳分布。
巩固:矩阵与两步概率
给定
P = ( 0.8 0.2 0.5 0.5 ) , P=\begin{pmatrix}0.8&0.2\\0.5&0.5\end{pmatrix}, P = ( 0.8 0.5 0.2 0.5 ) , 计算从状态 1 出发两步后回到状态 1 的概率,并列出按中间状态分解的两项。
查看解答 按第 1 步中间状态 1 或 2 分解,概率为 p 11 p 11 + p 12 p 21 = 0.8 × 0.8 + 0.2 × 0.5 = 0.74 p_{11}p_{11}+p_{12}p_{21}=0.8\times0.8+0.2\times0.5=0.74 p 11 p 11 + p 12 p 21 = 0.8 × 0.8 + 0.2 × 0.5 = 0.74 。两项分别对应路径经状态 1 和经状态 2;它们互斥,所以相加。
某链的初始分布为 μ 0 = ( 0.2 , 0.5 , 0.3 ) \mu_0=(0.2,0.5,0.3) μ 0 = ( 0.2 , 0.5 , 0.3 ) ,第一行转移概率为 ( 0.1 , 0.6 , 0.3 ) (0.1,0.6,0.3) ( 0.1 , 0.6 , 0.3 ) 。只求 μ 1 \mu_1 μ 1 的第一个分量,这些信息是否足够?若另知第一列为 ( 0.1 , 0.2 , 0.4 ) T (0.1,0.2,0.4)^\mathsf T ( 0.1 , 0.2 , 0.4 ) T ,再计算它。
查看解答 只需要每个出发状态到目标状态 1 的概率,也就是矩阵第一列;题目只给出第一行,因此信息还不完整。若补充第一列为 ( 0.1 , 0.2 , 0.4 ) T (0.1,0.2,0.4)^\mathsf T ( 0.1 , 0.2 , 0.4 ) T ,则 μ 1 ( 1 ) = 0.2 × 0.1 + 0.5 × 0.2 + 0.3 × 0.4 = 0.24 \mu_1(1)=0.2\times0.1+0.5\times0.2+0.3\times0.4=0.24 μ 1 ( 1 ) = 0.2 × 0.1 + 0.5 × 0.2 + 0.3 × 0.4 = 0.24 。这也说明求某个目标分量时,不能只看目标状态所在的矩阵行。
变式:路径与终点事件
从状态 A 出发,三步后位于 C 的事件包含路径 A→B→B→C 和 A→A→B→C。解释为什么不能只把这两条路径相加就宣称得到三步到 C 的完整概率,并写出正确的计算思路。
查看解答 这两条路径只是所有可能三步路径中的两条,其他中间状态序列也可能在 C 结束。正确做法是对所有 i 1 , i 2 ∈ S i_1,i_2\in S i 1 , i 2 ∈ S 求和:P ( X 3 = C ∣ X 0 = A ) = ∑ i 1 , i 2 p A i 1 p i 1 i 2 p i 2 C \mathbb P(X_3=C\mid X_0=A)=\sum_{i_1,i_2}p_{Ai_1}p_{i_1i_2}p_{i_2C} P ( X 3 = C ∣ X 0 = A ) = ∑ i 1 , i 2 p A i 1 p i 1 i 2 p i 2 C ,也可以直接取 ( P 3 ) A C (P^3)_{AC} ( P 3 ) A C 。若题目明确只问这两条指定路径的并事件,才只相加这两项。
对同一个转移矩阵,初始分布改为另一个向量,平稳分布会不会必然改变?请说明判断理由。
查看解答 固定 P P P 后,平稳分布的解集完全不变。它由方程 π = π P \pi=\pi P π = π P 、非负性和归一化决定,不取决于某次运行选用的初始分布。初始分布改变的是 μ n = μ 0 P n \mu_n=\mu_0P^n μ n = μ 0 P n 的演化;如果新的初始分布本身就是同一个 π \pi π ,它会保持不变。若链有多个平稳分布,则还需进一步说明矩阵结构,不能从初始分布单独判断。
迁移:选择计算方式并解释结果
一台服务器有“空闲、忙、过载”三种状态。每天状态更新一次,转移矩阵为
P = ( 0.6 0.4 0 0.2 0.6 0.2 0 0.3 0.7 ) , μ 0 = ( 0.5 , 0.5 , 0 ) . P=\begin{pmatrix}0.6&0.4&0\\0.2&0.6&0.2\\0&0.3&0.7\end{pmatrix},
\quad \mu_0=(0.5,0.5,0). P = 0.6 0.2 0 0.4 0.6 0.3 0 0.2 0.7 , μ 0 = ( 0.5 , 0.5 , 0 ) . 求一天后的分布,并计算两天后处于过载的概率。请说明你会用分布递推还是完整矩阵幂,以及为什么。
查看解答 用分布递推更合适,因为只需一个初始分布和一个目标分量,不必先求整个 P 2 P^2 P 2 。一天后 μ 1 = μ 0 P = ( 0.4 , 0.5 , 0.1 ) \mu_1=\mu_0P=(0.4,0.5,0.1) μ 1 = μ 0 P = ( 0.4 , 0.5 , 0.1 ) 。两天后过载概率是 μ 2 ( 3 ) = 0.4 × 0 + 0.5 × 0.2 + 0.1 × 0.7 = 0.17 \mu_2(3)=0.4\times0+0.5\times0.2+0.1\times0.7=0.17 μ 2 ( 3 ) = 0.4 × 0 + 0.5 × 0.2 + 0.1 × 0.7 = 0.17 。检查 μ 1 \mu_1 μ 1 分量和为 1;两天到过载的贡献分别来自忙和过载,空闲一步不能直接到过载。
某转移矩阵的两个状态集合互不相通,并且每个集合内部都有自己的平稳分布。说明为什么把两个集合内的平稳分布按非负权重混合,仍得到整个链的平稳分布;这对“长期分布唯一”有什么提醒?
查看解答 设 π ( 1 ) P = π ( 1 ) \pi^{(1)}P=\pi^{(1)} π ( 1 ) P = π ( 1 ) 、π ( 2 ) P = π ( 2 ) \pi^{(2)}P=\pi^{(2)} π ( 2 ) P = π ( 2 ) ,并把它们延拓为整个状态空间上的向量。对 0 ≤ a ≤ 1 0\le a\le1 0 ≤ a ≤ 1 ,π = a π ( 1 ) + ( 1 − a ) π ( 2 ) \pi=a\pi^{(1)}+(1-a)\pi^{(2)} π = a π ( 1 ) + ( 1 − a ) π ( 2 ) 满足 π P = a π ( 1 ) P + ( 1 − a ) π ( 2 ) P = π \pi P=a\pi^{(1)}P+(1-a)\pi^{(2)}P=\pi π P = a π ( 1 ) P + ( 1 − a ) π ( 2 ) P = π ,且仍是概率向量。因此至少有一族平稳分布,长期分布一般不唯一;初始分布给两个封闭部分分配多少概率,会影响长期落在哪个部分。
对两状态链,已知平稳时处于 A 的概率为 3 / 4 3/4 3/4 ,并且偏离平稳值的误差每一步变成前一步的 1 / 5 1/5 1/5 。求 α , β \alpha,\beta α , β 。若 q 0 = 1 / 4 q_0=1/4 q 0 = 1/4 ,计算 q 2 q_2 q 2 ,并解释为什么只给平稳分布还不能唯一确定这两个转移概率。
查看解答 从误差递推读出 1 − α − β = 1 / 5 1-\alpha-\beta=1/5 1 − α − β = 1/5 ,所以 α + β = 4 / 5 \alpha+\beta=4/5 α + β = 4/5 。又因 β / ( α + β ) = 3 / 4 \beta/(\alpha+\beta)=3/4 β / ( α + β ) = 3/4 ,得 β = 3 / 5 \beta=3/5 β = 3/5 、α = 1 / 5 \alpha=1/5 α = 1/5 ,都在允许范围内。于是 q 2 = 3 / 4 + ( 1 / 5 ) 2 ( 1 / 4 − 3 / 4 ) = 73 / 100 q_2=3/4+(1/5)^2(1/4-3/4)=73/100 q 2 = 3/4 + ( 1/5 ) 2 ( 1/4 − 3/4 ) = 73/100 。平稳分布只给出 β : α = 3 : 1 \beta: \alpha=3:1 β : α = 3 : 1 ,例如 α = 1 / 10 , β = 3 / 10 \alpha=1/10,\beta=3/10 α = 1/10 , β = 3/10 也有同一平稳分布,却有不同的误差乘子;平稳比例不能单独告诉你靠近它的速度。
两状态链的转移矩阵是
P = ( 0.5 0.5 1 0 ) , μ 0 = ( 0.4 , 0.6 ) , P=\begin{pmatrix}0.5&0.5\\1&0\end{pmatrix},\qquad \mu_0=(0.4,0.6), P = ( 0.5 1 0.5 0 ) , μ 0 = ( 0.4 , 0.6 ) , 状态顺序为 A、B。计算指定路径 A→B→A 的概率,以及给定从 A 出发时这条路径的条件概率。再比较“第 2 步在 B”与“从第 0 步到第 2 步至少在 B 一次”的概率。后一事件包括初始时刻。
查看解答 指定路径的概率是 0.4 × 0.5 × 1 = 0.2 0.4\times0.5\times1=0.2 0.4 × 0.5 × 1 = 0.2 ;给定起点 A 后,去掉初始因子,得到 0.5 0.5 0.5 。递推得 μ 1 = ( 0.8 , 0.2 ) \mu_1=(0.8,0.2) μ 1 = ( 0.8 , 0.2 ) ,所以 P ( X 2 = B ) = 0.8 × 0.5 + 0.2 × 0 = 0.4 \mathbb P(X_2=B)=0.8\times0.5+0.2\times0=0.4 P ( X 2 = B ) = 0.8 × 0.5 + 0.2 × 0 = 0.4 。若一直没到过 B,整段路径只能是 A→A→A,概率为 0.4 × 0.5 × 0.5 = 0.1 0.4\times0.5\times0.5=0.1 0.4 × 0.5 × 0.5 = 0.1 ,故至少到过一次的概率为 0.9 0.9 0.9 。这里用补事件比逐条列出命中路径更省事,但每一项仍来自正文的路径乘法规则。
三状态链每步以 1 / 2 1/2 1/2 的概率留在原处,以 1 / 2 1/2 1/2 的概率沿 A→B→C→A 前进一步。写出矩阵,检查均匀分布是否平稳,以及它是否满足详细平衡。说明为什么允许留在原处,仍不能保证详细平衡。
查看解答 矩阵为
P = ( 1 / 2 1 / 2 0 0 1 / 2 1 / 2 1 / 2 0 1 / 2 ) . P=\begin{pmatrix}1/2&1/2&0\\0&1/2&1/2\\1/2&0&1/2\end{pmatrix}. P = 1/2 0 1/2 1/2 1/2 0 0 1/2 1/2 . 均匀分布给每个状态的流入都等于 ( 1 / 3 ) ( 1 / 2 ) + ( 1 / 3 ) ( 1 / 2 ) = 1 / 3 (1/3)(1/2)+(1/3)(1/2)=1/3 ( 1/3 ) ( 1/2 ) + ( 1/3 ) ( 1/2 ) = 1/3 ,所以平稳。A 到 B 的平稳流量是 1 / 6 1/6 1/6 ,B 到 A 是 0,因此不满足详细平衡。自环并没有补出反向边;逐点总量不变与逐对流量相等仍是两个不同的要求。