- 統計學習理論與方法:R語言版
- 左飛
- 2734字
- 2020-10-16 16:24:22
3.3 矩陣的極限與馬爾科夫鏈
先來看一個例子。社會學家經常把人按其經濟狀況分成3類:下層(lower-class)、中層(middle-class)、上層(upper-class),用1、2、3分別代表這三個階層。社會學家們發現決定一個人的收入階層的最重要的因素就是其父母的收入階層。如果一個人的收入屬于下層類別,那么他的孩子屬于下層收入的概率是0.65,屬于中層收入的概率是0.28,屬于上層收入的概率是0.07。從父代到子代,收入階層的變化的轉移概率如圖3-15所示。

圖3-15 階層變化的轉移概率
使用矩陣的表示方式,轉移概率矩陣記為

假設當前這一代人處在下、中、上層的人的比例是概率分布向量π0=[π0(1),π0(2),π0(3)],那么他們的子女的分布比例將是π1=π0P,孫子代的分布比例將是π2=π1P=π1P2=…,第n代子孫的收入分布比例將是πn=πn-1P=…=π0Pn。假設初始概率分布為π0=[0.21,0.68,0.11],則可以計算前n代人的分布狀況如下:

發現從第7代人開始,這個分布就穩定不變了,這個是偶然的嗎?我們換一個初始概率分布π0=[0.75,0.15,0.1]試試看,繼續計算前n代人的分布狀況如下

結果,到第9代人的時候,分布又收斂了。最為奇特的是,兩次給定不同的初始概率分布,最終都收斂到概率分布π=[0.286,0.489,0.225],也就是說收斂的行為和初始概率分布π0無關。這說明這個收斂行為主要是由概率轉移矩陣P決定的。計算一下Pn,

我們發現,當n足夠大的時候,這個Pn矩陣的每一行都是穩定地收斂到π=[0.286,0.489,0.225]這個概率分布。自然地,這個收斂現象并非是這個例子所獨有,而是絕大多數“馬爾科夫鏈”的共同行為。
為了求得一個理論上的結果,再來看一個更小規模的例子(這將方便后續的計算演示),假設在一個區域內,人們要么是住在城市,要么是住在鄉村。下面的矩陣表示人口遷移的一些規律(或傾向)。例如,第1行第1列就表示,當前住在城市的人口,明年將會有90%的人選擇繼續住在城市。


圖3-16 兩年后人口的轉移
作為一個簡單的開始,來計算一下現今住在城市的人中2年后會住在鄉村的概率有多大。分析可知,當前住在城市的人,1年后,會有90%繼續選擇住在城市,另外10%的人則會選擇搬去鄉村居住。然后又過了1年,上一年中選擇留在城市的人中又會有10%的人搬去鄉村。而上一年中搬到鄉村的人中將會有98%的選擇留在鄉村。這個分析過程如圖3-16所示,最終可以算出現今住在城市的人中2年后會住在鄉村的概率=0.90×0.10+0.10×0.98。
其實上述計算過程就是在做矩陣的平方。在下面給出的矩陣乘法中,你會發現結果矩陣中第2行第1列的計算就是在執行上面的操作。在此基礎,我們還可以繼續計算n年后的情況,也就是計算矩陣A自乘n次后的結果。

