?
自適應(yīng)差分進(jìn)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測*
通信地址:430074 湖北省武漢市華中科技大學(xué)管理學(xué)院Address:School of Management,Huazhong University of Science and Technology,Wuhan 430074,Hubei,P.R.China
王林1,彭璐1,夏德2,曾奕1
(1.華中科技大學(xué)管理學(xué)院,湖北 武漢 430074; 2.武漢理工大學(xué)管理學(xué)院,湖北 武漢 430070)
摘要:針對BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法隨機(jī)初始化連接權(quán)值和閾值易使模型陷入局部極小點的缺點,設(shè)計了一種自適應(yīng)差分進(jìn)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的混合算法。該混合算法中,差分進(jìn)化算法采用自適應(yīng)變異和交叉因子優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,再用預(yù)尋優(yōu)得到的初始權(quán)值和閾值訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)得到最優(yōu)的權(quán)值和閾值。首先對改進(jìn)的自適應(yīng)差分進(jìn)化算法運(yùn)用測試函數(shù)進(jìn)行性能測試,然后用一個經(jīng)典時間序列問題對提出的混合算法進(jìn)行了檢驗,并與一般的神經(jīng)網(wǎng)絡(luò)、ARIMA預(yù)測模型及其它混合預(yù)測模型進(jìn)行了對比,實驗結(jié)果表明,本文提出的混合算法有效并且明顯提高了預(yù)測精度。
關(guān)鍵詞:時間序列預(yù)測;BP神經(jīng)網(wǎng)絡(luò);差分進(jìn)化算法
1引言
時間序列預(yù)測是預(yù)測系統(tǒng)中很重要的一個領(lǐng)域,應(yīng)用最廣泛的一種時間序列模型是ARIMA(AutoregressiveIntegratedMovingAverage),此模型預(yù)先假設(shè)待研究的時間序列是線性的,但是現(xiàn)實世界中的系統(tǒng)通常是非線性的,很難假設(shè)模型的形式。近年來,神經(jīng)網(wǎng)絡(luò)模型因其靈活的非線性建模能力、較強(qiáng)的自適應(yīng)性、學(xué)習(xí)能力和大規(guī)模并行計算能力,被廣泛地應(yīng)用于時間序列預(yù)測研究中,其中,前向型神經(jīng)網(wǎng)絡(luò)是應(yīng)用最多的時間序列預(yù)測模型,BP神經(jīng)網(wǎng)絡(luò)BPNN(BackPropagationNeuralNetwork)又是前向型神經(jīng)網(wǎng)絡(luò)中應(yīng)用最多的一種[1]。BP神經(jīng)網(wǎng)絡(luò)又名誤差反向傳播網(wǎng)絡(luò),它是一種通過信息前向進(jìn)行傳遞而誤差反向進(jìn)行傳播來修正誤差的多層映射網(wǎng)絡(luò)。通常,單隱含層的BP神經(jīng)網(wǎng)絡(luò)能夠以任意精度逼近任何非線性函數(shù)[2],這一優(yōu)勢使其在復(fù)雜的非線性系統(tǒng)預(yù)測中備受青睞。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是一個梯度下降或其變形的有導(dǎo)師學(xué)習(xí)算法[1],先隨機(jī)初始化網(wǎng)絡(luò)的權(quán)值和閾值,利用訓(xùn)練樣本,通過網(wǎng)絡(luò)輸出值與實際值的均方誤差反向傳播來調(diào)節(jié)網(wǎng)絡(luò)的權(quán)值和閾值,使得均方誤差梯度下降,當(dāng)誤差達(dá)到設(shè)定的目標(biāo)時,BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值得到確定,即網(wǎng)絡(luò)的訓(xùn)練過程結(jié)束。這種學(xué)習(xí)算法的缺點是初始的權(quán)值和閾值對最終的訓(xùn)練結(jié)果影響很大,導(dǎo)致訓(xùn)練結(jié)果極易陷入局部極小點而不是全局最優(yōu),進(jìn)而使得網(wǎng)絡(luò)的預(yù)測精度不能達(dá)到很高的程度。為了克服傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)易陷入局部極小點的缺點,眾多學(xué)者提出了不同的改進(jìn)方法來優(yōu)化傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值。YamJYF等[3]在線性代數(shù)的基礎(chǔ)上設(shè)計了一種優(yōu)化前向神經(jīng)網(wǎng)絡(luò)初始權(quán)值的算法,采用優(yōu)化后的初始權(quán)值可使初始的培訓(xùn)誤差極大程度地減小,從而使達(dá)到設(shè)定誤差所需的培訓(xùn)次數(shù)也得到減少。IraniR等[4]用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值進(jìn)行了優(yōu)化。李松等[5]用改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)進(jìn)行短時交通流預(yù)測。
差分進(jìn)化DE(DifferentialEvolution)算法是一種隨機(jī)啟發(fā)式搜索算法,其基于差分的簡單變異和交叉操作產(chǎn)生新的個體,然后將新產(chǎn)生個體與原來個體的適應(yīng)值進(jìn)行比較,適應(yīng)值較優(yōu)的個體將保存下來,且能利用個體局部信息和群體全局信息協(xié)同搜索,以其實用性、魯棒性和強(qiáng)大的全局尋優(yōu)能力在許多領(lǐng)域都有很好的應(yīng)用[6,7]。鄧華等[8]用DE結(jié)合BPNN對多因素影響的產(chǎn)品成本進(jìn)行了預(yù)測。本文設(shè)計了嵌入自適應(yīng)SDE(Self-adaptiveDE)算法的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型(SDE-BPNN),為了克服基本DE算法早熟和后期搜索遲鈍等缺點,采用了自適應(yīng)DE變異和交叉因子。本文用被廣為采用的檢驗非線性預(yù)測模型效果的時間序列問題[9]對SDE-BPNN進(jìn)行了檢驗,與ZhangGP[10]、KhasheiM[11]和WangL[12]提出的預(yù)測模型相比,SDE-BPNN的預(yù)測結(jié)果比這三個模型都要優(yōu)。
2BP神經(jīng)網(wǎng)絡(luò)預(yù)測基本原理


