裴同松,裴 彧
(1.河北交通職業(yè)技術(shù)學(xué)院 電氣與信息工程系,河北 石家莊 050091;2.河北交通職業(yè)技術(shù)學(xué)院 土木工程系,河北 石家莊 050091)
隨著社會(huì)的進(jìn)步和國(guó)民經(jīng)濟(jì)的蓬勃發(fā)展,公路運(yùn)輸業(yè)也逐步走向繁榮。到目前為止,公路運(yùn)輸已經(jīng)在國(guó)民經(jīng)濟(jì)中占據(jù)了舉足輕重的地位。公路運(yùn)輸業(yè)的快速發(fā)展為人們創(chuàng)造便捷生活的同時(shí)也不可避免的產(chǎn)生交通堵塞或交通意外等問(wèn)題。合理的預(yù)測(cè)出公路的運(yùn)輸量(客運(yùn)量與貨運(yùn)量)一方面可以加強(qiáng)公路的基礎(chǔ)設(shè)施建設(shè),另一方面可以使交通管理部門(mén)對(duì)公路運(yùn)輸進(jìn)行統(tǒng)籌規(guī)劃,為交管部門(mén)制定交通生產(chǎn)、組織、運(yùn)輸計(jì)劃夯實(shí)基礎(chǔ)。因此如何快速準(zhǔn)確的預(yù)測(cè)公路運(yùn)量將對(duì)解決相應(yīng)的公路運(yùn)輸問(wèn)題提供極大的幫助。
國(guó)內(nèi)外的學(xué)者對(duì)事物的預(yù)測(cè)方法主要有:統(tǒng)計(jì)回歸法[1]、時(shí)間序列法[2]、逆陣求解法[3]、灰色預(yù)測(cè)法[4]、神經(jīng)網(wǎng)絡(luò)法[5]、馬爾科夫鏈[6]等。例如申嘉榮等[7]利用神經(jīng)網(wǎng)絡(luò)對(duì)碾壓混凝土壩層面抗剪斷強(qiáng)度進(jìn)行了預(yù)測(cè);鄭峰等[8]利用馬爾可夫鏈合理的預(yù)測(cè)了未來(lái)人才流動(dòng)方式;柯福陽(yáng)等[9]利用BP神經(jīng)網(wǎng)絡(luò)對(duì)精確的預(yù)測(cè)分析了滑坡地質(zhì)災(zāi)害。
考慮到公路運(yùn)輸量變化具有隨機(jī)性、變化條件復(fù)雜性以及變化波動(dòng)大等因素,因此筆者在前人研究的基礎(chǔ)上將新陳代謝法與BP神經(jīng)網(wǎng)絡(luò)模型結(jié)合并使用馬爾科夫鏈對(duì)新生成的預(yù)測(cè)模型進(jìn)行相對(duì)值修正,最終達(dá)到提高預(yù)測(cè)精度的目的。
神經(jīng)網(wǎng)絡(luò)系統(tǒng)目前已經(jīng)成為人工智能領(lǐng)域中的重要一環(huán),并且發(fā)展了包括多層感知器、Kohomen自組織特性映射、Hopfield網(wǎng)絡(luò)、BP網(wǎng)絡(luò)、RBF網(wǎng)絡(luò)等在內(nèi)的數(shù)十種網(wǎng)絡(luò)。其中,采用反向傳播算法的BP網(wǎng)絡(luò)應(yīng)用最為廣泛。BP神經(jīng)網(wǎng)絡(luò)信息傳遞方式與人體神經(jīng)元傳遞方式大體相同,它由輸入層、隱含層、輸出層組成,輸出函數(shù)一般是logsig函數(shù)、tansig函數(shù)以及purelin函數(shù)[10]。通用神經(jīng)元模型及BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1和圖2。
圖1 通用神經(jīng)元模型
圖2 BP經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖1和圖2中x1,x2…xR為輸入向量、wi,1為向量權(quán)重、bi為閾值、y1,y2…yR為輸出向量。
由于BP神經(jīng)網(wǎng)絡(luò)是由多個(gè)神經(jīng)元共同傳遞信號(hào)輸出,因此第n個(gè)神經(jīng)元的輸出向量為:
(1)
第i個(gè)經(jīng)過(guò)傳遞函數(shù)輸出的神經(jīng)元表達(dá)式為:
yi=f(n)=tansig(ni)
(2)
新陳代謝法修正BP神經(jīng)網(wǎng)絡(luò)具體建模過(guò)程如下:
1)將原始數(shù)據(jù)進(jìn)行歸一化處理并作為BP神經(jīng)網(wǎng)絡(luò)中的輸入向量,以實(shí)際值作為網(wǎng)絡(luò)模型的訓(xùn)練目標(biāo)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
2)通過(guò)使用新陳代謝法不斷更新BP網(wǎng)絡(luò)訓(xùn)練后的起始數(shù)據(jù)與末尾數(shù)據(jù)從而使樣本序列始終保持更新?tīng)顟B(tài)。
3)將預(yù)測(cè)得到的擬合值作為輸出目標(biāo)值,如果輸出向量不滿足期望值立即進(jìn)行逆方向傳播訓(xùn)練直至得出期望的仿真結(jié)果。
BP神經(jīng)網(wǎng)絡(luò)具體運(yùn)算過(guò)程如圖3。
圖3 組合模型流程
馬爾科夫鏈屬于隨機(jī)過(guò)程理論中的典型代表,它依靠使用當(dāng)前系統(tǒng)的狀態(tài)通過(guò)求解狀態(tài)轉(zhuǎn)移矩陣推斷下一次等時(shí)距的系統(tǒng)所處狀態(tài)。馬爾科夫鏈適用于隨機(jī)性大、數(shù)據(jù)波動(dòng)明顯的隨機(jī)系統(tǒng)[11],通過(guò)馬爾科夫鏈對(duì)數(shù)據(jù)的修正,可以使原系統(tǒng)所得結(jié)果更加精確。馬爾科夫鏈在文中具體應(yīng)用過(guò)程如下:
1)根據(jù)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)出的期望值與實(shí)際值進(jìn)行相對(duì)值計(jì)算,可以將相對(duì)值合理的分成若干個(gè)狀態(tài)區(qū)間。狀態(tài)區(qū)間為:
Ei=[Qi1,Qi2] (i=1,2,…,k)
(3)
式中:Qi1,Qi2分別為狀態(tài)區(qū)間的上限和下限。
2)將狀態(tài)Ei通過(guò)k步轉(zhuǎn)移到狀態(tài)Ej出現(xiàn)的次數(shù)為Mij,Mi為狀態(tài)Ei出現(xiàn)的次數(shù),則Pij為狀態(tài)Ei到狀態(tài)Ej的一步轉(zhuǎn)移概率,如式(4):
(4)
式中:
(5)
3)假設(shè)將最初的狀態(tài)向量定義為S(0),那么轉(zhuǎn)移K步之后得到向量將定義為:
S(k)=S(0)×P(k)
(6)
(7)
(8)
2)后驗(yàn)差C:
(9)
3)小概率誤差P:
(10)
表1 預(yù)測(cè)模型精度等級(jí)劃分標(biāo)準(zhǔn)
選取河北省某地區(qū)1998—2017年的公路客運(yùn)量和公路貨運(yùn)量作為樣本數(shù)據(jù)。
(3)降水對(duì)空氣質(zhì)量有一定的影響,降水量多的時(shí)候,空氣中污染物的質(zhì)量濃度較小,這是由于降水加速了空氣中污染物擴(kuò)散,空氣質(zhì)量較為優(yōu)良。而在無(wú)降水天氣,污染物容易堆積,空氣質(zhì)量較差。因此,在空氣污染較為嚴(yán)重的天氣,可以通過(guò)增大降水量來(lái)改善空氣的質(zhì)量。
使用MATLAB2016a軟件建立網(wǎng)絡(luò)模型,為了保證神經(jīng)網(wǎng)絡(luò)模型的精度以及計(jì)算工作量,模型結(jié)構(gòu)選取為3-7-2,使用tansig傳遞函數(shù)建立網(wǎng)絡(luò)并使用traingdx函數(shù)作為網(wǎng)絡(luò)訓(xùn)練函數(shù),設(shè)置學(xué)習(xí)速率基值以及訓(xùn)練精度分別是0.05和0.001,訓(xùn)練步數(shù)最大值為30 000。將1998—2009年的運(yùn)量數(shù)據(jù)為模型實(shí)際輸入值,通過(guò)預(yù)測(cè)計(jì)算得出2010—2017年公路運(yùn)量數(shù)據(jù)并分析對(duì)比。該地區(qū)具體運(yùn)量數(shù)據(jù)見(jiàn)表2。
表2 河北省某地區(qū)公路運(yùn)量統(tǒng)計(jì)
通過(guò)表1和表2計(jì)算可知,使用新陳代謝法優(yōu)化的BP網(wǎng)絡(luò)預(yù)測(cè)模型針對(duì)公路客運(yùn)量的平均相對(duì)誤差為5.70%,后驗(yàn)差為0.246,小概率誤差為0.943;公路貨運(yùn)量的平均相對(duì)誤差為3.99%,后驗(yàn)差為0.194,小概率誤差為0.961,模型精度見(jiàn)表3。
表3 模型精度比較
由表3可知BP網(wǎng)絡(luò)預(yù)測(cè)雖然較為準(zhǔn)確但為了使預(yù)測(cè)模型進(jìn)一步精確,筆者引入馬爾科夫鏈對(duì)BP網(wǎng)絡(luò)進(jìn)行優(yōu)化。
2.2.1 劃分狀態(tài)
根據(jù)表2公路運(yùn)量的相對(duì)值依次將公路客運(yùn)量劃分為E1[0.979~1.013]、E2[1.014~1.03、E3[1.073~1.223];公路貨運(yùn)量劃分為E1[0.906~0.996]、E2[0.997~1.038)、E3[1.039~1.088]3種狀態(tài),公路運(yùn)量狀態(tài)劃分見(jiàn)表2。
2.2.2 計(jì)算狀態(tài)轉(zhuǎn)移矩陣
1)公路客運(yùn)量
由式(6)可知公路客運(yùn)量經(jīng)過(guò)一次狀態(tài)轉(zhuǎn)移矩陣后,得S(1)=(0.375 0,0.312 5,0.312 5);經(jīng)過(guò)兩次狀態(tài)轉(zhuǎn)移矩陣得S(2)=(0.364 6,0.343 8,0.291 7)。因此公路客運(yùn)量在2018年及2019年處于E1狀態(tài)的概率最大。
2)公路貨運(yùn)量
由表2可知E1狀態(tài)出現(xiàn)4次,E2狀態(tài)出現(xiàn)3次,E3狀態(tài)出現(xiàn)1次。初始狀態(tài)向量為S′(0)=(0.500 0,0.375 0,0.125 0)。按式(4)并借助MATLAB2016a軟件計(jì)算得如下?tīng)顟B(tài)轉(zhuǎn)移矩陣:
由式(6)可知公路貨運(yùn)量經(jīng)過(guò)一次狀態(tài)轉(zhuǎn)移矩陣后,得S′(1)=(0.385 0,0.365 0,0.250 0);經(jīng)過(guò)兩次狀態(tài)轉(zhuǎn)移矩陣得S′(2)=(0.343 7,0.437 5,0.218 7)。因此公路貨運(yùn)量在2018年及2019年分別處于為E1狀態(tài)和E2狀態(tài)的概率最大。
2.2.3 馬爾科夫鏈修正預(yù)測(cè)值
根據(jù)2010—2017年公路運(yùn)量所處的狀態(tài),參照式(7)計(jì)算可得馬爾科夫鏈修正后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值,修正值見(jiàn)表2。
參照表2計(jì)算可知,使用馬爾科夫鏈修正后的BP網(wǎng)絡(luò)預(yù)測(cè)模型針對(duì)公路客運(yùn)量的平均相對(duì)誤差為2.07%,后驗(yàn)差為0.098,小概率誤差為0.979;公路貨運(yùn)量的平均相對(duì)誤差為2.14%,后驗(yàn)差為0.099,小概率誤差為0.979。
2.4.1 馬爾科夫鏈修正模型與原BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)比
通過(guò)使用馬爾科夫鏈修正BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值,發(fā)現(xiàn)在公路客運(yùn)量上馬爾科夫鏈修正值將平均相對(duì)誤差下降2.63%,在公路貨運(yùn)量的預(yù)測(cè)中也將平均相對(duì)誤差下降1.85%,預(yù)測(cè)模型的各個(gè)指標(biāo)均達(dá)到了一級(jí)精度,在一定程度上提高了預(yù)測(cè)模型的精度,使得模型預(yù)測(cè)值與實(shí)際值擬合更加準(zhǔn)確。在模型對(duì)比圖中也可以清楚的觀察到修正值是一條與實(shí)際值擬合更準(zhǔn)確的曲線,彌補(bǔ)了BP神經(jīng)網(wǎng)絡(luò)模型偶爾模擬失真的缺點(diǎn),即使用馬爾科夫鏈修正BP神經(jīng)網(wǎng)絡(luò)模型可以應(yīng)用到實(shí)例預(yù)測(cè)與分析。具體精度對(duì)比數(shù)據(jù)見(jiàn)表3,模型對(duì)比圖見(jiàn)圖4及圖5。
圖4 公路客運(yùn)量模型對(duì)比
圖5 公路貨運(yùn)量模型對(duì)比
2.4.2 馬爾科夫修正模型與高階方程修正模型對(duì)比
為了便于修正模型之間的對(duì)比,現(xiàn)引入高階方程擬合模型修正BP神經(jīng)網(wǎng)絡(luò)。
1)針對(duì)BP神經(jīng)網(wǎng)絡(luò)公路客運(yùn)量數(shù)據(jù)得出數(shù)學(xué)模型為:
y1=16.308x5-360.32x4+2 758.8x3-8 396x2+
12 033x+14 035(x=1,2…,n)
2)針對(duì)BP神經(jīng)網(wǎng)絡(luò)公路貨運(yùn)量數(shù)據(jù)得出數(shù)學(xué)模型為:
y2=-140.56x2+2 968.1x+6 998.3(x=1,2…,n)
式中:y1和y2分別為高階方程修正值,設(shè)定2010年為x=1并以此類(lèi)推。
通過(guò)高階方程擬合2010—2017年公路運(yùn)量的數(shù)據(jù)可得公路客運(yùn)量的平均相對(duì)誤差為4.90%,后驗(yàn)差為0.161,小概率誤差為0.951;公路貨運(yùn)量的平均相對(duì)誤差為4.61%,后驗(yàn)差為0.184,小概率誤差為0.954,參照表1可知,模型精度為二級(jí)。馬爾科夫鏈修正的BP神經(jīng)網(wǎng)絡(luò)模型與高階方程修正的BP神經(jīng)網(wǎng)絡(luò)模型對(duì)比圖見(jiàn)圖6及圖7。
圖6 公路客運(yùn)量模型對(duì)比
圖7 公路貨運(yùn)量模型對(duì)比
根據(jù)模型之間的對(duì)比分析可知,馬爾科夫鏈修正后的BP神經(jīng)網(wǎng)絡(luò)模型平均相對(duì)誤差更小,精度更高;從對(duì)比圖也可以看出馬爾科夫鏈修正的神經(jīng)網(wǎng)絡(luò)模型更加切合實(shí)際值曲線。因此,相較于高階方程擬合后的BP神經(jīng)網(wǎng)絡(luò)模型,馬爾科夫鏈修正模型更適合應(yīng)用于公路運(yùn)量的預(yù)測(cè)。
引入表2中2018年及2019年公路運(yùn)量的人數(shù)參數(shù)、機(jī)動(dòng)車(chē)數(shù)參數(shù)、公路面積參數(shù)到上文中的BP神經(jīng)網(wǎng)絡(luò)中,借用Matlab2016a軟件設(shè)置學(xué)習(xí)速率基值以及訓(xùn)練精度分別是0.05和0.001,訓(xùn)練步數(shù)最大值為30 000,可得2年的公路運(yùn)量預(yù)測(cè)值,見(jiàn)表2。
由于上文已使用狀態(tài)轉(zhuǎn)移矩陣計(jì)算出2018年與2019年公路客運(yùn)量狀態(tài)均是E1狀態(tài),公路貨運(yùn)量分別是E1與E2狀態(tài)。由式(7)計(jì)算可得2018年的公路客運(yùn)量與貨運(yùn)量分別是44 848萬(wàn)人和20 412萬(wàn)噸;2019年的公路客運(yùn)量與貨運(yùn)量分別是45 985萬(wàn)人和22 399萬(wàn)噸,馬爾科夫鏈修正值見(jiàn)表2。
使用馬爾科夫鏈修正的BP神經(jīng)網(wǎng)絡(luò)模型可以將模型精度的各個(gè)指標(biāo)均提高至一級(jí)精度,并且可以將公路運(yùn)量的平均相對(duì)誤差縮小到2.07%和2.14%。
使用修正后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)出2018年及2019年公路運(yùn)量。即2018年的公路客運(yùn)量與貨運(yùn)量分別是44 848萬(wàn)人和20 412萬(wàn)噸;2019年的公路客運(yùn)量與貨運(yùn)量分別是45 985萬(wàn)人和22 399萬(wàn)噸。
使用馬爾科夫鏈修正后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)未來(lái)公路運(yùn)量可以很好的把握未來(lái)公路運(yùn)輸發(fā)展趨勢(shì),同時(shí)也可以為公路運(yùn)輸發(fā)展決策者提供有利信息。