孫涵莆,胡鑫澤,張琪虹,王嘉寧
(1.遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 興城125100;2.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 興城125100;3.遼寧工程技術(shù)大學(xué) 電控學(xué)院,遼寧 興城125100)
公路運量分為公路的客運量和公路的貨運量兩個方面,公路運量的數(shù)據(jù)對交通治理、管理和更新交通系統(tǒng)有著重要意義,掌握公路運量的發(fā)展趨勢和規(guī)律對國家發(fā)展公路基礎(chǔ)設(shè)施有著極大幫助,因此對交通運量的預(yù)測顯得十分重要。
目前應(yīng)用于公路運量預(yù)測的代表性方法有多元回歸、BP神經(jīng)網(wǎng)絡(luò)、灰色關(guān)聯(lián)、時間序列預(yù)測等,其各具特色各有優(yōu)缺點,如指數(shù)平滑、混沌加速遺傳、灰色G,已在預(yù)測公路運量這個問題上取得了巨大突破,但仍未達到完美。比如定性分析易受人的主觀因素影響,時間序列分析需要大量的數(shù)據(jù),且精度程度不高,不適合長期預(yù)測,此外其不能研究多個因子的關(guān)聯(lián)性,預(yù)測效果并不理想。剩下的方法如灰色關(guān)聯(lián)等也在預(yù)測整體性客運量問題上出現(xiàn)了問題,無法把握運量的整體變化。文中將定性分析與定量計算相結(jié)合,首先通過資料定性分析與公路運量有關(guān)的因素以及社會指標,然后采用結(jié)合BP 神經(jīng)網(wǎng)絡(luò)和灰色關(guān)聯(lián)分析法的方法,建立灰色神經(jīng)網(wǎng)絡(luò)模型,計算公路運量與各個指標屬性之間的關(guān)聯(lián)程度,找到其影響因素,將兩種方法的優(yōu)勢相融合,并且巧妙地避開了單一模型下準確率偏低的缺點。
模型因素的數(shù)量與預(yù)測精確度、模型復(fù)雜度和計算難度正相關(guān),且各個因素間存在相關(guān)性,因此需要在與公路運量有關(guān)的許多因素下進行篩選,在保證構(gòu)建模型時輸入的因素不能過多的前提下,充分發(fā)揮每個因素的影響占比,并保證各個因素間具有強獨立性。
影響公路運量的因素有很多且復(fù)雜多變,從定性的角度選取了部分對需求增速水平有重要意義的基本因素,再從定量角度進行篩選,獲得了重要的影響因素有汽車保有量、國民總收入、公路面積、機動車數(shù)量、人口數(shù)量、人均GDP、城市化率這七個因素。查詢中國統(tǒng)計年鑒網(wǎng)站獲取了1990—2018 年的公路客運量和公路貨運量以及相關(guān)因素的數(shù)據(jù),部分如表1 所示(1990—2005 年)。
針對影響因素不完全和數(shù)據(jù)樣本不足情況下,常規(guī)分析方法難以準確判別影響因子權(quán)重的問題,采用灰關(guān)聯(lián)分析方法來做因素間的序量化和關(guān)聯(lián)分析,找出與公路客運量和公路貨運量有較強關(guān)聯(lián)度的因素,具體計算步驟如下。
將樣本所有數(shù)據(jù)均除以第一個數(shù)據(jù),得到一個新的數(shù)列。這個新的數(shù)列,即是各個時刻的數(shù)值相當(dāng)于第一個時刻的數(shù)值的倍數(shù)的數(shù)列,以此來消除量綱。
設(shè)有序列x=[x(1),x(2),…,x(n)],則稱映射f:x→y,f[x(k)]=x(k)/x(1)為數(shù)據(jù)初值化變換。
式(1)中:?ji為Yi與Pji之差的絕對值;Yi為參考序列中的第i 組值;Pji為比較序列中第j 個因素在第i 組的值。
式(2)中:εji為第j 個影響因素在i 組的取值與第i 組公路運量的關(guān)聯(lián)系數(shù);?min和?max分別為數(shù)據(jù)中取值的最小、最大值;分辨系數(shù)ρ=0.5。
表1 統(tǒng)計數(shù)據(jù)(部分)
關(guān)聯(lián)度記ri,其表達式為:
式(3)中:ri為第j 個因子與公路運量y 之間的灰色關(guān)聯(lián)度;k=1,2,…,n;i=1,2,…,m。
經(jīng)過計算,求得公路運量與各個因子間關(guān)聯(lián)度,如表2所示。
根據(jù)表2 可以看出,城市化率、人口數(shù)量、人均GDP、汽車保有量和機動車數(shù)量的關(guān)聯(lián)度都大于0.80,即他們與公路運量有較強的關(guān)聯(lián)性,因此采用這些因素作為模型的最終預(yù)測指標。
表2 關(guān)聯(lián)度結(jié)果
BP 神經(jīng)網(wǎng)絡(luò)是一種誤差反向傳播的多層神經(jīng)網(wǎng)絡(luò),其主要特點是信號前向傳遞,誤差反向傳播。BP 算法是利用輸出層的誤差來估計輸出層的直接前導(dǎo)層的誤差,再用這個誤差估計更前一層的誤差。逐層迭代,修正每層網(wǎng)絡(luò)權(quán)值,直到誤差滿足要求,達到所需輸出精度。
隨機設(shè)置輸出層神經(jīng)元之間的連接權(quán)值ω,然后進行隱含層的輸出計算,計算公式如下:
式(4)中:f 為隱含層激勵函數(shù),l 為隱含層的節(jié)點個數(shù)。
選取的Sigmoid 激勵函數(shù)公式如下:
輸出層輸入計算:
根據(jù)隱含層輸出H、連接權(quán)值Wjk、閾值b 計算BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測值Y。
由網(wǎng)絡(luò)預(yù)測輸出Y 和期望輸出O,計算誤差:
ek=Ok-Yk,k=1,2,…,m
權(quán)值更新以及閾值更新,其中η為學(xué)習(xí)速率:
式(5)中:i=1,2,…,n;j=1,2,…,l。
式(6)中:j=1,2,…,n;k=1,2,…,m。
式(7)中:j=1,2,…,l;bk=bk+ek,k=1,2,…,m。
若迭代結(jié)束則繼續(xù),若迭代算法未結(jié)束則返回重復(fù)該訓(xùn)練過程。
為了解決原始數(shù)據(jù)突變問題并防止一些神經(jīng)元飽和,將隨機選取的15 組樣本數(shù)據(jù)進行歸一化。歸一化采用的方法是平均數(shù)方差法,其函數(shù)公式如下:
模型采用了只含有一個隱含層的簡單三層BP 神經(jīng)網(wǎng)絡(luò)模型,選取logsig 函數(shù)作為隱含層的轉(zhuǎn)移函數(shù),選取purelin函數(shù)作為輸出層的轉(zhuǎn)移函數(shù),將學(xué)習(xí)率設(shè)為0.1,目標值的誤差設(shè)為0.001 在100 次迭代后在隱含層節(jié)點數(shù)為2、3、5、7、8 的不同模型中進行比較,選取誤差最小的一組模型,確定最佳的隱含層節(jié)點數(shù)應(yīng)為5,即誤差最小的網(wǎng)絡(luò)結(jié)構(gòu)輸入層節(jié)點數(shù)為8,隱含層節(jié)點數(shù)為5,輸出層節(jié)點數(shù)為1。訓(xùn)練過程中產(chǎn)生的收斂曲線及誤差曲線如圖1、圖2 所示。
圖1 收斂曲線
圖2 誤差曲線
使用訓(xùn)練模型過程中沒有被選取的數(shù)據(jù)作為模型的預(yù)測測試數(shù)據(jù)進行輸入,得到模型預(yù)測結(jié)果如圖3 所示。
由圖3 可知,根據(jù)該模型預(yù)測的未來公路運量匹配準確,誤差逐漸減小且滿足精度要求,吻合度較高,可以應(yīng)用于實際。
圖3 模型預(yù)測結(jié)果
采用BP 神經(jīng)網(wǎng)絡(luò)模型和灰色神經(jīng)網(wǎng)絡(luò)準確地擬合了樣本數(shù)據(jù),成功對公路運量做出預(yù)測,得到的預(yù)測結(jié)果誤差較小。實驗進一步表明采用BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測可行性很高,但由于只采用了單隱含層的模型而使得實驗結(jié)果仍存在擬合程度和多屬性方面的缺失。