(1)

(2)

(3)

(4)
其中,n為輸入層神經(jīng)元數(shù),h為隱含層神經(jīng)元數(shù),wji和woj分別為輸入層與隱含層神經(jīng)元之間、隱含層與輸出層之間的連接權(quán)值,βj和αo分別為隱含層與輸出層神經(jīng)元的閾值,fh和fo分別為隱含層與輸出層的轉(zhuǎn)移函數(shù)。本文隱含層轉(zhuǎn)移函數(shù)選取tansig函數(shù):f(x)=2/(1+e-2x)-1;輸出層轉(zhuǎn)移函數(shù)選取purelin函數(shù):f(x)=x。

Figure 1 BPNN structure with single hidden layer圖1 單隱含層BPNN結(jié)構(gòu)圖
3差分進(jìn)化算法流程分析
標(biāo)準(zhǔn)DE算法包括初始化、變異、交叉和選擇操作。
(1)初始化:DE算法采用實數(shù)編碼方法,先設(shè)定種群規(guī)模Np和基因維數(shù)D,以及每個基因的變化范圍[Umin,Umax],然后用式(5)隨機(jī)初始化種群,產(chǎn)生種群個體xij:

(5)

(6)
其中,G為進(jìn)化代數(shù),個體序號r1、r2和r3隨機(jī)選擇產(chǎn)生且互不相同,且r1、r2和r3與目標(biāo)向量序號i也不一樣。因此,一般種群規(guī)模NP≥4。F為變異因子,眾多文獻(xiàn)中建議的取值范圍為[0,2],用以控制差分矢量的縮放。
(3) 交叉操作:交叉操作按照式(7)產(chǎn)生:

(7)
其中,rand(j)∈[0,1]為均勻分布的隨機(jī)產(chǎn)生的數(shù);j表示第j個基因,CR為交叉因子;randn(i)∈[1,2,…,D],為隨機(jī)選擇生成的參數(shù),以保證實驗矢量至少能夠從變異矢量中獲得一維變量。


(8)
(1)ADE(AdaptiveDE):僅采用自適應(yīng)變異因子。
變異因子決定了偏差向量的放大比例,變異因子太大,算法搜索效率會很低,求解全局最優(yōu)解的精度低;如果變異因子過小,又不能保證種群的多樣性,很容易出現(xiàn)早熟的現(xiàn)象[12]。因此,將引入自適應(yīng)的變異因子,變異因子隨著迭代次數(shù)的增加,變異率將逐漸減小,初期較大的變異因子能夠保證種群多樣性,后期較小的變異因子則能保留優(yōu)良個體,自適應(yīng)變異因子按照式(9)產(chǎn)生:

(9)
其中,Fmin表示變異因子的最小值,F(xiàn)max表示變異因子的最大值,GenM表示最大的迭代代數(shù),G則為當(dāng)前進(jìn)化的代數(shù)。
(2)SDE(Self-adaptiveDE):采用自適應(yīng)交叉和變異因子。
在ADE基礎(chǔ)上,引入自適應(yīng)交叉因子。交叉因子隨著迭代次數(shù)的增加,交叉率也動態(tài)變化,初期較大的交叉因子保證全局范圍的變異情況,后期較小的交叉率更關(guān)注局部的收斂情況。自適應(yīng)交叉因子的設(shè)計如式(10)所示:

(10)
其中,CRmin表示交叉參數(shù)的最小值,CRmax表示交叉參數(shù)的最大值。
(1) 函數(shù)介紹。
為了比較SDE、ADE和DE的性能,選擇四個常用的多峰函數(shù)進(jìn)行測試,函數(shù)細(xì)節(jié)如下:
F1∶Rastrigin函數(shù):

F2∶Griewangk 函數(shù):

其中,xi∈[-600,600],n=30。該函數(shù)為多峰函數(shù),在xi=0處取得全局最小值0。
F3∶Ackley’s Path 函數(shù):


其中,xi∈[-1,1],n=30。該函數(shù)為多峰函數(shù),在xi=0處取得全局最小值0。
F4∶Weierstrass 函數(shù):


其中,a=0.5,b=0.3,kmax=30,xi∈[-0.5,0.5],n=10。該函數(shù)為多峰函數(shù),在xi=0處取得全局最小值0。
(2) 測試結(jié)果。
用SDE、ADE和DE三種算法對以上四個函數(shù)進(jìn)行優(yōu)化計算。具體參數(shù)設(shè)置為:Np=100,DE中F=0.6,CR=0.6;ADE中Fmin=0.2,Fmax=0.9,CR=0.6;SDE中Fmin=0.2,Fmax=0.9,CRmin=0.1,CRmax=0.6;最大迭代次數(shù)均設(shè)為1 000,每次運(yùn)行20次。由表1知,SDE算法的平均值和方差均比DE和ADE算法的值好,這顯示了SDE算法具有較好的性能。

Table 1 Result comparison of the three algorithms
4SDE優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型(SDE-BPNN)


(11)
其中,yt是BPNN的目標(biāo)輸出。
SDE-BPNN混合算法的流程為:
Step 1初始化。對種群規(guī)模、最大迭代次數(shù)、變異因子和交叉因子進(jìn)行初始化,另根據(jù)式(5)初始化種群。
Step 2判斷是否達(dá)到迭代結(jié)束條件(全局極小值達(dá)到設(shè)定的精度要求或者達(dá)到設(shè)定的最大迭代次數(shù)),如果是則停止迭代并且輸出最優(yōu)個體;否則,轉(zhuǎn)到下一步。

Step 4重復(fù)Step 3,直到得到下一代種群。
Step 5評價下一代種群的適應(yīng)度值,最小適應(yīng)度值即為全局極小值,對應(yīng)的個體即為全局最優(yōu)個體。
Step 6G=G+1,返回Step 2。
Step 7將自適應(yīng)DE優(yōu)化輸出的最優(yōu)個體作為BPNN的初始權(quán)值和閾值,用訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)。
Step 8輸入測試集,用訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行預(yù)測。
5對比算例與分析
(1)實驗數(shù)據(jù):選取文獻(xiàn)[9]中自1821~1934年在加拿大馬更些河被捕獲的猞猁時間序列數(shù)據(jù)。最先是Elton 和 Nicholson詳細(xì)描述了200多年前在加拿大各地區(qū)捕獲的猞猁數(shù)量的波動情況,表明猞猁數(shù)量變化的平均周期為9.6年[13]。如圖2所示,這組數(shù)據(jù)多次被用于檢驗非線性預(yù)測模型的有效性,這里同樣對數(shù)據(jù)進(jìn)行預(yù)處理,方法是對原數(shù)據(jù)取以10為底的對數(shù),取預(yù)處理后的前100個數(shù)據(jù)為訓(xùn)練集,用于SDE預(yù)尋優(yōu)和BPNN訓(xùn)練,后14個數(shù)據(jù)為測試集驗證混合預(yù)測模型的有效性。預(yù)測結(jié)果與Zhang G P[10]、Khashei M[11]和Wang L[12]提出的預(yù)測模型的預(yù)測結(jié)果進(jìn)行比較。