如果假設最開始的時候,城鄉人口的比例為7:3,可以用一個列向量來表示它,即P=[0.7,0.3]T,想知道最終城鄉人口的比例為何,則就是要計算。如果最初城鄉人口的比例為9:1,結果又如何呢?這些都要借助矩陣的極限,對角化操作以及馬爾科夫鏈等概念來輔助計算。
來辨析三個概念:隨機過程、馬爾科夫過程、馬爾科夫鏈。這三個概念中,都涉及對象和它們對應的狀態這兩個要素。在剛剛給出的例子中,研究的對象就是人,人的狀態分為住在城市或者住在鄉村兩種。
三者之中,最寬泛的概念就是隨機過程,限制最多的就是馬爾科夫鏈。對于馬爾科夫鏈,必須滿足兩個條件:①當前狀態僅跟上一個狀態有關;②總共的狀態數是有限的。如果狀態數可以是無限多個,那樣的問題就稱為馬爾科夫過程。但在馬爾科夫過程中仍然要求,時間是離散的,例如前面的例子是以“年”為單位的。如果時間允許是連續的,那樣的問題就稱為隨機過程。本書僅僅討論馬爾科夫鏈。
在某個時間點上,對象的狀態為s1,下一個時刻,它的狀態以某種概率轉換到其他狀態(也包含原狀態s1),這里所說的“以某種概率轉換”最終是通過狀態轉移矩陣(或稱隨機矩陣)的形式來給出的。轉移矩陣的定義如下:
令,假設:
(1)Aij≥0;
(2)對于所有的1≤j≤n,。
那么,A稱為一個轉移矩陣(或隨機矩陣)。矩陣A的列向量被稱為概率向量。
此外,如果矩陣的某個次冪僅包含正數項,該轉移矩陣稱為是正則的。這里,“某個”的意思就是存在一個整數n使得對于所有的i,j,有(An)ij>0。
從狀態轉移矩陣中,(結合之前的例子)可以看出Aij元素給出的信息就是(在一個單位時間間隔內)對象從狀態j轉移到狀態i的概率。令P=(p0,p1,…,pn)T是一個向量,如果對于所有的i,有pi≥0以及∑pi=1,那么P就稱為一個概率向量(probability vector)。所以可以看出,任意一個轉移矩陣中的某一列都是一個概率向量。
定理:令A是一個n×n的正則轉移矩陣。那么:
(1)1一定是矩陣A的一個特征值,并且1的幾何重數等于1,除此之外,所有其他的特征值之絕對值都小于1;
(2)A可以對角化,并且存在;
(3)是一個轉移矩陣;
(4)AL=LA=L;
(5)矩陣L=[v,v,…,v],即L的每一列都一樣,都是v。而且v就是矩陣A相對于特征值1的特征向量;
(6)對于任意概率向量w,都有。
這個定理非常非常奇妙的地方就是它解答了之前那個令人困擾的問題!原問題是:如果假設最開始的時候,城鄉人口的比例為7:3,可以用一個列向量來表示它P=[0.7,0.3]T,欲知道最終城鄉人口的比例為何,則就是要計算AnP,如果最開始的城鄉人口的比例為9:1,結果又如何。上述定理中的最后一條就表明,當n趨近于無窮大的時候,AnP就等于v,而且與P是無關的。更精妙的地方還在于,這個定理還告訴我們v是一個概率向量,而且它就是特征值1所對應的特征向量。
這個定理的證明已經超出了本書的范圍,但可以用之前給出的例子來驗證一下它。注意到如果想要計算AnP,其實就是要先設法計算矩陣A自乘n次的結果,這時為了計算方便應該先將矩陣A對角化。為此,先求矩陣A的特征多項式,通過其特征多項式便知道矩陣A有兩個特征值,一個是1,一個是0.88。根據定理,1必然是該矩陣的特征值。更進一步,特征值1對應的特征向量是[1,5]T,特征值0.88對應的特征向量是[1,-1]T。所以知道矩陣對角化時所用的Q和Q-1分別為

于是可知矩陣A的對角化結果如下:

所以有

然后把值帶進去就能算出最終結果如下

之前計算過特征值1對應的一個特征向量是[1,5]T,特征向量乘以一個系數仍然是特征向量(注意要求最后的特征向量同時是一個概率向量,所以會得到[1/6,5/6]T,可見上述計算與定理所揭示的結果是完全一致的。
矩陣的極限,其實就是在討論的存在性,也就是把矩陣
自乘m次后,如果結果矩陣中每個元素的極限都存在,就說這個矩陣的極限是存在的。而矩陣極限是否存在可以由下面的定理保證。
定理 矩陣極限存在的充要條件:
(1)|λ|<1或者λ=1,其中λ是A的任意特征值。
(2)如果λ=1,那么它對應的幾何重數等于代數重數。
定理 矩陣極限存在的充分條件:
(1)|λ|<1或者λ=1,其中λ是A的任意特征值。
(2)矩陣A是可對角化的。