張 忍,呂光輝
(長安大學(xué)汽車學(xué)院,陜西西安 710064)
公路客運(yùn)量是反映運(yùn)輸業(yè)為國民經(jīng)濟(jì)和人民生活服務(wù)的數(shù)量指標(biāo)。公路客運(yùn)預(yù)測是交通規(guī)劃的重要內(nèi)容。目前常用的定量預(yù)測方法有回歸分析預(yù)測、時(shí)間序列預(yù)測、灰色系統(tǒng)預(yù)測、馬爾可夫鏈法、蒙特卡羅法等[1]?;貧w分析法的計(jì)算量大, 特別是非線性回歸模型的求解比較困難;時(shí)間序列預(yù)測法不能反映事物的內(nèi)在關(guān)系, 也不能分析2個因素的相關(guān)關(guān)系, 準(zhǔn)確度差,只能適用于短期預(yù)測;馬爾可夫鏈預(yù)測模型的關(guān)鍵在于轉(zhuǎn)移概率矩陣的可靠性,該預(yù)測模型要求有足夠準(zhǔn)確的統(tǒng)計(jì)數(shù)據(jù),才能保證預(yù)測精度[2];蒙特卡羅法在預(yù)測過程中一般要假設(shè)某一頻率分部的概率,這與現(xiàn)實(shí)有一定差距;灰色系統(tǒng)預(yù)測方法所需資料少以及收集資料所花費(fèi)的時(shí)間和費(fèi)用都少,缺點(diǎn)是預(yù)測精度不高。近年來已經(jīng)有學(xué)者把神經(jīng)網(wǎng)絡(luò)與粒子群優(yōu)化算法引入到預(yù)測領(lǐng)域。本文結(jié)合灰色系統(tǒng)思想與神經(jīng)網(wǎng)絡(luò)和粒子群優(yōu)化算法的優(yōu)點(diǎn)建立基于灰色PSO-BP(神經(jīng)網(wǎng)絡(luò)的粒子群優(yōu)化算法)客運(yùn)量預(yù)測模型,進(jìn)一步提高預(yù)測精度。
灰色系統(tǒng)理論以“部分信息已知,部分信息未知”的“小樣本”、“貧信息”不確定性系統(tǒng)為研究對象,主要通過對“部分”已知信息的生成、開發(fā),提取有價(jià)值的信息,實(shí)現(xiàn)對系統(tǒng)運(yùn)行規(guī)律的正確認(rèn)識和有效控制[3]。GM(1,1)模型是灰色預(yù)測的核心, 其離散時(shí)間響應(yīng)函數(shù)近似呈指數(shù)規(guī)律。設(shè)原始時(shí)間序列為
X(0)=(x(0)(1),x(0)(2),…,x(0)(n)).
用1-AGO對序列進(jìn)行一階累加,生成序列
X(1)=(x(1)(1),x(1)(2),… ,x(1)(n)),
令Z(1)為X(1)的緊鄰均值(MEAN)生成序列
Z(1)=(z(1)(2),z(1)(3),…z(1)(n)),
Z(1)(k)=0.5x(1)(k)+0.5x(1)(k-1),
定義GM(1,1)的灰色微分方程模型為
x(0)(k)+az(1)(k)=b,
(1)
式中 a為發(fā)展系數(shù),b為灰色作用量。
則灰微分方程的最小二乘估計(jì)參數(shù)列滿足
式(1)的時(shí)間響應(yīng)序列為
取x(1)(0)=x(0)(1) ,則有
灰色預(yù)測方程為
標(biāo)準(zhǔn)粒子群算法(PSO)是一種有效的全局尋優(yōu)算法,是基于群體智能理論的優(yōu)化算法,通過群體中粒子間的合作和競爭產(chǎn)生的群體智能指導(dǎo)優(yōu)化搜索。PSO保留了基于種群的全局搜索策略,將個體看作是在n維搜索空間中沒有重量和體積的微粒,并在搜索空間中以一定的速度飛行。[4]在每次迭代中,每個個體(微粒)調(diào)整其飛行速度和位置的計(jì)算式為
vij(t+1)=wvij(t)+c1r1j(pij(t)-xij(t))+ c2r2j(pij(t)-xij(t)),
xij(t+1)= xij(t)+vij(t+1),
式中 ij表示第i個粒子的第j維;t表示第t代;c1,c2為加速常數(shù);r1,r2為隨機(jī)變量;v為粒子的飛行速度;w為慣性權(quán)重;x為粒子;p為粒子經(jīng)歷過的最好位置。
圖1 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
簡單的BP神經(jīng)網(wǎng)絡(luò)主要由輸入層、隱含層、輸出層組成。其中,隱含層可以有多層,各層神經(jīng)元之間通過連接權(quán)重相連接。BP算法中各層神經(jīng)元的轉(zhuǎn)移函數(shù)主要采用的是S型非線性函數(shù)。BP算法的基本思路是:輸入信號從輸入層經(jīng)隱含層的函數(shù)作用后到達(dá)輸出層得到輸出信號,若實(shí)際輸出的信號與期望值不符,網(wǎng)絡(luò)進(jìn)行反向傳播,反復(fù)修正各層間的權(quán)值和閾值,直到得出的期望輸出最小,即網(wǎng)絡(luò)全局誤差最小。其基本結(jié)構(gòu)如圖1所示。
BP神經(jīng)網(wǎng)絡(luò)模型的優(yōu)點(diǎn)是短期預(yù)測精度很高,具有局部逼近網(wǎng)絡(luò)的特點(diǎn),可以近似任何非線性函數(shù),不足之處是需要較為全面、能代表各種情況的樣本數(shù)據(jù),否則訓(xùn)練出來的神經(jīng)網(wǎng)絡(luò)外延性很差。
1)PSO-BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建。將PSO優(yōu)化算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合起來形成一種新的混合算法(即PSO-BP算法)。將神經(jīng)元之間所有的連接權(quán)值編碼成實(shí)數(shù)向量用來表示種群中的個體,隨機(jī)生成這些向量的群體,按照算法步驟迭代。迭代中新生成的個體向量還原成神經(jīng)網(wǎng)絡(luò)權(quán)值,計(jì)算所有樣本通過神經(jīng)網(wǎng)絡(luò)產(chǎn)生的均方差,若小于系統(tǒng)指定的誤差,則訓(xùn)練過程停止,否則繼續(xù)進(jìn)行,直到達(dá)到最大迭代次數(shù)為止。[5]
2)算法的實(shí)現(xiàn)。①確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、初始化粒子位置及速度、確定粒子數(shù)和最大允許迭代步數(shù);②以網(wǎng)絡(luò)均方差作為適應(yīng)度函數(shù),計(jì)算各個粒子的適應(yīng)度值;③比較并確定每個粒子的局部最優(yōu)值及每一代粒子的全部最優(yōu)值;④迭代達(dá)到最大次數(shù)或最小誤差時(shí),停止迭代,并輸出對應(yīng)的神經(jīng)網(wǎng)絡(luò)權(quán)值與連接結(jié)構(gòu);⑤否則更新每個粒子的位置和速度,轉(zhuǎn)到步驟②。
3)模型構(gòu)建原理。構(gòu)建基于灰色理論和粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的灰色PSO-BP公路客運(yùn)量預(yù)測模型,如圖2所示。該模型將陜西省的GDP、人口數(shù)量、公路總長、鐵路客運(yùn)量4個主要指標(biāo)分別用灰色模型進(jìn)行擬合和預(yù)測,并將擬合值作為PSO-BP網(wǎng)絡(luò)的輸入樣本對其進(jìn)行訓(xùn)練,最后將各指標(biāo)預(yù)測值輸入訓(xùn)練好的網(wǎng)絡(luò)仿真得到相應(yīng)的公路客運(yùn)量預(yù)測結(jié)果[6]。其中,神經(jīng)網(wǎng)絡(luò)輸入、輸出節(jié)點(diǎn)數(shù)分別為4和1,輸出層采用purelin函數(shù),隱含層節(jié)點(diǎn)數(shù)確定為10,激活函數(shù)用tansig函數(shù),訓(xùn)練步數(shù)設(shè)為5 000,誤差目標(biāo)設(shè)為0.001。
圖2 灰色PSO-BP公路客運(yùn)量預(yù)測模型
4)模型算法步驟。利用灰色PSO-BP預(yù)測模型對公路客運(yùn)量進(jìn)行實(shí)例預(yù)測,具體過程如下:①將陜西省的GDP、人口數(shù)量、公路總長、鐵路客運(yùn)量4個指標(biāo)的歷史數(shù)據(jù)分別用灰色模型進(jìn)行變維數(shù)擬合,找到最優(yōu)維數(shù)并得到相應(yīng)的擬合值pi(i=1,2,3,4);②對擬合數(shù)據(jù)pi和陜西省公路客運(yùn)量進(jìn)行歸一化處理,使所有數(shù)值落入(0,1),并耦合生成PSO-BP網(wǎng)絡(luò)的數(shù)據(jù)樣本集(其中,輸入樣本為公路客運(yùn)量影響指標(biāo)X=[p1,p2,p3,p4],目標(biāo)樣本為公路客運(yùn)量T=[P]);③使用Matlab7工具箱函數(shù),建立PSO-BP神經(jīng)網(wǎng)絡(luò),將2/3樣本集賦給網(wǎng)絡(luò)輸入層相應(yīng)的節(jié)點(diǎn),按照粒子群優(yōu)化BP算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至誤差達(dá)到要求[7];④用剩余1/3 樣本集對PSO-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行檢驗(yàn)、評價(jià);⑤將灰色模型預(yù)測值作為網(wǎng)絡(luò)輸入,用第③步訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行仿真,得到公路客運(yùn)量的預(yù)測。
以2002年—2011年的歷史數(shù)據(jù)為基礎(chǔ),分別采用單變量GM(1,1)、BP神經(jīng)網(wǎng)絡(luò)和灰色PSO-BP組合模型進(jìn)行擬合,擬合結(jié)果如表1 所示。從表1可以看出,3種算法中由于灰色PSO-BP模型能夠反映人口總量與其影響因素之間相互制約、相互促進(jìn)的關(guān)系,其擬合結(jié)果比單變量GM(1,1)和BP神經(jīng)網(wǎng)絡(luò)模型精度有了明顯的改善。
由于灰色PSO-BP公路客運(yùn)量預(yù)測模型屬于短序列預(yù)測,只適合中、短期的公路客運(yùn)量預(yù)測。所以對2012年—2016年共5個時(shí)間序列點(diǎn)的陜西省公路客運(yùn)量進(jìn)行預(yù)測,分別為105 787,112 455,129 390,132 576,148 260萬人。在2002年—2011年 灰色PSO-BP網(wǎng)絡(luò)預(yù)測模型的建立過程中, 發(fā)現(xiàn)預(yù)測值擬合程度很高, 模型精度在97% 左右,平均相對誤差為1.643%,客運(yùn)量的預(yù)測值基本符合本地區(qū)經(jīng)濟(jì)、社會快速發(fā)展趨勢, 故該模型滿足要求。
表1 公路旅客運(yùn)輸量預(yù)測結(jié)果 萬人
將灰色理論和神經(jīng)網(wǎng)絡(luò)進(jìn)行了有機(jī)結(jié)合,并利用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)向量和閾值,形成了灰色PSO-BP公路客運(yùn)量預(yù)測模型。經(jīng)過與既有實(shí)測客運(yùn)量的比較,灰色PSO-BP模型的預(yù)測精度明顯高于其它幾種預(yù)測方法,實(shí)例驗(yàn)證了該預(yù)測模型的合理性和可行性。
參考文獻(xiàn):
[1]鄧聚龍.灰預(yù)測與灰決策[M].武漢:華中科技大學(xué)出版社, 2002.
[2]劉思峰,黨耀國,方志耕,等.灰色系統(tǒng)理論及其應(yīng)用[M].北京:科學(xué)出版社,2010.
[3]劉思峰,謝乃明.灰色系統(tǒng)理論及其應(yīng)用[M].北京:科學(xué)出版社,2008:12.
[4]張長勝,孫吉貴,歐陽丹彤.一種自適應(yīng)離散粒子群算法及其應(yīng)用研究[J].電子學(xué)報(bào),2009,37(2):299-304.
[5]秦偉剛,黃琦蘭.基于RBF神經(jīng)網(wǎng)絡(luò)的交通流預(yù)測[J].天津工業(yè)大學(xué)學(xué)報(bào),2006,25(2):71-73.
[6]沈家軍,王煒,陳峻.基于灰色馬爾可夫模型的近期公交客流量預(yù)測[J].公路交通科技, 2007, 24(9): 120-123.
[7]張德豐.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].北京:電子工業(yè)出版社,2009.