Markov Matrices, Population, and Economics
只完整记录 <#1>
马尔科夫矩阵是λ max = 1 \lambda _ { \max } = 1 λ m a x = 1 的应用,人口增长 λ max = 1 \lambda _ { \max } = 1 λ m a x = 1 的应用,消费矩阵 λ max < 1 \lambda _ { \max } <1 λ m a x < 1 的应用。后面2个有需要再看把
这一节都是关于正值矩阵(positive matrices):每一个 a i j > 0 a_{ij}>0 a ij > 0 .对于这样的矩阵,关键事实是:**它最大的特征值是实数并且是正值的,它的特征向量也是如此。**在经济学、生态学、人口动态和随机游走中,这一事实大有帮助:
Markov: λ max = 1 Population: λ max > 1 Consumption: λ max < 1 \text{Markov:} \quad \lambda _ { \max } = 1 \quad \\
\text { Population: } \quad \lambda _ { \max } > 1 \quad \\
\text { Consumption: } \quad \lambda _ { \max } < 1 Markov : λ m a x = 1 Population : λ m a x > 1 Consumption : λ m a x < 1
Markov martices
综合V24前半部分
V24:在微分方程当中:特征值为0,会得到稳态.但是矩阵幂的情况,就不是0特征值,特征值为1才是最重要的 .稳态完全和值为1特征值及其特征向量联系在一起,实际上:稳态就是特征值为1的特征向量 !马尔科夫矩阵每列相加为1,这保证了一个特征值为1.所以在不用 A − λ I A-λI A − λ I 的前提下,都可以算出马尔科夫矩阵的特征值.
关键在于:
λ=1是特征值. 而且.特征向量向量 x 1 x_1 x 1 的所有分量都 ≥ 0 \ge 0 ≥ 0 .因此初始值为正,稳态就是正值.
其他所有的特征值 ∣ λ i ∣ < 1 |\lambda_i|< 1 ∣ λ i ∣ < 1 (可能会有例外的情况,有一些绝对值还是等于1,但绝不会大于0)
请记住对于 u k = A k u 0 u_k= A^k u_0 u k = A k u 0 ,这里的A的幂的特别之处
> u k = A k u 0 = c 1 λ 1 k x 1 + … + c n λ n k x n > > u_k=A^k u_0 = c_1 λ_1^k x_1+…+c_n λ_n^k x_n
> > u k = A k u 0 = c 1 λ 1 k x 1 + … + c n λ n k x n >
要求有一套完整的特征向量,否则 u 0 u_0 u 0 不能扩展为特征向量形式,问题无法开始.观察上式,如果λ 1 = 1 λ_1=1 λ 1 = 1 ,它取k次幂不变,其他的λ小于1,会随着时间的递增会趋于0,所以最终,稳态趋向于初始条件 u 0 u_0 u 0 沿着特征向量的 x 1 x_1 x 1 部分 c 1 x 1 c_1x_1 c 1 x 1 !
假设对于如下的A矩阵,不断使用A矩阵乘以正值 向量 u 0 = ( a , 1 − a ) u_0 =(a,1-a) u 0 = ( a , 1 − a ) :
Markov matrix A = [ .8 .3 .2 .7 ] u 1 = A u 0 u 2 = A u 1 = A 2 u 0 (L1) \begin{array} { l } \text { Markov } \\ \text { matrix } \end{array} \quad A = \left[ \begin{array} { l l } .8 & .3 \\ .2 & .7 \end{array} \right] \quad u _ { 1 } = A u _ { 0 } \quad u _ { 2 } = A u _ { 1 } = A ^ { 2 } u _ { 0 } \tag{L1} Markov matrix A = [ .8 .2 .3 .7 ] u 1 = A u 0 u 2 = A u 1 = A 2 u 0 ( L1 )
k步之后得到 A k u 0 A^k u_0 A k u 0 .向量 u 1 , u 2 , u 3 . . . u_1,u_2,u_3... u 1 , u 2 , u 3 ... 会逐渐接近一个稳态(steady state) u ∞ = ( .6 , .4 ) u_{\infty} = (.6,.4) u ∞ = ( .6 , .4 ) .而且,这个最终的稳态向量不取决与输入向量:任何 u 0 u_0 u 0 都会收敛到相同的 u ∞ u_{\infty} u ∞ ! 为什么呢?
稳态等式 A u ∞ = u ∞ Au_{\infty} = u_{\infty} A u ∞ = u ∞ 使得 u ∞ u_{\infty} u ∞ 是特征值为1的特征向量:
Steady state [ .8 .3 .2 .7 ] [ .6 .4 ] = [ .6 .4 ] \text{Steady state}\qquad \left[ \begin{array} { l l } .8 & .3 \\ .2 & .7 \end{array} \right] \left[ \begin{array} { l } .6 \\ .4 \end{array} \right] = \left[ \begin{array} { l } .6 \\ .4 \end{array} \right] Steady state [ .8 .2 .3 .7 ] [ .6 .4 ] = [ .6 .4 ]
再次乘以A,不会改变 u ∞ u_{\infty} u ∞ .但还没有解释为什么所有的 u 0 u_0 u 0 最终都是得到 u ∞ u_{\infty} u ∞ .其他的矩阵也有稳态,但是它们不吸引人:
Not Matkov B = [ 1 0 0 2 ] 也有稳态,但不吸引人: B [ 1 0 ] = [ 1 0 ] (L2) \text{Not Matkov}\qquad \quad B = \left[ \begin{array} { l l } 1 & 0 \\ 0 & 2 \end{array} \right] \quad \text { 也有稳态,但不吸引人: } B \left[ \begin{array} { l } 1 \\ 0 \end{array} \right] = \left[ \begin{array} { l } 1 \\ 0 \end{array} \right]
\tag{L2} Not Matkov B = [ 1 0 0 2 ] 也有稳态,但不吸引人: B [ 1 0 ] = [ 1 0 ] ( L2 )
对与上面的B,如果输入 u 0 = ( 0 , 1 ) u_0 = (0,1) u 0 = ( 0 , 1 ) ,会得到 u 1 = ( 0 , 2 ) u_1 = (0,2) u 1 = ( 0 , 2 ) ,B再乘一次得到 u 2 = ( 0 , 4 ) u_2=(0,4) u 2 = ( 0 , 4 ) ...第2个分量被加倍了。以特征值的语言来描述一线,B有 λ = 1 \lambda = 1 λ = 1 ,但它也有 λ = 2 \lambda =2 λ = 2 -- 这就产生了不稳定性.也就是说,u ⃗ \vec{u} u 向量当,沿着那个不稳定的特征向量的分量会乘以 λ \lambda λ ,而 ∣ λ ∣ > 1 |\lambda|>1 ∣ λ ∣ > 1 意味着增长。
马尔科夫矩阵A的2个关键性质,使得可以确保存在稳态。这些性质定义了马尔科夫矩阵,Eq(L1) 的A就是1个马尔科夫矩阵
马尔科夫矩阵性质
A的每个元素 a i j ≥ 0 a_{ij} \ge 0 a ij ≥ 0
A的每一列的元素和是1
注意,马尔科夫矩阵的幂,还是马尔科夫!
Eq(L2) B没有性质2。 对于马尔科夫矩阵A,立刻可以得到2个性质:
A乘以 非负的 u 0 u_0 u 0 可以产生 非负的 u 1 = A u 0 u_1 = Au_0 u 1 = A u 0
如果 u 0 u_0 u 0 的分量加起来是1,那么 u 1 = A u 0 u_1 = Au_0 u 1 = A u 0 的分量也是
sp:注意这里的分量和为1 u 0 u_0 u 0 是一个特殊的概率向量,第2点要说明的是马尔科夫可以保持概率向量一直都是概率向量,而最终的稳态,也就是概率向量的极限,是最终每个部分所站的比例,如例1。不是说所有的初始向量必须都是概率向量。如例V24-2的人口向量就不是,这时得到的直接就是每个部分的具体数字。
第2点原因: 首先,如果乘法 [ 1...1 ] u 0 = 1 [1...1]u_0 = 1 [ 1...1 ] u 0 = 1 ,就说明 u 0 u_0 u 0 的分量和是1.而对于马尔科夫矩阵A,根据性质2,每一列的分量和都是1.所以矩阵乘法可得 [ 1...1 ] A = [ 1...1 ] [1...1]A = [1...1] [ 1...1 ] A = [ 1...1 ] ,现在再把 [1...1] 乘以 A u 0 Au_0 A u 0 ,可得:
Components of A u 0 add to 1 : [ 1 ⋯ 1 ] A u 0 = [ 1 ⋯ 1 ] u 0 = 1. \text{Components of }A u _ { 0 } \text { add to } 1: \quad \left[ \begin{array} { l l l } 1 & \cdots & 1 \end{array} \right] A u _ { 0 } = \left[ \begin{array} { l l l } 1 & \cdots & 1 \end{array} \right] u _ { 0 } = 1 . Components of A u 0 add to 1 : [ 1 ⋯ 1 ] A u 0 = [ 1 ⋯ 1 ] u 0 = 1.
所以 A u 0 Au_0 A u 0 的分量和是1.同样的事实对于 u 2 = A u 1 , u 3 = A u 2 u_2 = Au_1,u_3 = Au_2 u 2 = A u 1 , u 3 = A u 2 也是成立的。可得,任何向量 A k u 0 A^k u_0 A k u 0 都是非负的,而且分量和是1. 这些都是概率向量(probablity vectors) ,它们的极限 u ∞ u_{\infty} u ∞ 也是一个概率向量--但我们需要证明存在这样一个极限,我们会证明,对于**正值的(sp:意思是不能有0元素的?)**马尔科夫矩阵,存在 λ m a x = 1 \lambda_{max} = 1 λ ma x = 1
例1 丹佛出租的车占比是 1/50 =.02,其他地区占比 .98. 每个月,80%的车留在丹佛,20%的车离开,而其他地区5%的车开进丹佛(95%的车继续留在其他地区).这意味着A乘以 u 0 = ( .02 , .98 ) u_0 = (.02,.98) u 0 = ( .02 , .98 )
First month: A = [ .80 .05 .20 .95 ] leads to u 1 = A u 0 = A [ .02 .98 ] = [ .065 .935 ] \text{First month:}\quad A = \left[ \begin{array} { l l } .80 & .05 \\ .20 & .95 \end{array} \right] \quad \text { leads to } \quad u _ { 1 } = A u _ { 0 } = A \left[ \begin{array} { l } .02 \\ .98 \end{array} \right] = \left[ \begin{array} { l } .065 \\ .935 \end{array} \right] First month: A = [ .80 .20 .05 .95 ] leads to u 1 = A u 0 = A [ .02 .98 ] = [ .065 .935 ]
注意,.065 + .935 = 1 .065+.935 =1 .065 + .935 = 1 ,所有的车都计算在内了。之后的每个月,都是被A乘:
Next month: u 2 = A u 1 = ( .09875 , .90125 ) . 这就是 A 2 u 0 \text{Next month:} \quad u _ { 2 } = A u _ { 1 } = ( .09875 , .90125 ) \text { . 这就是 } A ^ { 2 } u_0 Next month: u 2 = A u 1 = ( .09875 , .90125 ) . 这就是 A 2 u 0
所有的 u u u 向量都是正值的,因为A是正值的。而且每个向量 u k u_k u k 的分量和都是1 .那么很长时间后,丹佛的车最终能占多少比例?
这里又涉及到矩阵幂(powers of matrices)。在<01-06>,对幂A k A^k A k 的分析,是我们第一个也是最佳的对角化的应用。A k A^k A k 可能很复杂,但是对角矩阵 Λ k \Lambda^k Λ k 是简单的,而且它们有特征向量矩阵S所连接:A k = S Λ k S − 1 A^k = S\Lambda^k S^{-1} A k = S Λ k S − 1 .我们会证明,u ∞ u_{\infty} u ∞ 是对应 λ = 1 \lambda=1 λ = 1 的特征向量
因为A的每一列加起来是1,没任何损失也没得到任何东西。所以不管是在例1租车模型还是人口模型当中,是假设了没有车(人)突然消失或出现的。部分和加起来必须是1,而且马尔科夫矩阵会一直保持保持部分和为1.问题在于,经过k个时间周期之后,也就是 A k A^k A k ,每部分现在是怎么分布的呢?
解: A k u 0 A^ku_0 A k u 0 给出了k步之后,丹佛的车所占的比例。我们对角化A来理解 A k A^k A k .A的特征值是λ 1 = 1 , λ 2 = 0.75 \lambda_1 =1,\lambda_2=0.75 λ 1 = 1 , λ 2 = 0.75 (迹是1.75)
A x = λ x A [ .2 .8 ] = 1 [ .2 .8 ] and A [ − 1 1 ] = .75 [ − 1 1 ] . A \boldsymbol { x } = \lambda \boldsymbol { x } \quad A \left[ \begin{array} { l } .2 \\ .8 \end{array} \right] = 1 \left[ \begin{array} { l } .2 \\ .8 \end{array} \right] \quad \text { and } \quad A \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] = .75 \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] . A x = λ x A [ .2 .8 ] = 1 [ .2 .8 ] and A [ − 1 1 ] = .75 [ − 1 1 ] .
初始向量 u 0 u_0 u 0 是 x 1 , x 2 x_1,x_2 x 1 , x 2 的组合,系数是1、0.18
Combination of eigenvectors : u 0 = [ .02 .98 ] = [ .2 .8 ] + .18 [ − 1 1 ] \text{Combination of eigenvectors : }\quad u _ { 0 } = \left[ \begin{array} { c } .02 \\ .98 \end{array} \right] = \left[ \begin{array} { l } .2 \\ .8 \end{array} \right] + .18 \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] Combination of eigenvectors : u 0 = [ .02 .98 ] = [ .2 .8 ] + .18 [ − 1 1 ]
现在 u 0 u_0 u 0 乘以A得到 u 1 u_1 u 1 ,特征向量分别被 λ 1 = 1 , λ 2 = 0.75 \lambda_1 =1,\lambda_2=0.75 λ 1 = 1 , λ 2 = 0.75 乘:
Each x is multiplied by λ : u 1 = 1 [ .2 .8 ] + ( .75 ) ( .18 ) [ − 1 1 ] \text {Each x is multiplied by } \lambda: \quad u _ { 1 } = 1 \left[ \begin{array} { c } .2 \\ .8 \end{array} \right] + ( .75 ) ( .18 ) \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] Each x is multiplied by λ : u 1 = 1 [ .2 .8 ] + ( .75 ) ( .18 ) [ − 1 1 ]
每个月,都有1个额外的0.75乘以 x 2 x_2 x 2 ,而特征向量 x 1 x_1 x 1 不改变:
After k steps : u k = A k u 0 = [ .2 .8 ] + ( .75 ) k ( .18 ) [ − 1 1 ] . \text {After k steps :} \quad u_ { k } = A ^ { k } \boldsymbol { u } _ { 0 } = \left[ \begin{array} { l } .2 \\ .8 \end{array} \right] + ( .75 ) ^ { k } ( .18 ) \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] . After k steps : u k = A k u 0 = [ .2 .8 ] + ( .75 ) k ( .18 ) [ − 1 1 ] .
上面等式揭示了:特征值 λ = 1 \lambda=1 λ = 1 对应的特征向量 x 1 x_1 x 1 就是稳态,另外1个特征向量 x 2 x_2 x 2 因为 ∣ λ ∣ < 1 |\lambda|<1 ∣ λ ∣ < 1 而最终消失了。 经过越多的步骤,我们越接近 u ∞ = ( .2 , .8 ) u_{\infty} = (.2,.8) u ∞ = ( .2 , .8 ) .极限就是 20% 的车丹佛,80%的车在其他地区。这就是马尔科夫链(Markov chain)的模式,就算初始向量是 u 0 = ( 0 , 1 ) u_0 = (0,1) u 0 = ( 0 , 1 )
sp:对于 u 0 = ( 0 , 1 ) u_0 = (0,1) u 0 = ( 0 , 1 ) 可以分解为 u 0 = 1 [ .2 .8 ] + .2 [ − 1 1 ] u_0 = 1 \left[ \begin{array} { c } .2 \\ .8 \end{array} \right] + .2 \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right] u 0 = 1 [ .2 .8 ] + .2 [ − 1 1 ] ,可得:
> u k = A k u 0 = [ .2 .8 ] + ( .75 ) k ( .2 ) [ − 1 1 ] > > u_ { k } = A ^ { k } \boldsymbol { u } _ { 0 } = \left[ \begin{array} { l } .2 \\ .8 \end{array} \right] + ( .75 ) ^ { k } ( .2 ) \left[ \begin{array} { r } - 1 \\ 1 \end{array} \right]
> > u k = A k u 0 = [ .2 .8 ] + ( .75 ) k ( .2 ) [ − 1 1 ] >
所以也是趋向于 u ∞ = x 1 u_{\infty} = x_1 u ∞ = x 1 .这里好像是 c 1 c_1 c 1 一定是1,为啥呢?应该不是,不应该是 x 1 x_1 x 1 的倍数才一定是稳态,而不是就是c 1 c_1 c 1 ,但在sp-Note-8.3.1,说的就是c 1 = 1 c_1 = 1 c 1 = 1 啊
例V24-1 假设马尔科夫矩阵是
A = [ .1 .01 .3 .2 .99 .3 .7 0 .4 ] A = \left[ \begin{array} { c c c } .1 & .01 & .3 \\ .2 & .99 & .3 \\ .7 & 0 & .4 \end{array} \right] A = .1 .2 .7 .01 .99 0 .3 .3 .4
为什么会有特征值=1?实际上第2个性质就保证了.我们看看
∣ A − 1 I ∣ = [ − .9 .01 .3 .2 − .01 .3 .7 0 − .6 ] | A - 1I | = \left[ \begin{array} { c c c } - .9 & .01 & .3 \\ .2 & - .01 & .3 \\ .7 & 0 & - .6 \end{array} \right] ∣ A − 1 I ∣ = − .9 .2 .7 .01 − .01 0 .3 .3 − .6
A − λ I A-λI A − λ I ,相当于这个矩阵平移一个单位矩阵,如果此时是奇异的,那么 λ = 1 λ=1 λ = 1 就是特征值(因为特征值是对角线元素减去之后使得矩阵奇异的数字).那么为什么这里的 A − I A− I A − I 是奇异的呢?当然可以计算行列式,但是我们想得到每个马尔科夫矩阵都适用的方法,而不是这个特殊的例子
现在看看 A − I A− I A − I 的各列的元素,加起来是0!这就说明 A-I 是奇异的!因为每一列都是线性相关,所以行列式0,所以奇异(实际上从行向量角度出发更简单,行向量也是线性相关,每列和是0,怎么说明行向量是线性相关呢?哪些行向量的什么线性组合可以得到零向量? (1,1,1)!用它乘以行向量,也就是把各行加起来,结果得到0,它是 A − I A-I A − I 的左零空间N ( ( A − I ) T ) N((A−I)^T) N (( A − I ) T ) 的向量在(对于方阵,行向量线性相关,就一定是奇异的,所以这也可以证明).
再考虑 A − I A-I A − I 的零空间,列向量的什么组合得到零向量?(列向量不独立,一定存在这样的向量!而且我们想要通用的方法,而不是仅对这个特殊的例子计算!).注意,一旦在 A − I A-I A − I 的零空间找到这个向量,它就是特征向量 x 1 x_1 x 1 ,为什么?
( A − I ) x = 0 → A x = x → λ = 1 (A-I)x = 0→Ax =x→λ=1 ( A − I ) x = 0 → A x = x → λ = 1
而且这个 x 1 x_1 x 1 就是稳态! 我们就是这样求的对应特征值为1的特征向量 x 1 x_1 x 1 的! (sp:这里教授应该也是说错了,教授把A-I说成是A),
注意,关于特征值有一个要点:任何 A A A 和 A T A^T A T 的特征值是一样的 。为什么?回忆一下,我们是通过计算如下行列式为0求特征值的:
> det ( A − λ I ) = 0 > (P1) > \det (A - λI) = 0 \tag{P1}
> > det ( A − λ I ) = 0 > ( P1 )
而矩阵的行列式等于转置的行列式.所以我们转置Eq(P1). λ I λI λ I 转置之后还是 λ I λI λ I , 得到
> det ( A − λ I ) = 0 ⇒ det ( A T − λ I ) = 0 > (P2) > \det (A - λI) = 0 \quad \Rightarrow \quad \det (A^T - λI) = 0 \tag{P2}
> > det ( A − λ I ) = 0 ⇒ det ( A T − λ I ) = 0 > ( P2 )
从而从 A , A T A,A^T A , A T 的行列式是一样的,我们得到 A , A T A,A^T A , A T 的特征值是一样的。
那么 x 1 x_1 x 1 到底怎么求?1是 A T A^T A T 的特征值,其特征向量是(1,1,1)(sp:因为我们前面证明过,(1,1,1) 可以组合 A 行空间得到0,也就是 A T ( 1 , 1 , 1 ) = 0 A^T(1,1,1) = 0 A T ( 1 , 1 , 1 ) = 0 )。根据前面的论证,我们得到,1也是A的特征值,但是特征向量不同.我们需要找出来,也就是存在某个向量x 1 x_1 x 1
[ − .9 .01 .3 .2 − .01 .3 .7 0 − .6 ] [ x 1 ] = [ 0 0 0 ] \left[ \begin{array} { c c c } - .9 & .01 & .3 \\ .2 & - .01 & .3 \\ .7 & 0 & - .6 \end{array} \right] \left[ x _ { 1 } \right] = \left[ \begin{array} { l } 0 \\ 0 \\ 0 \end{array} \right] − .9 .2 .7 .01 − .01 0 .3 .3 − .6 [ x 1 ] = 0 0 0
计算一下,得到
x 1 = [ .6 33 .7 ] x _ { 1 } = \left[ \begin{array} { c } .6 \\ 33 \\ .7 \end{array} \right] x 1 = .6 33 .7
注意到,这里特征向量的分量都是正值 。这和我们的理论是一样的。
证明马尔科夫矩阵A存在 λ m a x = 1 \lambda _{max} = 1 λ ma x = 1 如果A是正值的 马尔科夫矩阵(每个元素 a i j > 0 a_{ij} > 0 a ij > 0 ,每一列分量和是1),那么 λ 1 = 1 \lambda_1 = 1 λ 1 = 1 是最大的特征值,对应的特征向量 x 1 x_1 x 1 是稳态:
> u k = x 1 + c 2 ( λ 2 ) k x 2 + ⋯ + c n ( λ n ) k x n 总是逼近 u ∞ = x 1 > (W1) > u _ { k } = x _ { 1 } + c _ { 2 } \left( \lambda _ { 2 } \right) ^ { k } x _ { 2 } + \cdots + c _ { n } \left( \lambda _ { n } \right) ^ { k } x _ { n } \quad \text { 总是逼近 } \quad u _ { \infty } = x _ { 1 } \tag{W1}
> > u k = x 1 + c 2 ( λ 2 ) k x 2 + ⋯ + c n ( λ n ) k x n 总是逼近 u ∞ = x 1 > ( W1 )
首先要证明:λ = 1 \lambda = 1 λ = 1 是A的一个特征值。原因:A − I A-I A − I 的每一列的和 都是 1-1 = 0,也就是 A − I A-I A − I 的全部行加起来是0,这些行线性相关,所以 A − I A-I A − I 是奇异的,λ = 1 \lambda = 1 λ = 1 是一个特征值。
第2点就是:没有特征向量∣ λ ∣ > 1 |\lambda|>1 ∣ λ ∣ > 1 .因为如果存在的话,幂 A k A^k A k 会不断增长。但注意:A k A^k A k 也是马尔科夫矩阵:A k A^k A k 元素都非负的,并且每列加起来是1--从而不会增长!
sp-Note-8.3.1:
注意上面的条件,A必须是严格正值的,而不仅仅是 a i j ≥ 0 a_{ij}\ge 0 a ij ≥ 0 ,必须是 a i j > 0 a_{ij}>0 a ij > 0 ,比性质1要求更严格一点。
Eq(w1) 的分解里面,x 1 x_1 x 1 的系数 c 1 c_1 c 1 就是1!为啥啊,有点不明白。例V24-2里面,可以看到所有 a i j > 0 a_{ij}>0 a ij > 0 ,满足要求,但c 1 c_1 c 1 不是1!所以可以确定,是 c 1 x 1 c_1x_1 c 1 x 1 是稳态,而不仅仅x 1 x_1 x 1 ,应该是书本没有描述清楚!
例2 A = [ 0 1 1 0 ] A = \left[\begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \right] A = [ 0 1 1 0 ] 没有稳态,因为 λ 2 = − 1 \lambda_2 = -1 λ 2 = − 1 .
以例1的租车例子来看,这个矩阵A,把所有丹佛的车都送到其他地区,也把其他地区的车都送到丹佛。幂A k A^k A k 在 A , I A,I A , I 之间不断交替,第2个特征向量 x 2 = ( − 1 , 1 ) x_2 = (-1,1) x 2 = ( − 1 , 1 ) 会不断的被 λ 2 = − 1 \lambda_2 = -1 λ 2 = − 1 在每一个步骤相乘,并且没有变小,所以没有稳态
假设A和A的幂的所有元素都是正值的--不允许出现0,在这种正规情况(regular case)下**,λ = 1 \lambda=1 λ = 1 会严格大于任何其他的特征值**,幂A k A^k A k 会逐渐逼近一个各列都是稳态的秩1矩阵(The powers A k A^k A k approach the rank one matrix that has the steady state in every column)
例3 假设有3个小组。在每个步骤
组1的一半人移动到组2,另外1半移动到组3
其他2组也是对半分,然后分别移动到另外2组
假设一开始的人数是 p 1 , p 2 , p 3 p_1,p_2,p_3 p 1 , p 2 , p 3 ,那么经过1步之后,人数是
u 1 = A u 0 = [ 0 1 2 1 2 1 2 0 1 2 1 2 1 2 0 ] [ p 1 p 2 p 3 ] = [ 1 2 p 2 + 1 2 p 3 1 2 p 1 + 1 2 p 3 1 2 p 1 + 1 2 p 2 ] u _ { 1 } = A u _ { 0 } = \left[ \begin{array} { c c c } 0 & \frac { 1 } { 2 } & \frac { 1 } { 2 } \\ \frac { 1 } { 2 } & 0 & \frac { 1 } { 2 } \\ \frac { 1 } { 2 } & \frac { 1 } { 2 } & 0 \end{array} \right] \left[ \begin{array} { l } p _ { 1 } \\ p _ { 2 } \\ p _ { 3 } \end{array} \right] = \left[ \begin{array} { c } \frac { 1 } { 2 } p _ { 2 } + \frac { 1 } { 2 } p _ { 3 } \\ \frac { 1 } { 2 } p _ { 1 } + \frac { 1 } { 2 } p _ { 3 } \\ \frac { 1 } { 2 } p _ { 1 } + \frac { 1 } { 2 } p _ { 2 } \end{array} \right] u 1 = A u 0 = 0 2 1 2 1 2 1 0 2 1 2 1 2 1 0 p 1 p 2 p 3 = 2 1 p 2 + 2 1 p 3 2 1 p 1 + 2 1 p 3 2 1 p 1 + 2 1 p 2
A是马尔科夫矩阵,并且包含了在例2产生麻烦的0元素(有0元素! )。但继续看,第2步之后,A 2 A^2 A 2 的0元素消失了:
u 2 = A 2 u 0 = [ 1 2 1 4 1 4 1 4 1 2 1 4 1 4 1 4 1 2 ] [ p 1 p 2 p 3 ] u _ { 2 } = A ^ { 2 } u _ { 0 } = \left[ \begin{array} { l l l } \frac { 1 } { 2 } & \frac { 1 } { 4 } & \frac { 1 } { 4 } \\ \frac { 1 } { 4 } & \frac { 1 } { 2 } & \frac { 1 } { 4 } \\ \frac { 1 } { 4 } & \frac { 1 } { 4 } & \frac { 1 } { 2 } \end{array} \right] \left[ \begin{array} { l } p _ { 1 } \\ p _ { 2 } \\ p _ { 3 } \end{array} \right] u 2 = A 2 u 0 = 2 1 4 1 4 1 4 1 2 1 4 1 4 1 4 1 2 1 p 1 p 2 p 3
A的特征值是λ 1 = 1 \lambda_1 = 1 λ 1 = 1 (因为A是马尔科夫!)和 λ 2 = λ 3 = − 1 2 \lambda_2 = \lambda_3 =- \frac{1}{2} λ 2 = λ 3 = − 2 1 .λ = 1 \lambda=1 λ = 1 对应的特征向量 x 1 = ( 1 3 , 1 3 , 1 3 ) x_1 = (\frac{1}{3},\frac{1}{3},\frac{1}{3}) x 1 = ( 3 1 , 3 1 , 3 1 ) 将会是稳态。也就是,当3个相等的人数的小组,每个小组的人数都平分然后移动到其他小组,最后的人数还是相等的。如从 u 0 = ( 8 , 16 , 32 ) u_0 = (8,16,32) u 0 = ( 8 , 16 , 32 ) 开始,马尔科夫链会逐渐接近稳态:
u 0 = [ 8 16 32 ] u 1 = [ 24 20 12 ] u 2 = [ 16 18 22 ] u 3 = [ 20 19 17 ] \boldsymbol { u } _ { 0 } = \left[ \begin{array} { r } 8 \\ 16 \\ 32 \end{array} \right] \quad \boldsymbol { u } _ { 1 } = \left[ \begin{array} { l } 24 \\ 20 \\ 12 \end{array} \right] \quad \boldsymbol { u } _ { 2 } = \left[ \begin{array} { l } 16 \\ 18 \\ 22 \end{array} \right] \quad \boldsymbol { u } _ { 3 } = \left[ \begin{array} { c } 20 \\ 19 \\ 17 \end{array} \right] u 0 = 8 16 32 u 1 = 24 20 12 u 2 = 16 18 22 u 3 = 20 19 17
注意 u 4 u_4 u 4 会尝试将 u 3 u_3 u 3 第2、3元素的奇数人数在分为1半,这在现实是不可能发生的,没办法在模型中改进这一点。每一步的总人数都是8+16+32=56.稳态就是 56 ∗ ( 1 3 , 1 3 , 1 3 ) 56 * (\frac{1}{3},\frac{1}{3},\frac{1}{3}) 56 ∗ ( 3 1 , 3 1 , 3 1 )
挑战问题 6.7.16 以网站之间的链接数目创建了1个马尔科夫矩阵A.稳态的 u ⃗ \vec{u} u 就是Google rankings. Google 通过链接之间的随机游走(random walks) 找到了 u ∞ u_{\infty} u ∞ .
注意,第2大特征值 ∣ λ 2 ∣ |\lambda_2| ∣ λ 2 ∣ 控制秩收敛到稳态的速度
例V24-2 现在讲应用,马尔科夫矩阵是怎么来的.我要求解和要就的是 u k + 1 = A u k u_{k+1}=Au_k u k + 1 = A u k ,A是马尔科夫矩阵.假设是2-2的,有两个州,加州(cal)和麻省(mass),看这两个州的人口问题.矩阵A表示,一年后发生了人口的迁移,一些人留在麻省,一些人搬去了加州.矩阵的元素表示,迁移或留下的人,占总人数的比例,以分数表示,所以是非负的,而且加起来是1(这里矩阵的元素就是表示留下或者迁移的概率 ,每一列都是正值,并且加起来是1!).所以满足马尔科夫矩阵的限定.那么我们得到
[ u c a l u m a s s ] t = k + 1 = [ .9 .2 .1 .8 ] [ u c a l u m a s s ] t = k \left[\begin{matrix} u_{cal} \\ u_{mass} \end{matrix} \right]_{t = k+1} =
\left[\begin{matrix} .9 & .2 \\ .1 & .8 \end{matrix} \right]
\left[\begin{matrix} u_{cal} \\ u_{mass} \end{matrix} \right]_{t = k} [ u c a l u ma ss ] t = k + 1 = [ .9 .1 .2 .8 ] [ u c a l u ma ss ] t = k
注意矩阵有严格的限制:在k不断变换的过程,这个矩阵A是保持不变的。也就是马尔科夫矩阵A是不变的。
矩阵A第1列代表的是加州人的迁移,.9的人留在了加州,.1的人搬去了麻省.我们考虑一下稳态是什么,100年后,麻省加州的人数是怎么样的呢?假设初始状态是,加州0人,麻省1000人,那么稳态是什么?
一旦给出了建模,就要开始求特征值和特征向量了.A的一个特征值是1,第二个特征值可以根据迹算出来,就是0.7(小于1,行列式是就是0.7).再看特征向量,直接计算
( A − 1 I ) x 1 = 0 ⇒ [ − .1 .2 .1 − .2 ] x 1 = 0 ⇒ x 1 = ( 2 , 1 ) (A- 1I ) x_1 = 0\quad \Rightarrow \left[\begin{matrix} -.1 & .2 \\ .1 & -.2\end{matrix} \right]x_1= 0 \qquad \Rightarrow x_1=(2,1) ( A − 1 I ) x 1 = 0 ⇒ [ − .1 .1 .2 − .2 ] x 1 = 0 ⇒ x 1 = ( 2 , 1 )
注意到特征向量的分量是正值的 .现在我们可以开始跳到无穷步后的人数了,稳态就是由这个特征向量给出的,是这个向量的倍数 ,怎么确定倍数关系呢?稳态下
[ u c a l u m a s s ] t = ∞ = c 1 λ 1 ∞ x 1 + c 2 λ 2 ∞ x 2 \left[\begin{matrix} u_{cal} \\ u_{mass} \end{matrix} \right]_{t = \infty} = c_1 \lambda_1^{\infty} x_1 + c_2\lambda_2^{\infty}x_2 [ u c a l u ma ss ] t = ∞ = c 1 λ 1 ∞ x 1 + c 2 λ 2 ∞ x 2
注意到以为λ 2 < 1 \lambda_2<1 λ 2 < 1 ,所以 λ 2 ∞ \lambda_2^{\infty} λ 2 ∞ 收敛大0,那么式子只剩下 c 1 λ 1 ∞ x 1 = c 1 x 1 c_1\lambda_1^{\infty}x_1 = c_1x_1 c 1 λ 1 ∞ x 1 = c 1 x 1 ,而 x 1 x_1 x 1 的分量和是3,而总人数数是1000,所以1000的2/3,1/3就是稳态!稳态就是 x 1 x_1 x 1 的倍数 !而优先步骤,如100步以后的人数,怎么得到呢》还是要求一下 x 2 x_2 x 2 ,也就是 ∣ A − λ 2 ∣ |A-λ_2 | ∣ A − λ 2 ∣ 的零空间,得到 x 2 = ( − 1 , 1 ) x_2=(−1,1) x 2 = ( − 1 , 1 ) ,那么
[ u c a l u m a s s ] t = 100 = c 1 1 100 [ 2 1 ] + c 2 ( .7 ) 100 [ − 1 1 ] \left[\begin{matrix} u_{cal} \\ u_{mass} \end{matrix} \right]_{t = 100} =
c_1 1^{100} \left[\begin{matrix} 2 \\1 \\\end{matrix} \right]
+ c_2(.7)^{100}\left[\begin{matrix} -1 \\1 \\\end{matrix} \right] [ u c a l u ma ss ] t = 100 = c 1 1 100 [ 2 1 ] + c 2 ( .7 ) 100 [ − 1 1 ]
在根据u 0 u_0 u 0 求出 c 1 , c 2 c_1,c_2 c 1 , c 2 . 我们的矩阵是作用在 u 0 = [ 0 1000 ] u_0=\left[\begin{matrix} 0 \\1000 \\\end{matrix} \right] u 0 = [ 0 1000 ] 上的,如果我们将 k = 0 带入上面的公式,得到
u 0 = [ 0 1000 ] = c 1 [ 2 1 ] + c 2 [ − 1 1 ] u _ { 0 } = \left[ \begin{array} { c } 0 \\ 1000 \end{array} \right] = c _ { 1 } \left[ \begin{array} { l } 2 \\ 1 \end{array} \right] + c _ { 2 } \left[ \begin{array} { c } - 1 \\ 1 \end{array} \right] u 0 = [ 0 1000 ] = c 1 [ 2 1 ] + c 2 [ − 1 1 ]
两个方程,两个常数,两个特征向量肯定线性无关 ,有唯一解,得到
u 0 = [ 0 1000 ] = 1000 3 [ 2 1 ] + 2000 3 [ − 1 1 ] u _ { 0 } = \left[ \begin{array} { c } 0 \\ 1000 \end{array} \right] = \frac{1000}{3} \left[ \begin{array} { l } 2 \\ 1 \end{array} \right] +
\frac{2000}{3}\left[ \begin{array} { c } - 1 \\ 1 \end{array} \right] u 0 = [ 0 1000 ] = 3 1000 [ 2 1 ] + 3 2000 [ − 1 1 ]
这就是马尔科夫矩阵!特征值小于1的部分将会在无穷步骤之后消失!
注意,在很多应用当中,人们更喜欢使行向量,此时用行向量来左乘矩阵,我们使用的是矩阵的转置,因此在很多课本当中,你会看到马尔科夫矩阵的行向量的元素和是1,而不是列向量
只要矩阵所有的元素 a i j ≥ 0 a_{ij}\ge0 a ij ≥ 0 , 就可以应用PF定理,不需要列元素加起来是1。我们证明其最简洁的形式:所有 a i j > 0 a_{ij} > 0 a ij > 0
Perron-Frobenius for A > 0
A x = λ m a x x Ax = \lambda_{max}x A x = λ ma x x 当中的x的所有分量都是严格正值的。(注意,需要是λ m a x \lambda_{max} λ ma x 对应的特征向量)
证明: 证明思想是:对一些非负向量 x (而不是x ⃗ = 0 ⃗ ) \vec{x}=\vec{0}) x = 0 ) .寻找所有满足 A x ≥ t x Ax \ge tx A x ≥ t x 的数字 t,这些 t 当中,肯定有1个最大的t m a x t_{max} t ma x ,对于 t m a x t_{max} t ma x 我们证明 A x = t m a x x Ax = t_{max}x A x = t ma x x 等式成立
如果 A x ≥ t m a x x Ax \ge t_{max}x A x ≥ t ma x x 不能取得等号,因为A>0,所以可取得严格不等式 A 2 x > t m a x A x A^2x > t_{max}Ax A 2 x > t ma x A x .因此对于正值的 y=Ax,有 A y > t m a x y Ay > t_{max}y A y > t ma x y .
sp:证明看不懂,记住定理把
Population growth
把全国人口划分为3个区间: 年龄 < 20 ; 20 ≤ 年龄 ≤ 39 ; 40 ≤ 59 年龄<20;20 \le 年龄 \le 39;40\le 59 年龄 < 20 ; 20 ≤ 年龄 ≤ 39 ; 40 ≤ 59 . 如果在年份T,3个组的人口分别是 n 1 , n 2 , n 3 n_1,n_2,n_3 n 1 , n 2 , n 3 .设3个组的生育率分别为 F 1 , F 2 , F 3 F_1,F_2,F_3 F 1 , F 2 , F 3 (F 2 F_2 F 2 会最大),那么20年过后,每个组的人口的会因为出生率和存活率有所变动:
n 1 n_1 n 1 组:20年后,这一组的人口全部都是新出生的人口,也就是 n 1 new = F 1 n 1 + F 2 n 2 + F 3 n 3 n _ { 1 } ^ { \text {new } } = F _ { 1 } n _ { 1 } + F _ { 2 } n _ { 2 } + F _ { 3 } n _ { 3 } n 1 new = F 1 n 1 + F 2 n 2 + F 3 n 3
n 2 n_2 n 2 组:人口全部来自于n 1 n_1 n 1 组的存活:n 2 new = P 1 n 1 n _ { 2 } ^ { \text {new } } = P _ { 1 } n _ { 1 } n 2 new = P 1 n 1
n 2 n_2 n 2 组:人口全部来自于n 2 n_2 n 2 组的存活:n 3 new = P 2 n 2 n _ { 3 } ^ { \text {new } } = P _ { 2 } n _ { 2 } n 3 new = P 2 n 2
如下是建模,矩阵称为莱斯利矩阵(Leslie matrix A):
[ n 1 n 2 n 3 ] new = [ F 1 F 2 F 3 P 1 0 0 0 P 2 0 ] [ n 1 n 2 n 3 ] = [ .04 1.1 .01 .98 0 0 0 .92 0 ] [ n 1 n 2 n 3 ] \left[ \begin{array} { c } n _ { 1 } \\ n _ { 2 } \\ n _ { 3 } \end{array} \right] ^ { \text {new } } = \left[ \begin{array} { c c c } F _ { 1 } & F _ { 2 } & F _ { 3 } \\ P _ { 1 } & 0 & 0 \\ 0 & P _ { 2 } & 0 \end{array} \right] \left[ \begin{array} { l } n _ { 1 } \\ n _ { 2 } \\ n _ { 3 } \end{array} \right] = \left[ \begin{array} { c c c } .04 & 1.1 & .01 \\ .98 & 0 & 0 \\ 0 & .92 & 0 \end{array} \right] \left[ \begin{array} { l } n _ { 1 } \\ n _ { 2 } \\ n _ { 3 } \end{array} \right] n 1 n 2 n 3 new = F 1 P 1 0 F 2 0 P 2 F 3 0 0 n 1 n 2 n 3 = .04 .98 0 1.1 0 .92 .01 0 0 n 1 n 2 n 3
以上是最简单的人口模型,矩阵A 不改变,现实当中上A会随着时间改变(环境、经济因素等).更专业的模型还会包括第4个 年龄>60.
这个矩阵 A ≥ 0 A \ge 0 A ≥ 0 但不是 A > 0 A>0 A > 0 .但仍然可以使用PF定理,以为 A 3 > 0 A^3 >0 A 3 > 0 .最大的特征值是 λ m a x = 1.06 \lambda_{max} = 1.06 λ ma x = 1.06
eig ( A ) = 1.06 − 1.01 − 0.01 A 2 = [ 1.08 0.05 .00 0.04 1.08 .01 0.90 0 0 ] A 3 = [ 0.10 1.19 .01 0.06 0.05 .00 0.04 0.99 .01 ] \operatorname { eig } ( A ) = \begin{array} { r } 1 . 0 6 \\ - 1.01 \\ - 0.01 \end{array} \quad A ^ { 2 } = \left[ \begin{array} { c c c } 1.08 & 0.05 & .00 \\ 0.04 & 1.08 & .01 \\ 0.90 & 0 & 0 \end{array} \right] \quad A ^ { 3 } = \left[ \begin{array} { l l l } 0.10 & 1.19 & .01 \\ 0.06 & 0.05 & .00 \\ 0.04 & 0.99 & .01 \end{array} \right] eig ( A ) = 1.06 − 1.01 − 0.01 A 2 = 1.08 0.04 0.90 0.05 1.08 0 .00 .01 0 A 3 = 0.10 0.06 0.04 1.19 0.05 0.99 .01 .00 .01
如果从初始向量 u 0 = ( 0 , 1 , 0 ) u_0 = (0,1,0) u 0 = ( 0 , 1 , 0 ) ,也就是只有 n 2 = 1 n_2 = 1 n 2 = 1 开始。第1个20年过后,n 2 n_2 n 2 产生了1.1个n 1 n_1 n 1 ,存活了0.92到n 3 n_3 n 3 .所以n 2 = ( 1.1 , 0 , .92 ) = A 的列 2 n_2 = (1.1,0,.92) = A 的列2 n 2 = ( 1.1 , 0 , .92 ) = A 的列 2 。 注意: u 2 = A u 1 = A 2 u 0 = A 2 的列 2 u_2 = Au_1 = A^2u_0=A^2的列2 u 2 = A u 1 = A 2 u 0 = A 2 的列 2 (因为u 0 u_0 u 0 只有第2个元素是1).前面的一些序列严重依赖与初始向量 u 0 u_0 u 0 ,但渐进增长率(the asymptotic growth rate) λ m a x \lambda_{max} λ ma x 对所有的起点 u 0 u_0 u 0 都是一样的。λ m a x \lambda_{max} λ ma x 对应的特征向量是 x = ( .63 , .58 , .51 ) x= (.63,.58,.51) x = ( .63 , .58 , .51 )
Linear Algebra in Economics: The Consumption Matrix
消费矩阵可以告诉我们:生产1单位的产出,需要消耗各种输入分别多少单位。设有3个产额:化学物品、食物、石油。而生产1单位的化学物质需要 .2单位的化学物质、.3单位的食物和 .4 单位的石油,这些数字成为消费矩阵A的第1行:
[ chemical output food output oil output ] = [ .2 .3 .4 .4 .4 .1 .5 .1 .3 ] [ chemical input food input oil input ] \left[ \begin{array} { c } \text { chemical output } \\ \text { food output } \\ \text { oil output } \end{array} \right] = \left[ \begin{array} { c c c } .2 & .3 & .4 \\ .4 & .4 & .1 \\ .5 & .1 & .3 \end{array} \right] \left[ \begin{array} { c } \text { chemical input } \\ \text { food input } \\ \text { oil input } \end{array} \right] chemical output food output oil output = .2 .4 .5 .3 .4 .1 .4 .1 .3 chemical input food input oil input
现实生活种,USA 1958年的消费矩阵包含83个行业,很复杂,这里我们选择的消费矩阵的特征向量是特殊的。
现在有了问题:经济可以承担对化学物品=y1、食物=y2、石油=y3的要求吗?注意,输入的 p 1 , p 2 , p 3 p_1,p_2,p_3 p 1 , p 2 , p 3 会比想象的大一点,因为部分的p需要在生产y的时候被消耗掉:输入p,消耗了Ap,净产出是 p - Ap.
问题: 求一个向量p满足 p − A p = y p - Ap = y p − A p = y 或 p = ( I − A ) − 1 y p = (I - A)^{-1} y p = ( I − A ) − 1 y
明显这个问题的线代方法就是判断 I − A I-A I − A 是否可逆。但实际上仅考虑这一点不够,以为 y 明显是非负的,而且A也是,而且 p = ( I − A ) − 1 y p = (I - A)^{-1} y p = ( I − A ) − 1 y 也必须是非负的。实际问题是:什么时候 ( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 是1个非负矩阵?
如果A比I小,那么Ap就比p小,会有很多的产出。如果A很大,那么产出所消耗的比产出本身更多,这时需求y就无法被满足
其实A的小、大的概念是根据A的最大特征值λ 1 \lambda_1 λ 1 (是一个正数)来判断的:
如果 λ 1 > 1 \lambda_1>1 λ 1 > 1 ,那么 ( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 有负元素
如果 λ 1 = 1 \lambda_1=1 λ 1 = 1 ,那么 ( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 不存在
如果 λ 1 < 1 \lambda_1<1 λ 1 < 1 ,那么 ( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 是非负的,并且是我们想要的
我们把注意力几种在最后1种情况。我们为什么选 ( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 这种形式表达呢?回忆一下几何级数: 1 + x + x 2 + . . . 1+x+x^2+... 1 + x + x 2 + ... ,如果− 1 < x < 1 -1<x<1 − 1 < x < 1 ,那么极限是 1 / ( 1 − x ) 1/(1-x) 1/ ( 1 − x ) .否则级数不收敛。
( I − A ) − 1 (I - A)^{-1} ( I − A ) − 1 也有一个漂亮的公式:矩阵几何级数(geometric series of matrices):
Geometric series : ( I − A ) − 1 = I + A + A 2 + A 3 + ⋯ \text{Geometric series}:\qquad ( I - A ) ^ { - 1 } = I + A + A ^ { 2 } + A ^ { 3 } + \cdots Geometric series : ( I − A ) − 1 = I + A + A 2 + A 3 + ⋯
设上述级数为S,如果将A再乘以S,得到 A S = A + A 2 + . . . . AS = A+A^2+.... A S = A + A 2 + .... ,也就是只少了第1个元素 I 不同,可得 :S − A S = I S- AS = I S − A S = I ,也就是 ( I − A ) S = I (I - A)S = I ( I − A ) S = I ,又可得到 S = ( I − A ) − 1 S = (I - A)^{-1} S = ( I − A ) − 1 .这个级数在A的所有特征值 ∣ λ < 1 ∣ |\lambda<1| ∣ λ < 1∣ 时收敛。
在我们的模型当中, A ≥ 0 A\ge 0 A ≥ 0 ,也就是所有元素非负。要求它的和 ( I − A ) − 1 ≥ 0 (I - A)^{-1}\ge 0 ( I − A ) − 1 ≥ 0
例4