馬長發,馬子薇
新疆財經大學統計與數據科學學院,新疆 烏魯木齊 830012
GDP增長率可以反映出一個國家的經濟情況,它直接影響國家的宏觀調控政策,同時影響金融、非金融公司的有關決策。如何準確、高效地對GDP增速進行預測,是值得關注及深入探討的課題。因此,研究基于統計數據的季度GDP增速高精度預測方法,揭示其變化規律,對我國宏觀經濟決策有著重要的現實意義。
一直以來,國內外學者在對GDP進行預測時,主要采用的是灰色預測模型、自回歸預測模型、移動平均法等傳統的時間序列預測模型,國外學者Box et al.[1]在1976年所提出的自回歸移動平均(ARIMA)模型是時間序列線性預測的典型代表。國內學者華鵬 等[2]確立ARIMA(1,1,0)模型對廣東省GDP進行短期預測,為政府部門制定經濟計劃提供了依據和參考。傳統時間序列方法要求時序數據穩定,并對復雜的非線性系統擬合能力較差,且易發生多重共線性,導致預測精度不夠準確。近年來,機器學習算法對于體量大、不確定性強的數據顯示出了比傳統模型更好的預測效果,因而被廣泛應用于經濟數據的預測。黃卿 等[3]利用機器學習方法中的BP神經網絡、SVM、XGboost算法對滬深300股指期貨進行預測,結果顯示:3種機器學習方法都有較好的預測能力,但XGboost的預測能力更優。
傳統的線性建模方法僅僅是根據已有變量之間的關系來擬合,其結果通常與已有的設定值相差無幾。神經網絡等機器學習算法可以抓住特征之間的非線性關系,處理特征之間的多重共線性問題,在經濟預測研究方面有突出的表現。與此同時,集成學習算法還有一個優勢,可以對預測中各特征的重要性進行計算,從而反映出哪些因素驅動了預測結果。故通過集成學習方法,從理論上為GDP增長和其他宏觀經濟指標的預測提供了一個切實可行的分析工具。因此,本文建立了SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM集成模型,并采用麻雀搜索優化算法對模型的重要參數進行調整,并選取MSE、MAE、可決系數R2作為模型評價指標,通過對比分析選出對于國內生產總值增長率具有更好效果的預測模型。
AdaBoost是一種以Boosting算法為基礎的迭代式學習算法,最早由Freund和Schapire提出[4]。此算法對Boosting技術的思想進行了很好的傳承,即在每一輪的訓練中,AdaBoost會增加被分類錯誤的樣本的權重,從而在下一輪的訓練中,弱學習器會更加專注于被分類錯誤的樣本,從而提高分類準確率。當所有的弱學習器集都被訓練完畢后,AdaBoost通過加權多數票的方式,將多個弱學習器集成為一個強學習器集。
RFR算法的基本思想是從一組Boot strap sampling隨機樣本中選擇一組樣本,利用CART模型對每一個樣本進行模型化,再將多個決策樹的預測結果進行結合,得出最后的預測結果。該方法是將多個決策樹的預測值進行簡化平均??梢允拐`差均勻化,并明顯提高預測的準確性。
GBDT算法(gradient boosting decision tree)也被稱為梯度提升決策樹,是一種由多個決策樹組成的迭代算法,對AdaBoost算法進行優化和改進[5]。GBDT算法可以用于數據的分類和數據的回歸。在使用GBDT算法進行回歸預測時,先對輸入的樣本數據進行訓練,然后每個決策樹(較小的,即較淺的樹深)被用來調整和修改預測結果。
支持向量機(SVM)是基于統計學習理論中的VC維度理論和經驗風險最小化原理的一種機器學習方法。支持向量機回歸(SVR)是在SVM的基礎上發展起來的,用于解決回歸預測問題。SVR繼承了SVM良好的泛化能力和泛化力,在很多領域都有很好的表現。
XGBoost(eXtreme gradient boosting)是一種用于監督學習算法中分類和回歸的極端梯度提升樹算法,由Chen et al.[6-7]在2015年提出。由于GBDT的改進,XGBoost算法的運行速度比傳統梯度算法至少快一個數量級,包括并行計算、近似樹構建、內存優化和稀疏數據的有效處理。同時,CPU多線程加速了樹的構建,支持多平臺和分布式計算,并提供了出色的可擴展性,以進一步提高訓練速度。
LightGBM(light weight gradient boosting machine)是一個常用于競賽的模型,由微軟在2017年首次開發[8]。它使用Boosting策略提升了模型,也是GBDT的改進算法。
SSA的靈感來源于麻雀的覓食和反捕食行為[9]。該算法基于仿生學原理,即麻雀種群在日常覓食中有發現者、跟隨者和偵察者3個主要角色。在目標優化問題中,擬合度的大小反映了每個麻雀位置所對應的可行方案的優勢程度。更新麻雀位置的規則根據麻雀的適應度值而不同。
本文通過參考相關文獻[10-12],以宏觀經濟理論中凱恩斯ISLM模型為基本構造基礎特征體系。凱恩斯ISLM模型構建基礎特征體系從理論上來說,國民收入核算將GDP劃分成四大類。
Y=C+I+G+NX
(1)
其中Y、C、I、G、NX分別代表國內生產總值、消費、投資、政府購買和凈出口。
由此本文選取一般公共預算支出檔期同比增長率(X1)、工業增加值月度同比增長率(X2)、第三產業增加值當期實際同比增速(X3)、出口額月度同比增長率(X4)、社會消費品零售總額月度實際同比增長率(X5)、居民消費價格指數(X6)、不變價國內生產總值GDP季度同比增長率(X7)共7個指標,數據期間為2003年第1季度至2022年第4季度。數據均來源于中經網統計數據庫。
在特征選擇中,根據特征集與目標變量以及特征之間的相關性,從給定的特征集中刪除一些特征,從而選擇出相關的特征子集,該過程稱為“特征選擇”。
2.2.1 相關系數
在對指標進行相關分析時,最常用的一種方法是計算相關系數,它能夠反映出變量之間的線性相關程度。其計算方法如下。
(2)
式中:cov(x,y)表示變量x和y之間的協方差,δx表示變量x的標準差,δy表示變量y的標準差。
ρx,y絕對值越大,說明相關性越強。其優點是計算簡單,缺點是只能用來判斷變量之間的線性相關程度,而無法描述變量間的非線性關系,即使它們之間的非線性關系很顯著,相關系數仍可能接近0。
圖1的熱力圖直觀地展示了特征之間以及各特征與目標變量之間的相關系數,可以初步分析特征的重要性。圖中顯示,GDP(Y)與工業增加值(X2)的相關系數為0.96,與第三產業增加值(X3)的相關系數為0.95,二者之間的線性相關程度非常高,說明工業增加值與第三產業增加值是影響GDP的重要因素。
圖1 相關系數熱力圖
2.2.2 互信息
互信息屬于特征選擇中過濾法方式的一種,它能夠被用來對變量之間的線性關系進行描述,也能夠對非線性關系進行描述,通常既可以用于回歸也可以用于分類算法中?;バ畔⒌闹翟酱?說明2個變量之間的相關性較強。隨機變量x與y之間的互信息I(x,y)定義為:
(3)
式中:p(x)、p(y)與p(x,y)分別為隨機變量x、y各自的邊像概率分布和聯合概率分布。
利用sklearn.feature_selection中mutual_info_regression函數可以得到各特征變量與目標量的互信息值,對數據集中的特征運用互信息過濾法篩選。觀察可以發現,大多數互信息值大于0.1,因此,選取了互信息值大于0.1的特征,經過篩選后,最終所選取的特征按互信息值從大到小排序如圖2所示。
圖2 互信息值
由圖2可知,互信息值小于0.1的變量有居民消費價格指數,因此,在構建模型時,為避免特征冗余的情況發生,選擇將居民消費價格指數特征剔除,僅將其他剩余變量用于構建模型。
由本文2.2.2所選取,一般公共預算支出、工業增加值、第三產業增加值、出口總額(美元)、社會消費品零售總額共5個指標作為預測模型的輸入變量(影響因素),GDP作為預測指標。數據分析試驗在Python 3.8環境下完成。
本小節主要采用由Python程序語言設計的sklearn框架來構建SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM的預測模型。機器學習回歸算法預測模型的構建大致流程為:特征工程—樣本集拆分—回歸算法選擇—模型參數調優—模型驗證與評估—模型預測。詳細步驟描述如下。
1)使用經過預處理后的樣本數據作為樣本集,首先將樣本集隨機劃分成8:2的比例,其中80%的樣本數據作為訓練樣本集,20%作為測試樣本集,利用pyhton編程語言包sklearn.model_selection中KFlod交叉驗證法將樣本集劃分為訓練集和測試集,模型的評估指標為MSE、MAE和R2。
2)使用缺失參數建立SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM算法模型。
3)利用麻雀搜索算法對每個預測模型進行相應的參數尋優,對預測模型進行優化。
4)在此基礎上,對所提出的優化算法所修正的模型進行誤差分析,并與所修正的模型進行比較,最終獲得具有較好預測效果的機器學習回歸算法。
在粒子群算法優化過程中,通過群體內個體的信息交換,整個群體的運動在解決問題的空間中產生了從無序到有序的進化過程,并由此得到一套參數最優解。在SSA中,每個麻雀對應的位置都可以成為優化問題的最優解。在目標優化問題中,擬合度的大小反映了每個麻雀位置所對應的可行方案的優勢程度。更新麻雀位置的規則根據麻雀的適應度值而不同。最優模型對應的最優參數組合如表1所示。
表1 SSA算法最優參數取值
本文建立了SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM集成模型,并采用麻雀搜索優化算法對模型的重要參數進行調整,最終模型的預測效果以MSE、MAE和可決系數R2這3種評價指標來評估。
3.4.1 模型的評價標準
(4)
(5)
可決系數(R2):用來衡量回歸模型的擬合能力,R2值越接近于1,模型解釋因變量的能力越強,即模型擬合效果越好。
(6)
3.4.2 模型優選結果
本文建立SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM集成模型引入麻雀搜索優化算法(SSA)對模型的重要參數進行調整后進行GDP增長率預測,各預測模型真實值與預測值對比如圖3所示。
圖3 6種預測模型真實值與預測值對比
由圖3可知,經過麻雀搜索算法(SSA)參數優化后的6種模型中,SSA-GBDT模型和SSA-XGBoost模型相較于其他幾種模型預測更準確,而SSA-LightGBM模型預測相對不準確。為更加清楚地看出各模型預測結果,計算各模型均方誤差(MSE)、平均絕對誤差(MAE)與可決系數R2,結果如表2所示。
表2 模型指標對比表
結果顯示:對麻雀算法優化后的模型指標,依據模型預測性能的優劣情況將其按降序排列:SSA-GBDT、SSA-XGBoost、SSA-RFR、SSA-Adaboost、SSA-SVR、SSA-LightGBM。顯然,與其他模型相比,SSA-GBDT模型具有更優的預測性能,MSE、MAE、R2分別為0.148 6、0.196 3、0.975 1。綜上所述,基于麻雀搜索優化算法的GBDT模型預測性能顯著優于其他模型,對于國內生產總值增長率預測具有更好的效果。
本文以探索季度GDP增長率變化的規律、尋求高精度預測季度GDP增長率的方法為目的,基于中經網統計數據庫2003年第1季度至2022年第4季度的指標數據,分析我國GDP增長率預測模型。建立了SVR、GBDT、RFR、Adaboost、XGBoost和LightGBM集成模型,引入麻雀搜索優化算法(SSA)對模型的重要參數進行調整,以MSE、MAE、可決系數R2作為模型評價指標,比較多個模型的效果,選取具有更高預測精度的模型,能夠更準確地預測GDP增長率。依據模型預測性能的優劣情況將其按降序排列為SSA-GBDT、SSA-XGBoost、SSA-RFR、SSA-Adaboost、SSA-SVR、SSA-LightGBM,其中,SSA-GBDT模型具有更優的預測性能,MSE、MAE、可決系數R2分別為0.148 6、0.196 3、0.975 1,說明基于麻雀搜索優化算法的GBDT模型預測對于國內生產總值增長率預測具有更好的效果。