朱 青,周石鵬
(上海理工大學管理學院,上海 200093)
改革開放以來,中國是同期世界上經濟發展最快的國家,經濟實現了持續高速增長,成為世界第二大經濟體。隨著科學技術的發展,探索使用大數據和機器學習的方法改進宏觀經濟結構和趨勢成為研究熱點,包括對國民經濟GDP(Gross Domestic Product,GDP)預測問題的研究。本文通過對經濟因素的綜合考量,選用GDP 增速作為經濟發展趨勢的重要評價指標。
GDP 增速反映經濟發展趨勢,與人民生活水平息息相關。根據中國國家統計局數據,中國經濟經過多年的高速增長后,2015 年GDP 增速為6.9%,2016-2018 年增速分別為6.7%、6.8%和6.6%。2019 年GDP 增速為6.1%,是近年來最大的一次經濟增速下降。因此,精準預測GDP 增速對宏觀經濟目標的可行性和有效性分析具有重要影響。
國內外對宏觀變量的預測方法包括兩大類:利用模型預測和主觀判斷性預測。模型預測主要是時間序列方法和機器學習方法[1-3]。李娜等[4]利用ARIMA 模型對國民經濟GDP 進行預測研究,表明了ARIMA 模型在GDP 預測方面的優良性;Wang&Shang[5]、Wang 等[6]將改進SVM 模型應用于股票預測,表明改進SVM 模型在預測方面的有效性。對經濟進行主觀預測的如美國聯邦儲備委員會,在確定貨幣政策之前,研究人員對美國經濟走勢提供主觀預測,被稱為綠皮書預測。
隨著計算機技術的發展,機器學習算法和組合模型越來越多地應用于預測分析。王曉飛等[7]將時間序列模型和神經網絡模型進行組合以預測PM2.5。傳統時間序列方法,其缺點是要求時序數據穩定,并對復雜的非線性系統擬合能力較差,且容易發生多重共線性,預測精度不夠準確。目前,GDP 增速預測模型主要是單一的時間序列模型,本文從兩個方面對GDP 增速預測模型進行改進。一是基礎模型選取,運用機器學習模型進行GDP 增速預測。機器學習算法包括隨機森林(Random Forest,RF)[8]、支持向量機(Support Vector Machine,SVM)[9-10]、神經網絡和集成算法[11-13]等。機器學習模型能夠模擬非線性可分數據,計算效率和準確率更高。機器學習問題求解流程如圖1 所示,模型訓練過程如圖2 所示。選取機器學習3 個經典模型作為基礎模型進行建模研究:①回歸模型:Ridge 回歸;②集成算法:XGBoost 模型;③神經網路:LSTM 網絡。二是增加預測模型維度,提高預測精度。本文使用二維組合模型對GDP 增速進行預測,通過誤差倒數法計算權重,對獨立模型進行加權組合,對誤差較小的模型賦予較大權重,從而可以得到誤差更小的預測值。實驗結果表明,本文提出的LSTM-XGBoost 二維組合模型的預測精度均高于單一模型預測精度。

Fig.1 Process of machine learning problem solving圖1 機器學習問題求解流程

Fig.2 Model training process圖2 模型訓練過程
嶺回歸(Ridge Regression)是Hoerl 等[14]提出的一種改進的最小二乘估計方法。從數學形式上看,嶺回歸是在最小二乘估計的基礎上,向離差平方和增加一個L2 范數。
多元線性回歸模型可表示為:

其中,y 為因變量,X為自變量(或者為多變量矩陣形式),β為回歸系數,ε為誤差。
參數β的最小二乘估計是:

當X不是列滿置,XT X的行列式又接近于0,即XT X接近于奇異,此時在計算(XT X)-1時會出錯。嶺回歸就是在矩陣XT X上加一個I,從而使得矩陣非奇異,進而能對I求逆。此時,回歸系數β的計算公式將變成:

其中,λ是用戶定義的數值。λ越大,消除共線性影響效果越好,但擬合精度越低;λ越小,擬合精度越高,消除共線性影響越差[15]。
XGBoost(eXtreme Gradient Boosting)算法是基于回歸樹的提升算法[16],其基礎樹結構為分類回歸樹[17](Classification and Regression Tree,CART)。XGBoost 算法已在眾多預測領域取得了較好效果[18-21],其模型參數值如表1 所示。
以下給出回歸樹數學定義和XGBoost 模型數學推導,如無特別聲明,均引自參考文獻[16]。
對于給定的n個樣本,m個特征的數據集D={(xi,yi)},其中|D|=n,xi∈?m,yi∈?。樹集成模型通過k個加性函數預測輸出。

?={f(x)=wq(x)} 是 回 歸 樹 空 間,其 中q:?m→T∣,w∈?T是將數據映射到葉子結點的函數,T為樹葉子節點的標簽集,fk(xi)是第k棵CART 樹的預測輸出。
損失函數? 如式(5)所示。

其中:

第t次迭代的損失函數如式(7)所示。

接下來,找到一個ft能最小化目標函數。XGBoost 的思想是將上述目標函數進行二階泰勒展開,移除高階無窮小項,得出的目標函數為:

其中,gi、hi分別為損失函數在t-1 次迭代的預測值處的一次和二次偏導。
由于在第t輪時,t-1 輪的結果已知,在第t次迭代中得到更精簡的目標函數。

定義好分裂候選集合Ij={i∣q(xi)=j},進一步改進目標函數。


Table 1 Parameter values of XGBoost model表1 XGBoost 模型參數值
神經網絡一般由輸入層、隱藏層和輸出層組成。圖3表示一個3 層神經網絡模型。從左至右,第一層為輸入層,輸入向量為[x1,x2,x3];第二層為帶有4 個節點的隱藏層;第三層為輸出層,輸出向量為[y1,y2]。
LSTM(Long Short Term Memory,LSTM)是RNN 的一種改進網絡。如圖4 所示,LSTM 的單元結構由4 部分組成,分別是輸入門(input gate)、輸出門(output gate)、記憶單元(memory cell)和遺忘門(forget gate)。LSTM 網絡模型參數值如表2 所示。

Fig.3 Neural network model圖3 神經網絡模型

Fig.4 LSTM unit structure圖4 LSTM 單元結構

Table 2 Parameter values of LSTM network model表2 LSTM 網絡模型參數值
LSTM 各過程具體運算如下:

其中,式(16)中ft為遺忘門輸出,表示保留多少信息(1代表完全保留,0 代表完全舍棄),σ表示sigmoid 函數,Wf是遺忘門的權重矩陣,[ht-1,xt]表示將兩個向量拼接成一個更長的向量,bf是遺忘門的偏置項。式(17)中,Wi是輸入門的權重矩陣,bi是輸入門的偏置項。式(18)和(19)中,Wc記憶單元權重矩陣,bc是記憶單元偏置項。表示當前輸入的單元狀態,Ct表示當前時刻的單元狀態,Ct-1表示上一次的單元狀態。式(20)中,Wo為輸出門權重矩陣,bo為輸出門偏置項,Ot為輸出門輸出。式(21)中,ht為輸出門輸出結果。
Adam 算法[22]如下:
Require:步長?;
Require:矩估計的指數衰減速率,ρ1和ρ2在區間[0,1)內;
Require:用于數值穩定的小常數δ;
Require:初始參數θ;
初始化一階和二階矩變量s=0,r=0;
初始化時間步長t=0;
while 沒有達到停止準則do

通過誤差倒數法對模型進行加權組合,計算公式為:

其中,wk是權值參數,fi是組合模型對樣本i的預測結果,fki是第k個模型的預測值。ε1是模型1 的預測誤差,ε2是模型2 的預測誤差。從式(22)—式(24)可以看出,對誤差大的模型會賦予較小的權重系數,從而使組合模型誤差更小,達到提升預測精度的效果[23]。
數據來源:國家統計局、快易理財網。本文采用1980-2018 年時間段6 個宏觀變量共39 條數據。1 個因變量:GDP 增速(%)。5 個自變量:外匯儲備(億美元)、人口增長率(%)、M2/GDP(%)、財政收入(億元)和貨物進出口總額(億元)。
數據特點:
(1)數據間具有時序關系。利用過去的信息預測未來經濟情況。
(2)數據樣本較少。從改革開放以來,國家有完整明確的經濟數據年份并不多。
(3)數據樣本值變化大。中國的經濟發展具有階段性特征,20 世紀八九十年代經濟快速發展,但生產技術不高;改革開放階段,中國經濟高速發展;經過30 多年的增長期后,中國經濟進入平穩發展階段。

