羅 琦,趙勝民
(1.天津師范大學 經濟學院,天津 300387;2.南開大學 金融學院,天津 300071)
動態隨機一般均衡(Dynamic Stochastic General Equilibrium,以下簡稱DSGE)模型可以說是當代宏觀經濟建模和分析的主要框架[1—3],在過去的十幾年里,已經發展成為宏觀經濟學的一個重要組成部分。然而,利用動態隨機一般均衡模型進行經濟政策分析前,需要先對動態隨機一般均衡模型的參數進行估計。近年來,針對動態隨機一般均衡模型參數的估計方法層出不窮,包括極大似然估計、模擬矩估計、貝葉斯估計等。在這些主流估計方法中,貝葉斯估計目前仍占據主導地位[4]。貝葉斯估計主要利用先驗分布結合似然函數找到后驗分布,并利用后驗分布給出參數估計,通常選擇后驗均值估計或最大后驗估計。然而,由于動態隨機一般均衡模型往往是高度非線性的,這也導致了其對應的后驗分布也具有高度非線性的特征,從而使得后驗分布的參數推斷也變得非常復雜。隨著計算機技術的飛速發展,馬爾可夫鏈蒙特卡羅(Markov Chain Monte Carlo,以下簡稱MCMC)算法被越來越多地應用于統計計算和參數估計中。馬爾可夫鏈蒙特卡羅算法是一類從高維復雜分布中進行采樣的統計方法,近年來,一大批經濟學者采用馬爾可夫鏈蒙特卡羅算法對動態隨機一般均衡模型進行貝葉斯估計[4—6]。這種基于MCMC算法的貝葉斯參數估計主要是要構造后驗分布:首先,設定轉移核;然后,根據選定初始值,利用MCMC算法進行馬爾可夫(Markov)鏈的迭代,一般可進行一條或多條Markov鏈迭代,當鏈收斂時,其極限分布即所需的后驗分布。MCMC算法解決了貝葉斯參數估計中高維積分運算的難點,提供了一種采樣后驗分布的技術[7]。
近年來發展出來的多鏈MCMC 算法是從人工智能算法中的遺傳算法得到啟發,將“種群”的概念引入MCMC算法中,在先驗參數概率空間中采樣多個點,作為初始種群,也作為每條Markov 鏈的起始,之后讓多條Markov 鏈平行“進化”,各條Markov鏈并非完全獨立,而是通過共同產生推薦分布(轉移核)的方式互相影響[8,9]。多鏈MCMC 算法相比傳統單鏈算法有明顯的優勢,特別是在維度高、搜索量大、有眾多局部最優點的參數空間中,很多研究表明多鏈MCMC算法能夠更好地解決早熟收斂的問題,使得參數分布能夠收斂到參數的極限分布上,并且與多核計算機及并行計算的發展相適應[9]。2006 年Ter Braak 將上述多鏈MCMC 算法與差分進化(Differential Evolution,DE)方法相結合提出了著名的差分進化Markov 鏈(Differential Evolution Markov Chain,以下簡稱DEMC)算法,并且Ter Braak通過100 維正態分布函數證明它的效率高于單獨的多鏈MCMC 算法[8]。2009 年,Vrugt 等人又對Ter Braak 提出的DEMC算法進行了改進,提出了Differential Evolution Adaptive Metropolis(以下簡稱DREAM)算法。相比于Ter Braak提出的DEMC算法,DREAM算法在采樣上做出了改進,采用自適應抽樣和差分進化相結合的采樣形式,大大提高了之前DEMC 算法逃逸局部最優解的能力,并且Vrugt 等人驗證了DREAM算法的遍歷性和收斂性[8]。自從2009年被提出以來,DREAM 算法已經在眾多自然科學領域得到廣泛應用,尤其是被應用在參數維度高以及高度非線性的模型中,包括高維參數的地下水模型[10,11]、積雪和融化模型[12,13]、地表表面過程模型[14]和流域水文模型[15]等。另外,DREAM 算法由于其具有結構簡單、容易實現、收斂快速、魯棒性強等特點,因而也被廣泛應用在數據挖掘、模式識別、人工神經網絡等各個領域[16,17]。DREAM算法在這些不同學科領域的應用中已經顯示出強大的生命力,但目前在國內外的文獻中尚未見DREAM 算法被應用在宏觀經濟學中的動態隨機一般均衡模型的參數估計當中,缺乏DREAM算法在動態隨機一般均衡模型中的適用性研究。
鑒于此,為了進一步豐富動態隨機一般均衡模型參數的估計方法和拓展DREAM算法的適用范圍,本文以動態隨機一般均衡模型LS(2005)為例,采用DREAM算法對動態隨機一般均衡模型LS(2005)的17 個參數進行估計,其中,動態隨機一般均衡模型LS(2005)是Lubik 和Schorfheide 于2005年提出的一個加入國外經濟的開放宏觀經濟DSGE模型。而后,本文將DREAM算法的估計效率與其他常用算法,譬如Random Walk Metropolis Hasting(RWMH)和Independent Metropolis Hasting(IMH)算法進行比較。
DREAM算法作為差分進化Markov鏈(DEMC)算法的改進版本,相比于差分進化Markov 鏈算法,DREAM 算法采用自適應抽樣和差分進化相結合的采樣形式,并且運用四分位距(Inter Quartile Range,IQR)統計方法去除無用鏈,這些改進提高了DREAM 算法的搜索效率和解的精度[18]。DREAM算法作為一種高效的全局優化算法,它是基于群體的啟發式搜索算法,群中的每個個體對應一個解向量。由于DREAM 算法是差分進化Markov 鏈算法的改進版本,故該算法的進化流程與差分進化Markov 鏈算法非常類似,都包括變異、雜交和選擇操作,但這些操作的具體定義與遺傳算法有所不同[19]。概括來講,DREAM 算法的基本思想是:從一個隨機產生的初始種群開始,通過把種群中任意兩個個體的向量差與第三個個體求和來產生新個體,然后將新個體與當代種群中相應的個體相比較,如果新個體的適應度優于當前個體的適應度,則在下一代中就用新個體取代舊個體,否則仍保存舊個體。通過不斷地進化,保留優良個體,淘汰劣質個體,引導搜索向最優解逼近[20]。
結合上述基本思想,DREAM 算法的具體實現步驟如下:首先,根據事先設定的待估參數的先驗分布對整個先驗空間進行隨機搜索并產生初始樣本;然后,將這些樣本根據Duan 等(1993)[21]的Shuffled Complex Evolution(SCE)算法隨機分為N組,并在每一組中選擇具有最高后驗概率值的樣本,將其作為馬爾可夫鏈的起始點,這一步相當于是以參數空間的高概率點作為馬爾可夫鏈的起始點,這樣有助于提高參數樣本的整體接受率;最后,為了使馬爾可夫鏈盡可能地遍歷整個參數空間,DREAM 算法將同時并行N條馬爾可夫鏈,其中有NAM條馬爾可夫鏈采用自適應抽樣算法抽樣,其余的N-NAM條馬爾可夫鏈采用差分進化算法進行抽樣。自適應采樣算法基于馬爾可夫鏈的最后50%樣本計算提議分布中的協方差矩陣Σd,從而提高參數樣本逃脫局部峰值的能力,使得樣本能夠盡可能地遍歷聯合后驗密度函數的各個高后驗密度區,進而獲得真正的全局最優解。將上述步驟概括起來,DREAM 算法的偽代碼如下:
(1)根據事先設定的待估參數的先驗分布對整個先驗空間進行隨機搜索并產生初始樣本,將隨機樣本分成N組;
(2)選擇每一個組中具有最高后驗概率值的樣本,將其作為馬爾可夫鏈的起始點;
(3)fort=2:T;
(4)fori=1:N;
(5)從樣本空間{1 :D} {i} 中抽取2 個樣本分別記為r1和r2;
(6)隨機從D維參數空間中選取d維子空間進行更新;
(7)ifi (8)產生提議分布CH*(d)=CHi(d)+(1-β)N(0d,γ22Σd)+N(0d,γ32Id); (9)else; (10)產 生 提 議 分 布CH*(d)=CHi(d)+γ4(CHr2(d)-CHr1(d))+e; (11)end; (13)end; (14)以概率max(MR,1) 接受提議分布CH*,并且更新當前鏈CHi; (15)依據IQR統計方法除去無用鏈; (16)end。 在上述偽代碼中,N表示生成的馬爾可夫鏈的總數,CH代表馬爾可夫鏈,L(CH*)和L(CHi)分別表示上一期抽樣產生的對數后驗密度值和當期抽樣產生的對數后驗密度值,D表示整個參數空間的維數,d代表隨機選取用于參數更新的參數子空間的維數,T表示總的模擬次數,NAM代表采用自適應抽樣算法的馬爾可夫鏈數。按照Roberts和Rosentha(l2009)[22]的做法,取γ2=2.38/,γ3=0.1/。最后,根據Ter Braak(2006)[8]的研究,取γ4=2.38/。 本文以動態隨機一般均衡模型中的常用模型LS(2005)為例,該模型是Lubik 和Schorfheide 于2005 年提出的一個加入國外經濟的開放經濟DSGE 模型。上述動態隨機一般均衡模型LS(2005)要先對模型的一階條件和約束條件進行對數線性化,在本文中,將變量xt偏離穩態的百分比定義為x?t=(xt-xˉ)/xˉ≈lnxt-lnxˉ,該模型的對數線性化方程共有8 個,其中式(1)是一條開放經濟IS 曲線。如果α=0,則等式變成封閉經濟下的IS方程;如果τ=1,則將世界產出沖擊?yt+1從IS 方程中去掉,由于它除AR(1)過程式(6)之外不存在于任何其他方程中,因此將它從整個動態經濟系統中去掉;如果α=0,則開放經濟菲利普斯曲線式(2)也會退化為封閉經濟情形。假設經濟系統中存在相對購買力平價,則消費者價格指數CPI 通過式(3)被引入動態經濟系統。式(4)是一個貨幣規則,換句話說,是一個名義利率等式。它描述了貨幣當局如何設置其貨幣政策,通貨膨脹何時開始偏離最優目標值,以及貨幣何時升值或貶值。剩余的方程均是AR(1)過程,這些一階馬爾可夫過程共同描述了貿易、技術進步、外國產出和通貨膨脹的動態演化過程。動態經濟系統的方程如下: 本文中所使用的DREAM算法的參數設置為:馬爾可夫平行鏈N=34 ,平行鏈進化的代數為10000,取最后5000 個樣本對模型的參數估計精度進行分析。應用DREAM 算法對動態隨機一般均衡模型LS(2005)進行參數估計時,需要先確定參數的先驗分布,本文在參數的取值范圍內將均勻分布作為參數的先驗信息。表1列出了動態隨機一般均衡模型LS(2005)參數先驗信息的取值范圍和先驗分布的類型。 表1 動態隨機一般均衡模型LS(2005)參數先驗信息的取值范圍 下頁圖1 分別為動態隨機一般均衡模型LS(2005)17個待估參數的箱線圖,其中第一橫行3 個子圖分別表示DREAM 、RWMH 和IMH 算法產生的17 個參數的隨機抽樣樣本對應的箱線圖,這3個子圖的橫坐標的數字對應的參數分別是σR、σq、σy*、σπ*、σz、ψ1、ψ2、ψ3、ρR、α、rr、κ、τ、ρq、ρz、ρy*、ρπ*。其中第二至第五行對應的17 個子圖分別表示每一個單獨參數的隨機抽樣樣本在DREAM、RWMH 和IMH 算法(分別對應橫坐標的1、2、3)下產生的箱線圖的對比圖,第二至第五行對應的17 個子圖中的虛橫線表示參數的真值。 圖1 動態隨機一般均衡模型LS(2005)17個參數對應的箱線圖 從圖1 中可以看出,除了σy*和ρπ*這兩個參數以外,其他15 個參數由DREAM 算法產生的隨機抽樣序列的箱體長度,即四分位距大小,均比RWMH和IMH算法產生的箱體長度要長,說明由DREAM算法產生的參數估計序列的分散程度比RWMH和IMH算法要大,表明了DREAM算法遍歷的參數空間范圍更為廣泛,算法逃逸局部最優值的能力更強。另外,從箱線圖中的中位數數值來看,除了σz、σy*、σπ*、ψ2、ψ3這5 個參數之外,由DREAM 算法產生的參數估計序列的中位數相比RWMH 和IMH 算法,與真實數據生成過程更為接近,說明由DREAM算法產生的參數估計值大部分都集中在參數的真值附近。由于DREAM 算法依據IQR 統計方法除去了無用鏈,故由DREAM 算法產生的參數估計序列的異常值也明顯降低,而RWMH算法產生的參數估計序列的異常值尤其多。 下文表2 給出了在3 種不同算法下,待估參數的90%最大后驗密度可信區間。根據待估參數的90%最大后驗密度可信區間來看,DREAM 算法產生的待估參數90%最大后驗密度可信區間中除了ψ2、ψ3、σz、σπ*這4 個參數以外,剩下的14 個參數的90%最大后驗密度可信區間全部都包含了真值,而傳統的RWMH算法只有ψ3、κ、ρR、σq、σz、σy*、σπ*這7個參數的90%最大后驗密度可信區間包含真值,IMH 算法只有ρπ*這1 個參數的90%最大后驗密度可信區間包含真值,上述結果表明DREAM算法的估計不確定性遠小于傳統的RWMH和IMH算法。 表2 3種算法產生的估計均值與90%最大后驗密度可信區間 為了進一步比較DREAM、RWMH和IMH算法的估計效率,本文借鑒Chib 和Ramamurthy(2010)[23]的做法,計算了在3 種不同算法下的無效因子。根據文獻[23],無效因子主要衡量的是算法所產生的隨機樣本之間的自相關性,自相關性越弱說明算法遍歷整個參數空間的能力越強,也即無效因子越小,該算法所產生的隨機樣本之間的相關性越弱,該算法的估計效率越高。無效因子的計算公式為: 其中,IF代表無效因子;ρk(l)表示隨機樣本序列滯后l期的自相關函數值;L代表滯后長度,取為1000。下頁表3 給出了在3 種不同算法下,待估參數的無效因子。根據待估參數的無效因子來看,DREAM 算法產生的模擬參數序列與傳統的RWMH 和IMH 算法相比,其相關性更弱,即無效因子數值更小,這一點進一步驗證了DREAM算法遍歷整個參數空間的能力更強。 表3 不同算法下待估參數的無效因子 DREAM算法作為差分進化Markov鏈算法(DEMC)的改進版本,相比于差分進化Markov 鏈算法,DREAM 算法采用自適應抽樣和差分進化相結合的采樣形式,并且運用四分位距統計方法去除無用鏈,這些改進提高了DREAM算法的搜索效率和解的精度[24]。通過本文的分析可知,相比RWMH算法和IMH算法,DREAM算法對待估參數的估計效率不管是從直觀的箱線圖上進行比較,還是從定量的90%最大后驗密度可信區間以及無效因子方面進行比較,均表現出很好的優越性。主要結論包括: (1)根據待估參數隨機抽樣序列的箱線圖來看,由DREAM 算法產生的15 個參數的隨機抽樣序列的箱體長度,即四分位距大小,均比RWMH和IMH算法產生的箱體長度要長,說明由DREAM算法產生的參數估計序列的分散程度比RWMH和IMH算法要大,表明了DREAM算法遍歷參數空間范圍更為廣泛,算法逃逸局部最優值的能力更強。另外,從箱線圖中的中位數數值來看,除了5 個參數以外,由DREAM算法產生的參數估計序列的中位數相比RWMH和IMH算法,與真實數據生成過程更為接近,說明由DREAM 算法產生的參數估計值大部分都集中在參數的真值附近。由于DREAM算法依據IQR統計方法除去無用鏈,故由DREAM算法產生的參數估計序列的異常值也明顯減少,而RWMH 算法產生的參數估計序列的異常值尤其多。 (2)從待估參數的90%最大后驗密度可信區間來看,DREAM 算法產生的待估參數90%最大后驗密度可信區間除了4 個參數以外全部包含了真值,而傳統的RWMH和IMH 算法分別只有7 個和1 個區間包含了真值,表明DREAM 算法的估計不確定性遠小于傳統的RWMH 和IMH算法。 (3)根據模擬參數的無效因子來看,DREAM算法產生的模擬參數序列與傳統的RWMH 和IMH 算法相比,其相關性更弱,即無效因子數值更小,這一點進一步驗證了DREAM算法遍歷整個參數空間的能力更強。2 DREAM算法應用
2.1 動態隨機一般均衡模型介紹
2.2 模擬結果分析




3 結論