从几何上重新理解马尔科夫链

2024/03/15

问题描述

状态沿着马尔可夫链(Markov chain)按照一定概率规则(转移矩阵)转移,下一步往哪转怎么转只和当前状态有关,和之前状态无关。某一条链:

$$S_1 \rightarrow S_2 \rightarrow S_2 \rightarrow S_1 \rightarrow …$$

一段时间后,经过$S_1$$S_2$的频率(或概率)是多少?和转移依据的规则肯定有关系,那是什么关系?每条连经过两个状态的比例都相同吗?

算一算

状态向量(state vector)为一个概率向量(state vector), 如:

$$\mathbf{w} = \begin{bmatrix} w_1 \\ w_2\end{bmatrix}= \begin{bmatrix} 0.9 \\ 0.1\end{bmatrix}$$

表示此时在状态$S_1$的概率为0.9,在状态$S_2$的概率为0.1。

转移矩阵(transition matrix)是一个随机矩阵(stochastic matrix):

$$P = \begin{bmatrix} p_{11} & p_{21}\\ p_{12} & p_{22} \end{bmatrix}=\begin{bmatrix} 0.8 & 0.6\\ 0.2 & 0.4 \end{bmatrix}$$

$p_{ij}$表示从状态$S_i$到状态$S_j$的转移概率。

markov_chain

从任意一个向量出发,经过多次线性变换(linear transformation),如果转移矩阵是正则的(regular),总会收敛到一个平稳状态向量(steady-state vector):

$$\mathbf{w} \leftarrow P\mathbf{w} = \begin{bmatrix} 0.8 & 0.6\\ 0.2 & 0.4 \end{bmatrix} \begin{bmatrix} 0.9 \\ 0.1 \end{bmatrix}=\begin{bmatrix} 0.78 \\ 0.22 \end{bmatrix} $$

$$\mathbf{w} \leftarrow P\mathbf{w} = \begin{bmatrix} 0.8 & 0.6\\ 0.2 & 0.4 \end{bmatrix} \begin{bmatrix} 0.78 \\ 0.22 \end{bmatrix}=\begin{bmatrix} 0.756 \\ 0.244 \end{bmatrix} $$

$$...$$

$$\mathbf{w} \leftarrow P\mathbf{w} = \begin{bmatrix} 0.8 & 0.6\\ 0.2 & 0.4 \end{bmatrix} \begin{bmatrix} 0.75 \\ 0.25 \end{bmatrix}=\begin{bmatrix} 0.75 \\ 0.25 \end{bmatrix} $$

此时,按照转移矩阵为$P$的马尔可夫链收敛至:

$$ \mathbf{w} = \begin{bmatrix} 0.75 \\ 0.25 \end{bmatrix}$$

直观地说,马尔科夫链收敛至平稳后,进入一个状态的概率质量和从它出去的刚好相等,且对每一个状态来说都是如此。系统稳定地在状态间转移,即:

$$P\mathbf{w}=\mathbf{w}$$

此后一直保持平稳:

$$P^k\mathbf{w} = P^{k-1}\mathbf{w} =...=\mathbf{w} $$

几何意义

从线性代数或几何上理解,空间经过多次线性变换(转移矩阵),最终收敛到一个方向,即的特征向量(eigenvector)的方向。空间上的所有点都会逐渐收敛到这个方向。

eigenvector

附 1

Markov原文用的行向量,两种写法等价:

$$P \mathbf{w} \begin{bmatrix} p_{11} & p_{21}\\ p_{12} & p_{22} \end{bmatrix} \begin{bmatrix} w_1 \\ w_2 \end{bmatrix} $$

$$\mathbf{\pi} T = \begin{bmatrix} w_1 & w_2 \end{bmatrix} \begin{bmatrix} p_{11} & p_{12}\\ p_{21} & p_{22} \end{bmatrix} $$

附 2

由特征多项式(Charasteristic polynomial )可判断$P$是否为正则(regular)。只有当转移矩阵为正则矩阵时,马尔科夫链才能收敛到平稳状态。如

$$P= \begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix} $$

每次线性变换,空间总是沿着$x=y$轴翻转,并不会收敛到稳定向量上。

附 3

因为从一个状态出去的概率总和为1,且每个状态都如此。可证有一个特征值为1。

$$P \mathbf{w} = \lambda \mathbf{w}$$

$$(P-\lambda I)\mathbf{w} = 0$$

$$det(P-\lambda I) =0$$

每列和需要为1,则$\lambda$必为1。

也可以用特征多项式(Characteristic polynomial )证明。

附 4

传说Markov发明这种链是为了反驳“中心极限定理必须在变量独立时才成立”。变量不独立,条件分布,依然收敛。

附 5

Python code

import numpy as np

# Define the transition matrix
P = np.array([[0.8, 0.6], [0.2, 0.4]])

# Initial state probability distribution
w = np.array([0.9, 0.1])

# To store the state probabilities over iterations
state_probabilities = [w.tolist()]

# Perform several iterations
for _ in range(10):
    w = np.dot(P, w)
    state_probabilities.append(w.tolist())

state_probabilities

参考资料

Linear Transformations Visualizer

Markov Chains MADE EASY | Linear Algebra APPLICATIONS