Fig.5 Distribution of GDP growth圖5 GDP 增速分布

Fig.6 Data distribution圖6 數據分布
數據標準化:

其中,μ表示均值,σ表示標準差。本文對數據進行標準化處理,經過處理的數據符合標準正態分布,即均值為0,方差為1 的正態分布。本文先對數據進行標準化處理,再將標準化后的數據用于模型訓練和預測,需將預測結果進行反標準化后,才能與實際數據作比較。
本實驗所使用開發語言為Python 語言3.7 版本。實驗中使用Python 提供的科學計算庫,主要包括Numpy、Pandas、Matplotlib、Sklean 等。本文所使用的開發環境為PyCharm。
為了驗證機器學習回歸模型對預測GDP 增速的準確性,本文對數據集中的GDP 增速進行預測實驗,并將預測結果與其他模型得出的結果進行比較,比如AR(Auto Regressive Model,AR)、MA(Moving Average Model,MA)、ARIMA(Autoregressive Integrated Moving Average Model,ARIMA)模型,如圖7-圖9 所示。實驗選用均方根誤差(root mean square error,RMSE)作為各模型預測性能的主要評價指標,平均絕對誤差(MAE)和平均絕對誤差百分比(Mean Absolute Percentage Error,MAPE)作為輔助評價指標。通過3 個指標體現模型訓練精度及泛化性能。

其中,y代表樣本真實值?代表樣本預測值,m為樣本數據數量。

Fig.7 Comparison of prediction results of Ridge,XGBoost and LSTM圖7 Ridge、XGBoost 與LSTM 預測結果對比

Fig.8 Comparison of prediction results of LSTM-Ridge,LSTM-XGBoost and XGBoost-Ridge圖8 LSTM-Ridge、LSTM-XGBoost 與XGBoost-Ridge預測結果對比
從預測結果(見表3—表5)可以看出,3 種算法的3 種評價指標預測結果表現一致,單一模型預測誤差的排序是LSTM<XGBoost<Ridge,組合模型預測誤差的大致排序是LSTM-XGBoost<LSTM-Ridge<XGBoost-Ridge。組合模型XGBoost-Ridge 表現較差,整體上,機器學習的單一模型和組合模型的預測效果優于傳統時序模型,非線性回歸模型整體優于線性回歸模型。LSTM-XGBoost 組合模型的擬合效果最好,誤差最小,可以達到2.122 的誤差,XGBoost-Ridge 回歸誤差較大,約為5.542。XGBoost 和LSTM 預測結果相近,LSTM 結果略優于XGBoost,LSTM 模型在處理時序問題上有著良好表現,本文數據量偏小,可能無法凸顯LSTM 的優勢。隨著數據集的增加,LSTM 的優勢更加明顯,預測精度會進一步提高。

Table 3 Comparison of RMSE,MAE and MAPE in single regression model表3 單一回歸模型RMSE、MAE 及MAPE 對比

Fig.9 Comparison of prediction results of AR,MA and ARIMA圖9 AR、MA 與ARIMA 預測結果對比

Table 4 Comparison of RMSE,MAE and MAPE表4 組合模型RMSE、MAE 及MAPE 對比

Table 5 Comparison of traditional time series models RMSE,MAE and MAPE表5 傳統時序模型RMSE、MAE 及MAPE 對比
本文提出LSTM-XGBoost 二維組合模型對GDP 增速進行預測,結果表明該組合模型在宏觀經濟預測中具有較高應用價值。通過研究機器學習模型在經濟領域的應用,得出如下結論:①從XGBoost-Ridge 組合模型中可以得出,并非所有組合模型優于單一模型,模型的正確選擇有利于預測精度提升;②本文的誤差倒數法存在一定改善空間,誤差計算方法是預測值減去真實值,誤差值有正有負,使用誤差的絕對值或者誤差的平方形式計算權重能進一步提高預測精度。后續研究中,可結合大數據等平臺,探索機器學習模型應用于經濟預測的其他可能性。