Figure 2 Canadian lynx series (1821~1934)圖2 加拿大猞猁數(shù)據(jù)時間序列(1821~1934)
參照文獻(xiàn)[12],預(yù)測性能指標(biāo)選取平均誤差平方和MSE和平均絕對值誤差MAE,如式(12)所示:


(12)

(2)實驗參數(shù)設(shè)置。

SDE-BPNN預(yù)測結(jié)果如圖3所示,圖中數(shù)據(jù)是預(yù)處理后的實際測試數(shù)據(jù)與預(yù)測結(jié)果的比較。其與ARIMA模型、ANNs及其他混合模型的預(yù)測效果比較如表2、表3所示。

Figure 3 Comparison between pratical test data and the SDE-BPNN predict results(logarithmic test sample data set)圖3 SDE-BPNN預(yù)測猞猁數(shù)據(jù)結(jié)果(測試集)

模型MSEMAEARIMA0.0204860.112255ANNs0.0204660.112109ARIMA-ANNs[10]0.0172330.103972ARIMA-ANNs[11]0.0136090.089625ADE-BPNN[12]0.0103920.070623SDE-BPNN0.0068330.066110

Table 3 Improvement comparison of
從表3可以看出,對于MSE指標(biāo),SDE-BPNN算法的預(yù)測效果比ARIMA、ANNs模型提高了將近67%,比文獻(xiàn)[10]提出的模型要高出60.35%,比文獻(xiàn)[11]提出的模型要高出49.79%,比文獻(xiàn)[12]提出的模型要高出34.25%;對于MAE指標(biāo),SDE-BPNN混合算法比其他五種模型分別提高了41.11%、41.03%、36.42%、26.24%和6.39%。
6結(jié)束語
本文將DE算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,用于時間序列預(yù)測,主要工作和貢獻(xiàn)如下:為了克服傳統(tǒng)BP學(xué)習(xí)算法易使訓(xùn)練過程陷入局部極值點的缺點,改善其預(yù)測精度。本文先用具有強(qiáng)大全局尋優(yōu)能力的自適應(yīng)DE算法進(jìn)行全局預(yù)尋優(yōu),然后用傳統(tǒng)學(xué)習(xí)算法進(jìn)行深度尋優(yōu),訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。測試函數(shù)表明了自適應(yīng)DE算法的有效性,并通過一個具有明顯非線性特點的時間序列樣本驗證了SDE-BPNN混合算法的有效性,預(yù)測精度得到了明顯提高。
本研究將兩種新穎的智能算法相結(jié)合應(yīng)用于時間序列預(yù)測,理論上拓展了非線性時間序列預(yù)測理論,擴(kuò)大了DE算法的應(yīng)用范圍。本文提出的混合預(yù)測方法可用于幫助企業(yè)進(jìn)行銷售預(yù)測等,具有廣泛的適用性和較強(qiáng)的應(yīng)用價值。以后將把本文提出的預(yù)測方法和ARIMA模型結(jié)合,用來滿足其他方面的預(yù)測需求,如旅游需求和零售業(yè)銷售預(yù)測等。
參考文獻(xiàn):附中文
[1]Zhang G,Patuwo B E,Hu M Y. Forecasting with artificial neural networks:The state of the art [J]. International Journal of Forecasting,1998,14(1):35-62.
[2]Aslanargun A,Mammadov M,Yazici B,et al. Comparison of ARIMA,neural networks and hybrid models in time series:Tourist arrival forecasting [J]. Journal of Statistical Computation and Simulation,2007,77(1):29-53.
[3]Yam J Y F,Chow T W S. A weight initialization method for improving training speed in feedforward neural network [J]. Neurocomputing,2000,30(1):219-232.
[4]Irani R,Nasimi R. Evolving neural network using real coded genetic algorithm for permeability estimation of the reservoir [J].Expert Systems with Applications,2011,38(8):9862-9866.
[5]Li Song,Liu Li-jun,Zhai Man. Prediction for short-term traffic flow based on modified PSO optimized BP neural network[J].Systems Engineering-Theory & Practice,2012,32(9):2045-2049. (in Chinese)
[6]Onwubolu G,Davendra D. Scheduling flow shops using differential evolution algorithm [J]. European Journal of Operational Research,2006,171(2):674-692.
[7]Qu H,Wang L,Zeng Y R. Modeling and optimization for the joint replenishment and delivery problem with heterogeneous items[J]. Knowledge-Based Systems,2013,54:207-215.
[8]Deng Hua, Zhao Hui. Prediction of product cost based on DE-BP algorithm[J]. Computer Engineering and Applications,2009,45(3):233-234. (in Chinese)
[9]Campbell M J,Walker A M. A survey of statistical work on the Mackenzie River series of annual Canadian lynx trappings for the years 1821-1934 and a new analysis [J].Journal of the Royal Statistical Society (Series A),1977,140:411-431.
[10]Zhang G P. Time series forecasting using a hybrid ARIMA and neural network model[J]. Neurocomputing,2003,50:159-175.
[11]Khashei M,Bijari M. An artificial neural network (p,d,q) model for timeseries forecasting [J]. Expert Systems with Applications,2010,37(1):479-489.
[12]Wang L,Zeng Y,Chen T. Back propagation neural network with adaptive differential evolution algorithm for time series forecasting [J]. Expert Systems with Applications,2015,42(2):855-863.
[13]Elton C,Nicholson M. The ten-year cycle in numbers of the lynx in Canada [J]. The Journal of Animal Ecology,1942,11:215-244.
[5]李松,劉力軍,翟曼. 改進(jìn)粒子群算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的短
時交通流預(yù)測[J]. 系統(tǒng)工程理論與實踐,2012,32(9):2045-2049.
[8]鄧華,趙輝. DE-BP 神經(jīng)網(wǎng)絡(luò)對產(chǎn)品成本預(yù)測的研究[J].計算機(jī)工程與應(yīng)用,2009,45(3):233-234.

