王永杰,白艷萍
(中北大學 理學院, 太原 030051)
?
基于主成分分析的PSO-BP算法在GDP和CPI預測中的應用
王永杰,白艷萍
(中北大學 理學院, 太原 030051)
GDP增速與CPI指數具有復雜的時間序列和非線性特征。鑒于BP神經網絡算法有良好的非線性擬合能力,但容易陷入局部極小值的特點,提出了基于主成分分析的PSO-BP算法。該方法主要通過主成分分析方法對輸入變量進行降維,利用PSO算法良好的全局尋優能力對BP算法的權值和閾值進行優化,從而避免BP算法陷入局部極小值。最后運用模型對GDP增速和CPI指數進行擬合預測。實驗結果表明:該模型比PCA-BP模型和PSO-BP模型具有更高的擬合精度和更小的均方誤差。
主成分分析;PSO-BP算法;CPI;GDP
GDP是指一個國家在一定時期內所有常住單位生產的所有最終物品和勞務的市場價值,是衡量一個國家或地區經濟狀況的重要指標。CPI居民消費物價指數是反映普通消費者所購買的物品與勞務總費用的宏觀經濟指標[1]。GDP的增長率體現的是一個國家的宏觀經濟狀況,CPI則直接影響居民的購買力。深入研究分析這些宏觀經濟指標,對于研究我國的經濟發展過程,探究經濟增長規律,進行經濟宏觀調控以及制定經濟政策具有非常重要的意義。
GDP增速和CPI指數直接影響國家宏觀經濟運行,學者們一直在研究如何預測GDP增速和CPI指數,以便給國家制定經濟政策提供理論參考。2005年林健等提出了基于神經網絡集成的GDP預測模型,將神經網絡應用于GDP預測。2009年王宇等將BP神經網絡應用于的我國CPI預測。2011年喻勝華等提出了基于主成分分析和貝葉斯正則化的BP神經網絡的GDP預測模型。2013年劉向榮等提出了基于附加動量法的BP神經網絡CPI運行預測研究模型。本文受上述研究成果的啟發,提出了基于主成分分析的PSO-BP算法模型,并將它們應用于GDP和CPI增速預測研究中。
1.1 BP神經網絡算法
BP(back propagation)人工神經網絡算法是一種多層前饋神經網絡,該網絡的主要特點是信號向前傳遞,誤差反向傳播。在前向傳遞過程中,輸入信號從輸入層經隱含層逐步傳播,直到輸出層。如果沒有達到期望輸出,則轉入反向傳播,然后根據誤差不斷調整BP神經網絡的權值和閾值,直到達到期望輸出或者迭代完畢為止[2-5]。BP神經網絡的拓撲結構如圖1所示:

圖1 BP神經網絡拓撲結構
圖1中:x1、x2、xm是BP神經網絡的輸入值;Y1、Y2、Ym是BP神經網絡的輸出值;ωij、ωjk是BP神經網絡的權值。
1.2 主成分分析(PCA)
主成分分析是由Pearson于1901年首次引入,后經Hotelling發展而來的一種優化算法。主成分分析是一種通過降維技術把多個原始變量轉化為少數幾個主成分變量的多元統計方法,降維后的主成分變量可以反映原始變量的大部分信息。通常情況下主成分變量是原始變量的一種線性無關的線性組合[6]。
若X為一個數據矩陣,每一行代表一個數據值,每一列代表一個指標變量,其中變量X1,X2,…,Xp有p個,則變量的線性組合可以表示為:
(1)
可以簡寫為

