王浩,郭瑞軍
(大連交通大學(xué) 交通運輸工程學(xué)院,遼寧 大連 116028)
?
改進PCA-BP神經(jīng)網(wǎng)絡(luò)模型在公路客運量預(yù)測的應(yīng)用
王浩,郭瑞軍
(大連交通大學(xué) 交通運輸工程學(xué)院,遼寧 大連 116028)
用PCA-BP神經(jīng)網(wǎng)絡(luò)模型對公路客運量進行預(yù)測,預(yù)測精度與收斂速度都不是很理想,為克服PCA-BP神經(jīng)網(wǎng)絡(luò)算法存在的非線性逼近、迭代次數(shù)過多,易陷入局部極值等不足,提出將PCA-BP神經(jīng)網(wǎng)絡(luò)模型與動態(tài)陡度因子、附加動量因子和動態(tài)調(diào)整學(xué)習(xí)率算法結(jié)合的方法,給出具體的網(wǎng)絡(luò)學(xué)習(xí)方法,并結(jié)合實際調(diào)查數(shù)據(jù)進行對比測試,分析結(jié)果證明了改進型PCA-BP神經(jīng)網(wǎng)絡(luò)模型對公路客運量預(yù)測有效性.
PCA-BP神經(jīng)網(wǎng)絡(luò); 動態(tài)陡度因子; 動態(tài)調(diào)整學(xué)習(xí)率算法; 客運量; 預(yù)測
公路客運量預(yù)測屬于復(fù)雜非線性系統(tǒng)問題,早期的預(yù)測方法主要有多元線性回歸預(yù)測模型、自回歸模型、自回歸滑動平均模型、指數(shù)平滑預(yù)測模型等.Sherif Ishak等[1]應(yīng)用實時數(shù)據(jù)分析和評價了幾種交通客運量預(yù)測模型的效果;孫煦、陸化普[2]等對公路客運量預(yù)測難以建立精確預(yù)測模型的問題,引入基于蟻群優(yōu)化的支持向量機算法對公路客運量進行預(yù)測.這些方法可以實現(xiàn)交通客運量的預(yù)測工作,但缺點是沒有擺脫建立精確數(shù)學(xué)模型的困擾,其預(yù)測效果很大程度上取決于參數(shù)的選取,并且非線性擬合能力不突出.Tung、Chrobok、Quek[3-5]等人采用神經(jīng)網(wǎng)絡(luò)模型進行預(yù)測,證明神經(jīng)網(wǎng)絡(luò)得到的結(jié)果的精確性較傳統(tǒng)預(yù)測模型高.董春嬌[6]等在傳統(tǒng)的BP(Back Propagation)神經(jīng)絡(luò)算法中有所改進,采用Elman神經(jīng)網(wǎng)絡(luò)的交通流短時預(yù)測,通過在前饋網(wǎng)絡(luò)的隱含層中增加一個承接層,作為延時算子使系統(tǒng)具有適應(yīng)時變特性的能力.在公路客運量的預(yù)測方面,神經(jīng)網(wǎng)絡(luò)應(yīng)用較多,但傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)存在的非線性逼近、迭代次數(shù)過多,易陷入局部極值等不足,而且預(yù)測結(jié)果影響因素分析較少,對預(yù)測指標(biāo)的選取沒有進行全面充分的系統(tǒng)考慮.
本文在PCA(Principle Component Analysis)與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合構(gòu)成PCA-BP網(wǎng)絡(luò)模型的基礎(chǔ)上,將動態(tài)陡度因子、附加動量因子和動態(tài)調(diào)整學(xué)習(xí)率等方法融入模型的運作過程,進一步完善算法,提出改進PCA-BP神經(jīng)網(wǎng)絡(luò)模型,并將其運用到公路客運量的預(yù)測.
公路客運量受人口總數(shù)、區(qū)域經(jīng)濟發(fā)展水平、居民消費水平等多種因素影響.在用BP神經(jīng)網(wǎng)絡(luò)進行模擬預(yù)測時,首先要確定對預(yù)測指標(biāo)有影響的主要因素(即系統(tǒng)輸入).運用PCA-BP神經(jīng)網(wǎng)絡(luò)模型可以實現(xiàn)減少輸入變量個數(shù),達到降維目的,并使其包含原輸入變量群的絕大部分信息,從而提高神經(jīng)網(wǎng)絡(luò)的運行效率和預(yù)測精度.PCA-BP神經(jīng)網(wǎng)絡(luò)模型流程見圖1.
1.1 PCA原理[7]
在所有的線性組合中選取方差最大的p1為第一主成分.若p1不足以代表原來的m個指標(biāo)的信息,則選取p2即第二個線性組合.為有效反映原來信息,p1已有信息不需出現(xiàn)在p2中,即Cov(p1,p2),則p2為第二主成分.以此類推,可構(gòu)造第三,第四,……,第n個主成分.
這m個變量中可找到n個變量(n 圖1 PCA-BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖 1.2 BP神經(jīng)網(wǎng)絡(luò)原理 模型拓?fù)浣Y(jié)構(gòu)有三層,即輸入層、隱含層和輸出層,同一層的節(jié)點之間相互不關(guān)聯(lián),異層的神經(jīng)元間前向連接.當(dāng)一對樣本學(xué)習(xí)模式提供網(wǎng)絡(luò)后,神經(jīng)元的激活值從輸入層經(jīng)中間層向輸出層傳播,在輸出層各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng).之后,按減少希望輸出與實際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),最后到輸入層. 假設(shè)三層BP網(wǎng)絡(luò),輸入層第i個節(jié)點的輸入為Xi,隱含層j個節(jié)點的輸入和輸出層分別為Sj和Hj,輸出層第k個節(jié)點的輸入和輸出分別為Ck與Ok,輸入層、隱含層、輸出層節(jié)點數(shù)為m,l,n.輸入層節(jié)點與隱含層將節(jié)點之間的聯(lián)接權(quán)值為wij,隱含層節(jié)點與輸出層節(jié)點之間的聯(lián)結(jié)權(quán)值為wjk,隱含層如輸出層各單元的輸出閥值分別為aj和bk,輸出層第k個節(jié)點的期望輸出為tk,激活函數(shù)為f(x),誤差函數(shù)為E.各函數(shù)分別為: 本文基于PCA-BP神經(jīng)網(wǎng)絡(luò)模型,采用動態(tài)陡度因子、附加動量因子和動態(tài)調(diào)整學(xué)習(xí)率算法,將網(wǎng)絡(luò)模型進行優(yōu)化,最后將降維的樣本集合和優(yōu)化的權(quán)值代入網(wǎng)絡(luò),在經(jīng)過PCA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練之后,用檢驗樣本集合對其進行檢驗. 2.1 附加動量法 傳統(tǒng)BP 算法在調(diào)整權(quán)值時, 只按照當(dāng)前時刻的負(fù)梯度方向調(diào)整,沒有考慮到以前各次運算中的梯度方向, 導(dǎo)致新樣本對迭代過程的影響太大,會導(dǎo)致數(shù)據(jù)訓(xùn)練過程中調(diào)整方向發(fā)生振蕩,導(dǎo)致不穩(wěn)定和收斂速度慢.附加動量的BP 算法[10]考慮了以前時刻的貢獻, 其權(quán)值迭代公式如下所示: 其中,D(n)和D(n-1))分別表示n時刻和n-1時刻的負(fù)梯度,η為學(xué)習(xí)率,α為動量因子.加入以前時刻梯度的貢獻,使網(wǎng)絡(luò)忽略誤差曲面上的細(xì)節(jié)特征,減小學(xué)習(xí)過程的震蕩趨勢,避免網(wǎng)絡(luò)陷入局部極小點的問題. 2.2 動態(tài)調(diào)整學(xué)習(xí)率[8] 傳統(tǒng)BP模型中,學(xué)習(xí)率是固定的.學(xué)習(xí)率對模型運算性能影響較大,動態(tài)的學(xué)習(xí)率可以改善訓(xùn)練算法的性能.學(xué)習(xí)率η與誤差函數(shù)相關(guān)聯(lián),在網(wǎng)絡(luò)的每一步學(xué)習(xí)過程中動態(tài)調(diào)整η的值,對不同的誤差質(zhì)的變化,每一步學(xué)習(xí)后學(xué)習(xí)率都進行相應(yīng)的調(diào)整.調(diào)整公式為: 3.1 網(wǎng)絡(luò)初始化 對所得的社會經(jīng)濟指標(biāo)進行主成分分析,得出輸入節(jié)點數(shù)與輸出節(jié)點數(shù)m,n;采用經(jīng)驗公式確定節(jié)點數(shù)的上下限,隱節(jié)點數(shù)的上限作為初始隱節(jié)點數(shù)l.初始化輸入層、隱含層和輸出層各神經(jīng)元間權(quán)值wij,wjk.隱含層閾值a,輸出層閾值b;給定初始化的學(xué)習(xí)速率η;網(wǎng)絡(luò)輸入和輸出為(X,Y). 3.2 計算隱含層輸出 根據(jù)給定的輸入向量X,輸入層和隱含層間連接權(quán)值wij以及隱含層閥值a,計算隱含層輸出H. 式中,l代表隱含層節(jié)點數(shù),f代表隱含層神經(jīng)元刺激函數(shù). 神經(jīng)元刺激函數(shù)為: 具體表現(xiàn)是通過改變刺激函數(shù)中的陡度因子P[9-10].如圖2,當(dāng)P很大時S型線比較平坦,當(dāng)P很小時,S型曲線比較陡峭,當(dāng)P趨近于0時,S型曲線趨向階躍函數(shù). 圖2 激勵函數(shù)隨P變化圖 P的衰減方式?jīng)Q定著最終算法的速度和準(zhǔn)確性.采用下列指數(shù)方式對P的衰減進行改進: P=qtP0 式中:P0>0是初始值,t是迭代次數(shù),而常數(shù)q∈(0,1),可以看出,P為q的單調(diào)遞減函數(shù),當(dāng)t減小時,P的下降速度變快;當(dāng)t變大時,P的下降速度變慢.這樣,通過恰當(dāng)?shù)剡x擇q的值,就可以控制P的下降速度. 3.3 計算輸出層輸出 根據(jù)隱含層輸出H,連接權(quán)值wjk和閥值b,計算網(wǎng)絡(luò)的預(yù)測輸出O,并計算預(yù)測誤差e. 3.4 學(xué)習(xí)速率的改變 根據(jù)迭代次數(shù),學(xué)習(xí)率不斷減小,計算當(dāng)前學(xué)習(xí)率. 式中,η為學(xué)習(xí)速率,ηmax為最大學(xué)習(xí)率,ηmin為最小學(xué)習(xí)率,tmax為最大迭代次數(shù),t為當(dāng)前迭代次數(shù). 3.5 附加動量的權(quán)值與閥值的更新 根據(jù)求得的網(wǎng)絡(luò)預(yù)測誤差,更新網(wǎng)絡(luò)權(quán)值wij和wjk,并且更新閥值a和b. 在上述式中,λ為動量因子,取λ=0.005. 3.6 進行判斷 根據(jù)迭代次數(shù)判斷算法是否結(jié)束,若沒有結(jié)束,返回3.2處重新開始. 為驗證模型預(yù)測效果,選取山東濰坊市1996年至2005年10個樣本為學(xué)習(xí)樣本,將2006至2012年7個樣本作為檢驗樣本,數(shù)據(jù)見表1.利用SPSS統(tǒng)計工具,對數(shù)據(jù)進行因子分析,根據(jù)實驗和經(jīng)驗[11],公式中的參數(shù)可以設(shè)定為a=1.05,b=0.7,ηmin=0.025; tmax=5000; q=0.85.選取特征值大于1的作為主成分,可以發(fā)現(xiàn)當(dāng)取到3個主成分,其累積貢獻率達86.26%>80%,滿足要求,即神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點為3個.將各個參數(shù)代入模型之后可以得出:P0=90,Pmin=0.1.結(jié)果如表2、表3所示. 表1 某區(qū)域社會經(jīng)濟指標(biāo) 表2 因子載荷矩陣表 表3 主成分特征值和貢獻率 經(jīng)主成分分析,可以確定出神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點為3個,即: 第一個主成分分?jǐn)?shù)=0.208×總?cè)丝跀?shù)-0.102×人均旅行次數(shù)-0.112×居民消費指數(shù)+0.202×居民消費水平+0.162×機動車保有量+0.212×地區(qū)生產(chǎn)總值+0.119×人口密度+0.217×消費總額; 第二個主成分分?jǐn)?shù)=0.241×總?cè)丝跀?shù)+0.305×人均旅行次數(shù)+0.219×居民消費指數(shù)-0.210×居民消費水平-0.253×機動車保有量+0.249×地區(qū)生產(chǎn)總值-0.075×人口密度+0.253×消費總額; 第三個主成分分?jǐn)?shù)=-0.160×總?cè)丝跀?shù)-0.090×人均旅行次數(shù)+0.840×居民消費指數(shù)+0.222×居民消費水平-0.097×機動車保有量-0.114×地區(qū)生產(chǎn)總值+0.651×人口密度-0.077×消費總額; 運用MATLAB等軟件分別對傳統(tǒng)PCA-BP神經(jīng)網(wǎng)絡(luò)以及改進型PCA-BP神經(jīng)網(wǎng)絡(luò)模型進行運算.后七年的公路客運量實際值與預(yù)測值數(shù)據(jù)比較見圖3. 圖3 預(yù)測值比較 從上述表格數(shù)據(jù)可知,改進型PCA-BP模型的迭代次數(shù)2361次,準(zhǔn)確率為88.91%比傳統(tǒng)的PCA-BP模型更為理想,預(yù)測效果較好. 本文將傳統(tǒng)的PCA-BP神經(jīng)網(wǎng)絡(luò)模型進行改進,將附加動量因子、動態(tài)陡度因子、動態(tài)調(diào)整學(xué)習(xí)率算法等方法加入模型,使改進后模型不僅對預(yù)測指標(biāo)進行全面充分的系統(tǒng)考慮,而且有效解決BP神經(jīng)網(wǎng)絡(luò)存在的非線性逼近、迭代次數(shù)過多,易陷入局部極值等缺點,并把預(yù)測結(jié)果與傳統(tǒng)PCA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果相比較,從結(jié)果看出,不僅預(yù)測精度有了提高,而且收斂速度也得到加快.由此可見,改進PCA-BP神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)的PCA-BP模型更具優(yōu)越性,能較好的得到預(yù)測結(jié)果,可以為相關(guān)企業(yè)和部門的決策提供一定的技術(shù)支持. [1]SHREIF ISHAK, HAITHAM AI-DEEK. Performance Evaluation of Short-Term Time-Series Traffic Prediction Model [J]. Journal of Transportation Engineering, 2002, 128(6): 490-498. [2]孫煦,陸化普,吳娟. 基于蟻群優(yōu)化支持向量機模型的公路客運量預(yù)測[J]. 合肥工業(yè)大學(xué),2012,35(1):124-129. [3]TUNG BUI, JINTAE LEE. An agent-based frame work for systems[J].Decision Support System,1999:225-237. [4]YIN HONGBIN, WONG S C, XU J IANMIN.Urban traffic flow prediction using a fuzzy-neural approach [J].Transportation Research Part C,2002,13(8):85-98. [5]QUCK C, SINGH A,POP-YAGE. A novel self-organizing fuzzy neural network based on the Yager inference[J]. Expert Systems with Application,2005,7(1):229-242. [6]董春嬌,邵春福. 基于Elman神經(jīng)網(wǎng)絡(luò)的道路網(wǎng)短時交通流預(yù)測方法[J].交通運輸系統(tǒng)工程與信息,2010,10(1):145-151. [7]肖漢,曹軍. 基于PCA的BP神經(jīng)網(wǎng)絡(luò)模型在城市供水預(yù)測中的應(yīng)用[J]. 山東農(nóng)業(yè)大學(xué)學(xué)報,2013,44(2):266-270. [8]BRIAN L. Comparison of Parametric and Nonparametric Models for Traffic Flow Forecasting [J].Transportation Research Part C: Emerging Technologies,2002,10(4):303 -321. [9]COOK D, RAGSDALE,MAJOR R I. Combining a neural network with a genetic algorithm for process parameter optimization[J].Engineering Application of Artificial Intelligence,2000(3):391-396. [10]蔡志雄. 基于神經(jīng)網(wǎng)絡(luò)的中心城市常規(guī)公交車客運量預(yù)測研究[D].成都:西南交通大學(xué),2013:42. [11]朱英. 改進BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型及其應(yīng)用[J].武漢理工大學(xué)學(xué)報,2012,36(12):1252 -1255. Forecasting of Highway Passenger Transportation Volume based on Improved PCA-BP Neural Network Model WANG Hao, GUO Ruijun (School of Traffic and Transportation Engineering, Dalian Jiaotong University, Dalian 116028, China) In order to overcome the defects of nonlinear approximation, too much iterations and easy to fall into local minimum of the PCA-BP neural network , an improved PCA-BP neural network forecasting model was proposed, which combined steepness factor, the method of momentum item addition and the learning algorithm of variable learning rate. This forecasting model is constructed based on the PCA-BP neural network by detailed learning algorithm. Comparative test and analysis show that the PCA-BP neural model is valid for highway passenger transportation volume forecasting. PCA-BP neural model; steepness factor; learning algorithm of variable learning rate; Matlab 1673- 9590(2016)02- 0001- 05 2014-11-04 王浩(1990-),男,碩士研究生;郭瑞軍(1977-),男,副教授,博士,從事道路通行能力的研究E- mail:858911569@qq.com. A2 改進PCA-BP神經(jīng)網(wǎng)絡(luò)模型的思想
3 改進PCA-BP模型的預(yù)測流程
4 改進PCA-BP模型在城市交通流預(yù)測中的實際應(yīng)用
5 結(jié)論