王林(1974-),男,湖北棗陽人,博士,教授,研究方向為智能優(yōu)化算法。E-mail:wanglin982@163.com
WANG Lin,born in 1974,PhD,professor,his research interest includes intelligent optimization algorithms.

彭璐(1991-),女,湖北荊州人,碩士生,研究方向為物流工程。E-mail:pengluhust@163.com
PENG Lu,born in 1991,MS candidate,her research interest includes logistics engineering.

夏德(1974-),男,湖北紅安人,博士,教授,研究方向為管理科學(xué)與工程。E-mail:xiadetiger@126.com
XIA De,born in 1974,PhD,professor,his research interest includes management science and engineering.

曾奕(1990-),女,湖南益陽人,碩士生,研究方向為供應(yīng)鏈管理。E-mail:zengy200810@126.com
ZENG Yi,born in 1990,MS candidate,her research interest includes supply chain management.
BPneuralnetworkincorporatingself-adaptivedifferentialevolutionalgorithmfortimeseriesforecasting
WANGLin1,PENG Lu1,XIA De2,ZENG Yi1
(1.SchoolofManagement,HuazhongUniversityofScienceandTechnology,Wuhan430074;
2.SchoolofManagement,WuhanUniversityofTechnology,Wuhan430070,China)
Abstract:It is easy for a BP neural network (BP-NN) to be trapped into a local minimum point for the time series forecasting problem. To improve the forecasting accuracy, we design a hybrid algorithm which combines the self-adaptive differential evolution algorithm (SDE) with the BP-NN. We adopt the SDE algorithm to search for global initial weights and thresholds of the BP-NN. These values are then employed to further search for the optimal weights and thresholds. The performance of the proposed SDE algorithm is verified through benchmark functions and a well-known real data set is used to verify the effectiveness of the hybrid algorithm. Compared with general neural network, ARIMA and other hybrid models,experimental results indicate that the proposed algorithm can be an effective way to improve forecasting accuracy.
Key words:time series forecasting;BP neural network;differential evolution algorithm
作者簡介:
doi:10.3969/j.issn.1007-130X.2015.12.012
中圖分類號:TP301
文獻(xiàn)標(biāo)志碼:A
基金項目:中央高校基本科研業(yè)務(wù)費(fèi)資助項目(HUST:2014QN201)
收稿日期:修回日期:2015-03-10
文章編號:1007-130X(2015)12-2270-06