(2)
PCA模型的系數要滿足以下條件:
1)Yi,Yj是非線性相關的(i≠j;i,j=1,2,…,p)。
2)Y1與Y2的方差大于和Y3的方差,以此類推。
(3)
主成分變量的總方差等于原始變量的總方差,總方差中第i個主成分Yi的方差所占的比例稱為主成分Yi的貢獻率。前m個主成分的貢獻率之和稱為前m個主成分的累積貢獻率,通常要求前m(m
1.3 粒子群優化算法(PSO)
粒子群優化算法(particle swarm optimization)是Kennedy和Eberhart受到鳥群覓食過程中遷徙和群集行為啟發而提出的一種算法。PSO算法作為一種全局優化算法,通過一組初始解在解空間并行搜索,利用解集中個體與個體之間的競爭和協作實現解集的尋優,因此具有很好的并行性和魯棒性。


粒子更新公式為


(4)
(5)
其中:ω、c1、c2是權值,它們加快粒子搜索到pbest和gbest值;rand是一個(0,1)的隨機數。
BP神經網絡算法不僅有良好的非線性擬合能力,而且具有一定的收斂能力、泛化性能、魯棒性,但容易陷入局部極小值。研究表明:PSO粒子群算法具有良好的泛化能力和全局尋優能力,并有良好的魯棒性。本文將PSO粒子群算法與BP神經網絡相結合,用PSO粒子群算法良好的全局優化能力對BP神經網絡算法的權值和閾值進行優化,從而避免BP神經網絡算法陷入局部極小值,提高算法的精度[10-11]。
PSO算法中的粒子位置是一個a維向量,由BP神經網絡中要優化的參數組成。a的值等于優化的參數數目。實際上,粒子群算法優化BP神經網絡的過程就是一個獲取最優參數的過程。PSO粒子群算法的適應度函數采用BP神經網絡的誤差函數。在每次迭代中每個粒子的位置都被映射到BP神經網絡中,得到的訓練誤差被用來計算該粒子的適應度值[12]。PSO算法的適應度函數計算公式如下:
(6)
其中:ωnjk是網絡的第n個輸出值;tn是第n個訓練樣本的實際值;s2為輸出層神經元的個數。
PSO-BP神經網絡算法的優化流程(圖2)如下:
1) 初始化種群,包括種群數目、迭代次數。初始化種群粒子的位置和速度,并設定速度的取值范圍[-Vmax,Vmax]。
2) 將每個粒子的位置映射到BP神經網絡中。
3) 訓練BP神經網絡,并計算每個粒子的適應度函數值。
4) 更新粒子個體最優值。對每個粒子,如果當前迭代的適應度值優于前一次迭代的適應度值,則將當前的個體值作為新的最優值。
5) 更新種群全局最優值。如果當前全局最優的適應度值優于上一次迭代的適應度值,種群選擇當前迭代的全局最優值作為新的全局最優值。
6) 更新粒子位置和速度。根據個體最優值和全局最優值對粒子的位置和速度進行調整。
7) 判斷種群是否滿足結束條件,若不滿足跳轉步驟2),否則跳轉步驟8)。
8) 保存迭代訓練結果,結束PSO算法。
9) 把PSO訓練結果的每維映射到BP神經網絡中,繼續訓練網絡直到達到目標精度或者迭代完畢為止。
10) 輸入測試數據進行預測。

