一、基本思想
關於馬爾可夫鏈蒙特卡洛方法需要首先理解以下幾個基本概念:隨機過程、馬爾可夫過程、馬爾可夫鏈、蒙特卡洛方法。
隨機過程研究的是隨時間演變的隨機現象。對於這種現象,一般來說,人們已不能用簡單的隨機變量或多維隨機變量進行合理地表達,而需要用一族隨機變量來描述。設T是一無限實數集,我們把依賴於參數t∈T的一族(無限多個)隨機變量稱為隨機過程,記為{X(t),t∈T},X(t)是一隨機變量,T叫作參數集。我們常把t看作時間,稱X(t)為時刻t時過程的狀態,對於一切t∈T,X(t)所有可能取的一切值的全體稱為隨機過程的狀態空間。對隨機過程{X(t),t∈T}進行一次實際試驗(即在T上進行一次全程觀測),其結果是t的函數,記為x(t),t∈T,稱它為隨機過程的一個樣本函數或樣本曲線。當然,試驗可以重複進行,所有不同的試驗結果構成一族樣本函數。因此,隨機過程與其樣本函數的關係就像數理統計中的總體與樣本的關係一樣。
關於馬爾可夫過程,設隨機過程{X(t),t∈T}的狀態空間為I,如果對時間t的任意n個數值t1<t2<…<tn,n≥3,ti∈T,在條件X(ti)=xi,xi∈I,i=1,2,…,n-1下,X(tn)的條件分布函數恰等於在條件X(tn-1)=xn-1下X(tn)的條件分布函數,即
則稱隨機過程{X(t),t∈T}具有馬爾可夫性或無後效性,並稱此過程為馬爾可夫過程。通俗地說,馬爾可夫過程是這樣一類隨機過程,就是在已經知道過程“現在”的條件下,其“將來”不依賴於“過去”。而時間和狀態都是離散取值的馬爾可夫過程稱為馬爾可夫鏈。蒙特卡洛方法是一種使用隨機數(或偽隨機數)來解決很多計算問題的方法。當所求解問題是某種隨機事件出現的概率,或者是某個隨機變量的期望值時,通過實際試驗的方法,以這種事件出現的頻率估計這一隨機事件的概率,或者得到這個隨機變量的某類數字特征,並將其作為問題的解。蒙特卡洛方法的求解過程可以歸結為三個主要步驟:構造或描述概率過程;從已知概率分布進行抽樣;建立各種估計量。對於那些由於計算過於複雜而難以得到解析解或者根本沒有解析解的問題,蒙特卡洛方法是一種求出數值解的有效的方法。
馬爾可夫鏈蒙特卡洛方法,簡稱MCMC,產生於19世紀50年代早期,是在貝葉斯理論框架下,通過計算機進行模擬的蒙特卡洛方法。該方法將馬爾可夫(Markov)過程引入蒙特卡洛模擬中,實現抽樣分布隨模擬的進行而改變的動態模擬,彌補了傳統的蒙特卡洛積分隻能靜態模擬的缺陷。馬爾可夫鏈蒙特卡洛方法通過模擬的方式對高維積分進行計算,進而使原本異常複雜的高維積分計算問題迎刃而解,使貝葉斯方法僅適用於解決簡單低維問題的狀況大有改觀,為貝葉斯方法的應用開辟了新的道路。
馬爾可夫鏈蒙特卡洛方法的基本思想,首先是通過序列抽樣,產生關於模型參數的隨機變量序列{X(0),X(1),X(2),…,X(t-1),X(t)},這個隨機變量序列最終收斂到某個平穩分布(stationary distribution)π(x),該隨機變量序列稱為馬爾可夫鏈;然後通過該隨機變量序列的樣本來推論(估計)模型參數的各種特性。因此,該方法有兩個關鍵步驟:一是建立馬爾可夫鏈;二是運用馬爾可夫鏈的樣本來估計模型參數的各種特性。
為了便於敘述和理解,下文將把馬爾可夫鏈中的各個值稱為觀測值。
二、馬爾可夫鏈的建立方法
如何產生收斂於某個平穩分布π(x)的隨機變量序列(馬爾可夫鏈),是實現馬爾可夫鏈蒙特卡洛方法的關鍵。根據馬爾可夫鏈的建立原則,鏈中的各個觀測值的產生過程應該是依次進行的,後一個觀測值的產生隻依賴於前一個觀測值,而與更早產生的觀測值無關。也就是說,在建立馬爾可夫鏈過程中的任一時刻t(t≥0),序列中下一時刻t+1處的取值X(t+1)由條件分布P(x|X(t))決定,它隻依賴於時刻t處的狀態,而與時刻t以前的曆史狀態無關。因此,馬爾可夫鏈的建立過程就是從一個時刻狀態向下一個時刻狀態轉移的過程,其一步(次)轉移概率函數為P(X(t+1)=x′|X(t)=x),該轉移概率函數可以記為p(x,x′),稱為該馬爾可夫鏈的轉移核,通過該轉移核產生的且收斂的隨機變量序列的分布即為平穩分布π(x)。因此,轉移核的構造就成了實現馬爾可夫鏈蒙特卡洛方法的關鍵,不同的馬爾可夫鏈蒙特卡洛方法,其實質往往也就是構造轉移核的方法不同。而在現在的實際應用研究中,大多數馬爾可夫鏈蒙特卡洛方法在構造轉移核時,關鍵就是要寫出模型參數(變量)的滿條件分布(full conditionals)。所謂滿條件分布,就是在條件分布中,所有的模型參數(變量)應該全部出現,或出現在條件中,或出現在變元中。在關於項目反應理論模型的相關研究文獻中一般會提供各相關參數的滿條件分布。
由於模型參數的特性是通過建立的馬爾可夫鏈的樣本進行估計的,而該馬爾可夫鏈應該收斂到某個平穩分布π(x)上,因此,理論上,該平穩分布應該要服從模型參數的後驗分布(posterior distribution)。
另外,任何一個馬爾可夫鏈的建立都需要有一個起始點,即初始值X(0)。雖然經過研究發現非常不同的初始值最終也能夠收斂到平穩分布,但選擇一個更加合理的初始值應該能夠提高收斂的效果。接著的另外一個問題是,什麽時候才能認為抽樣過程已經收斂了呢?這雖然沒有統一的標準檢驗判斷方法,但是,從經驗出發,如果產生的觀測值足夠多,如6000或更多,那麽,它應該是收斂的。另外,也可以通過以下經簡化的方法來進行驗證,在建立馬爾可夫鏈的過程中,每隔一段計算該段所有觀測值的平均數,當所有平均數趨於穩定時,可以認為抽樣過程收斂。
馬爾可夫鏈的具體建立方法主要有以下幾種:Gibbs抽樣方法、Metropolis-Hastings抽樣方法、Gibbs結合Metropolis-Hastings方法。
在項目反應理論研究和應用中,Gibbs方法就是從模型參數的滿條件分布中直接進行反複迭代抽樣,這個過程與項目反應理論中的聯合極大似然估計過程類似,即一個參數估計(產生)值作為估計(產生)另一個參數的已知值,如此循環進行迭代更新,因此,Gibbs抽樣是單元素抽樣,因為每一步隻從單個參數的滿條件分布中進行抽樣。然而,該方法的實現通常涉及計算正態化常數,使樣本難以抽取,這個步驟使得該方法顯得不夠簡潔便利。
三、馬爾可夫鏈的使用
建立了服從某個平穩分布的馬爾可夫鏈之後,通常以這個馬爾可夫鏈的樣本平均數作為參數的估計值。當然也可以通過這個馬爾可夫鏈的樣本來估計參數估計的標準差等。在實現馬爾可夫鏈的過程中,開頭的部分觀測值會顯得非常不穩定,因此,在實踐研究當中,通常是以刪除了馬爾可夫鏈開頭的部分觀測值(burn-in)之後剩餘的觀測值作為研究樣本。
下麵還是以DINA模型為例,簡單介紹利用馬爾可夫鏈蒙特卡洛方法估計項目參數和被試屬性掌握模式的過程。這裏需要估計的參數為項目的猜測參數s、失誤參數g,以及被試的屬性掌握模式α。這些參數的聯合後驗分布可以表示如下:
當給定餘下相關的參數,這些參數的完全條件分布可以分別表示如下:
在馬爾可夫鏈蒙特卡洛算法的第t次迭代時,按如下的過程進行抽樣。
①對於s和g,從建議分布中抽取它們可能的值,並且按照如下的接受概率進行更新。
②對於α,同樣從建議分布中抽取可能的值,並且按照如下的接受概率進行更新。
需要說明的是,雖然這裏對於s和g是按照整體來進行抽樣的,但並不代表必須這樣做,對它們分別進行抽樣也是可以的。建議分布的選取理論上是可以任意選擇的,但是很多研究表明建議分布的選取會影響到算法的收斂速度。因此,為了算法更好更快地收斂,建議選擇使樣本相關較小的分布。關於這方麵的內容,可以參考相關的文獻。
本章小結
參數估計是獲得認知診斷結果的技術。參數估計方法的合適性主要是看其實現過程的高效性和估計結果的穩定一致性。
不同的參數估計方法均是基於已有的信息,包括測試樣本數據信息和過去的經驗信息(先驗信息),結合具體的模型,通過尋找極大似然估計值來推斷被試特征的過程。測試樣本數據信息和先驗信息的質量是影響參數估計結果的主要因素。測試樣本數據信息的質量受到被試樣本質量和容量、測驗題目質量和數量的影響,先驗信息的質量主要受到我們關於被試特質和題目特征的認知深度的影響。對測試樣本信息和先驗信息的認識和使用方式也是影響參數估計結果的關鍵因素,並由此形成了不同的參數估計方法和實現策略。
思考題
1.什麽是先驗分布?什麽是後驗分布?
2.邊際極大似然估計的一般過程是什麽?
3.極大後驗估計和期望後驗估計方法的關鍵不同之處是什麽?