Mengqi's blog

线性代数拾遗(五):矩阵变换的应用


上一章用了一个经济学的例子,介绍了现实中的线性方程组,那个例子里,我们借助矩阵「封装」的作用,将解三个方程组的问题转换为解:

Ax=0\mathbf{A} \mathbf{x} = \mathbf{0}

而我们知道,矩阵不仅可以封装数据,还可以表示线性变换,那这一章就来介绍一下矩阵变换在现实生活中的应用。

一、社会学例子

这个例子同样来自于《线性代数及其应用》这本书。

假如我们要研究一个城市的人口迁入、迁出的问题。用 cic_irir_i 分别表示第 ii 年该城市市区和郊区的人口数,c0c_0r0r_0就是初始年(最开始进行观测的那一年)市区和郊区的人口数。再用 xi\mathbf{x}_i 表示第 ii 年的人口向量:xi=[ciri]\mathbf{x}_i = \begin{bmatrix}c_i \\ r_i \end{bmatrix}

设人口统计学研究表明,每年有 5% 的城市人口迁移到郊区(其余 95% 继续留在城市),有 3% 的郊区人口移居城市(其余 97% 继续留在郊区),如下图所示:

5%
95%
3%
97%
城区
郊区
城市人口迁移示意图

这个研究结果,用数学表示就是,第 ii 年的城区人口经过一年后,在城区和郊区的分布为:

[0.95ci0.05ci]\begin{bmatrix} 0.95\, c_i \\ 0.05\, c_i \end{bmatrix}

ii 年的郊区人口经过一年后,在城区和郊区的分布为:

[0.03ri0.97ri]\begin{bmatrix} 0.03\, r_i \\ 0.97\, r_i \end{bmatrix}

这时(第 i+1i+1 年),城区人口有来自一年前城区人口的 95%,以及一年前郊区人口的 3%;同样,郊区人口有来自一年前城区人口的 5%,以及一年前郊区人口的 97%。用向量表示就是,第 i+1i+1 年的城市人口分布:

xi+1=[ci+1ri+1]=ci[0.950.05]+ri[0.030.97]=[0.950.030.050.97][ciri]\mathbf{x}_{i+1} = \begin{bmatrix} c_{i+1} \\ r_{i+1} \end{bmatrix} = c_i \begin{bmatrix} 0.95 \\ 0.05 \end{bmatrix} + r_i \begin{bmatrix} 0.03 \\ 0.97 \end{bmatrix} = \begin{bmatrix} 0.95 & 0.03 \\ 0.05 & 0.97 \end{bmatrix}\begin{bmatrix} c_i \\ r_i \end{bmatrix}

也就是每年人口分布是由上一年人口分布左乘一个矩阵(这个矩阵表示线性变换)得到的,我们用 M\mathbf{M} 表示这个矩阵,就是:

xi+1=Mxi\mathbf{x}_{i+1} = \mathbf{M} \mathbf{x}_i

从这个例子,我们可以发现,当我们假设人口迁移的规律比较简单时(每一年的人口只与上一年人口有关,且是线性关系),人口的迁移就可以通过线性变换来表示。又由于矩阵可以表示一个线性变换,所以每一年的人口都可看作是上一年人口左乘一个变换矩阵(又叫转移矩阵)。

二、马尔可夫链

有同学可能已经意识到了,这个例子实际上就是马尔可夫链嘛!对,这个就是马尔可夫链。

(马尔可夫链)为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备 「无记忆」 的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。 -- 中文维基百科/马尔可夫链

在我们的例子里,城市每一年人口只与上一年人口有关,满足马尔可夫性质,所以人口的迁移可以看作是一个马尔可夫链。这个链中表示状态的节点就是 xi\mathbf{x}_i,节点中的转换关系就是转移矩阵 M\mathbf{M}

这个例子展示了我们借助线性变换解决几何之外的问题时的思路:

  • 首先,在我们将每年的人口建模为一个二维向量 xi\mathbf{x}_i 的时候,这个实际问题就已经转换到二维的空间中了。从这个空间的角度来看,每年人口的变化情况,就是二维向量不断变换的过程。
  • 由于我们假设人口变化是一个线性变换(比如每年城区人口是上一年城区人口和郊区人口的线性组合),所以这个变换可以用矩阵来描述。
  • 又因为我们进一步简化问题,任务每年的变化是稳定的,所以这个线性变换只需要一个矩阵就可以了。

未来关于这个例子还会进一步展开,对马尔可夫链的平稳分布进行更深入的分析。

参考文献:

版权声明:

本文中所有文字、图片版权均属本人所有,如需转载请注明来源。