圖2 PSO-BP算法流程
本文選取2000年第1季度到2015年第3季度的數據作為實驗樣本對象。采用的季度數據主要來源于國家統計局網站(http://www.stats.gov.cn/)、中國人民銀行網站(http://www.pbc.gov.cn/)以及wind數據庫,所有的價格指數均為同比價格指數(上年同期值為100)。
實驗中:模型的輸出變量均為下季度的GDP增速、CPI指數;輸入變量為生產性貸款、工業增加值、M2、原材料、燃料、外匯儲備、進出口總額、固定資產投資、銀行同業拆借利率、財政收支、外匯儲備等18個變量。本實驗中將2000年第1季度到2011年第3季度的47組數據作為訓練樣本來訓練創建神經網絡模型,將2011年第4季度到2015年第3季度的后16組數據作為測試樣本,來測試PCA-PSO-BP算法模型的預測性能。
建立模型前,先對數據進行主成分分析降維。經過實驗發現前7個主成分的累積貢獻率已達95.6%,因此實驗中取前7個主成分作為PCA-PSO-BP算法模型的輸入變量。確定PCA-PSO-BP算法模型的參數。 BP神經網絡算法參數:初始學習率η=0.015,迭代次數epochs=1 000,迭代目標goal=0.000 1;PSO算法參數:粒子種群規模sizepop=64;種群迭代次數maxgen=40,權值ω=0.9,c1=c2=2。實驗中先用47組數據訓練模型,訓練完成后將16組數據輸入模型中,得到模型的預測輸出。實驗結果如圖3所示:圖中黑色實線為實際值,藍色虛線為預測值。

圖3 GDP增速預測擬合

圖4 CPI指數預測擬合
模型的預測輸出均方誤差(RMSE)如表1所示。
從圖3、4中可以發現:PCA-PSO-BP模型除了個別點的擬合效果不理想之外,其他點的擬合效果相對較好。從表1中可以發現:PCA-PSO-BP神經網絡模型的均方誤差(RMSE)明顯小于PSO-BP模型和PCA-BP模型的均方誤差(RMSE)。實驗結果表明:選用的PCA-PSO-BP模型具有良好的泛化能力,并可以提高預測精度。

表1 預測均方誤差(RMSE)
由于影響因素眾多,導致GDP增速和CPI指數具有復雜的時間序列和非線性特征,傳統的方法難以建立準確的預測模型,而BP算法也受到容易陷入局部極小值的不利影響。為了得到一個更好的模型,本文提出了一種基于PCA-PSO-BP算法的GDP和CPI預測模型,并通過仿真實驗測試了模型性能。實驗結果表明:PCA-PSO-BP模型避免了BP模型容易陷入局部極小值的缺點。建立了預測精度高,效果好的GDP增速和CPI指數預測模型,同時為其他復雜線性時間序列問題提供了一個新的建模思路。
[1] 曼昆.經濟學原理[M].北京:北京大學出版社,2012.
[2] 王德明,王莉,張廣明.基于遺傳BP 神經網絡的短期風速預測模型[J].浙江大學學報(工學版),2012,46(5):837-841.
[3] 劉向榮,孫紅英.基于改進的BP神經網絡中國CPI運行預測研究[J].數學的實踐與認識,2013,43(6):1-8.
[4] 王棟,米國際.基于灰色關聯和BP神經網絡的鐵路貨運量預測方法[J].江南大學學報(自然科學版),2015,14(1):80-84.
[5] ZHANG L,LUO J,YANG S.Forecasting box office revenue of movies with BP neural network[J].Expert Systems with Applications,2009,36(3):6580-6587.
[6] BRO R,SMILDE A K.Principal component analysis[J].Analytical Methods,2014,6(9):433-459.
[7] ZHAO S Z,SUGANTHAN P N,PAN Q K,et al.Dynamic multi-swarm particle swarm optimizer with harmony search[J].Expert Systems with Applications,2011,38(4):3735-3742.
[8] MANGAT V,VIG R.Novel associative classifier based on dynamic adaptive PSO:Application to determining candidates for thoracic surgery[J].Expert Systems with Applications,2014,41(18):8234-8244.
[9] MARTíNEZ J L F,GONZALO E G.The PSO family:Deduction,stochastic analysis and comparison[J].Swarm Intelligence,2009,3(4):245-273.
[10]BAI T,MENG H,YAO J.A forecasting method of forest pests based on the rough set and PSO-BP neural network[J].Neural Computing & Applications,2014,25(7-8):1699-1707.
[11]趙振江.基于PSO-BP神經網絡的網絡流量預測與研究[J].計算機應用與軟件,2009,26(1):218-221.
[12]盧金娜.基于優化算法的徑向基神經網絡模型的改進及應用[D].太原:中北大學,2015.
(責任編輯 陳 艷)
Application of PSO-BP Algorithm Based on Principal Component Analysis in Prediction of GDP and CPI
WANG Yong-jie, BAI Yan-ping
(College of Science, North University of China, Taiyuan 030051, China)
The growth rate of GDP and CPI index have complex time series and nonlinear characteristics. In view of that the BP neural network algorithm has good nonlinear fitting ability, but it is easy to fall into the local minimum value, we put forward the PSO-BP algorithm based on principal component analysis (PCA). The method is mainly based on the principal component analysis to reduce the dimension of the input variables. And the PSO algorithm was used to optimize the weight and threshold of the BP algorithm, so as to avoid the local minimum value of the BP algorithm. Finally, the PCA-PSO-BP model was used to fit the GDP growth rate and CPI index, and the experimental results show that the PCA-PSO-BP model has higher fitting accuracy and smaller mean square error than the PCA-BP and PSO-BP model.
principal component analysis; PSO-BP algorithm; CPI; GDP
2017-01-09
國家自然科學基金資助項目(61275120)
王永杰(1991—),男,碩士研究生,主要從事神經網絡預測方面的研究,E-mail:1007915470@qq.com。
王永杰,白艷萍.基于主成分分析的PSO-BP算法在GDP和CPI預測中的應用[J].重慶理工大學學報(自然科學),2017(4):150-154.
format:WANG Yong-jie, BAI Yan-ping.Application of PSO-BP Algorithm Based on Principal Component Analysis in Prediction of GDP and CPI[J].Journal of Chongqing University of Technology(Natural Science),2017(4):150-154.
10.3969/j.issn.1674-8425(z).2017.04.025
O29
A
1674-8425(2017)04-0150-05