■朱志強
(深圳市市政設計研究院有限公司,深圳 518029)
機動車數量的不斷增加使得交通擁堵狀況日趨嚴重,為了緩解交通擁堵、實現車輛的高效率運行,在智能交通背景下的交通控制策略以及交通流智能化誘導顯得十分必要, 而交通流量的預測是智能交通控制環節中不可或缺的重要組成部分[1],因此,本文針對交通流量的預測問題進行研究。 以往文獻提出了眾多的交通流量預測方法[2],在這些方法中,BP 神經網絡模型應用較廣[3]。張軍[4]針對福泉高速公路車流量預測問題,應用BP 神經網絡模型進行了研究, 研究結果證實了BP 神經網絡擁有較好的容錯性和魯棒性。景輝鑫等[5]為了進一步提高模型的預測精度,對BP 神經網絡模型進行了改進,提出了灰色ELM 神經網絡的短時交通流預測方法,并通過仿真實驗驗證了所提模型具備較高的預測精度。常峰等[6]考慮交通流的混沌特性, 應用小波基函數對BP 神經網絡模型的隱含層進行優化,有效提高了模型的預測精度。 錢偉等[7]分析了交通流具有每周各天特性相似的特征, 提出了灰色模型與BP 神經網絡模型相組合的交通流量預測模型,研究結果表明,組合模型能夠凸顯各子模型部分的階段性預測優勢,從而提高模型預測精度。
可以看出,BP 神經網絡模型雖然能夠較好地用于交通流量的預測研究中, 但BP 神經網絡模型本身存在這模型預測精度不夠高的缺點。鑒于此,本文將Adaboost 算法融入傳統BP 神經網絡模型, 旨在進一步提高模型預測精度, 為智能交通控制系統中的交通流量預測提供參考。
BP 神經網絡模型是一種常用的神經網絡模型[8],在模型結構上它一般分為三個部分,即輸入層、隱含層和輸出層,如圖1 所示。 在圖1 中,輸入層對應的是數據的輸入,也稱為自變量,自變量經過隱含層的數據訓練,在輸出層輸出所預測的結果,即輸出層輸出的是因變量。輸入層節點數用n 表示,隱含層節點數用l 表示,同時輸出層節點數用m 表示, 則BP 神經網絡模型通過隱含層的非線性函數關系,建立了從輸入層n 到輸出層m 的函數關系。

圖1 BP 神經網絡模型結構
BP 神經網絡模型原理的核心在于數據的訓練過程,其主要步驟如下:
步驟1:初始化神經網絡
根據BP 神經網絡模型的輸入與輸出數據矩陣計算n、l 和m 的值, 同時初始化各層神經元之間的連接權重系數wij和wjk,隱含層與輸出層的范圍a 和b,同時,確定神經元學習激勵函數等參數。
步驟2:確定隱含層輸出
應用公式(1)計算隱含層的輸出:

其中,f 為激勵函數。
步驟3:確定輸出層輸出
應用公式(2)計算輸出層輸出的預測結果Ok:

步驟4:分析誤差
計算模型的預測誤差如下:

其中,e 表示預測誤差,Y 表示期望值,O 表示預測值。
步驟5:更新權重
依據所計算的預測誤差e 的大小, 動態調節連接權重,計算公式如下:

其中,η 表示學習速率。
步驟6:更新范圍
分別應用公式(5)和公式(6)更新,即:

步驟7:輸出最終預測結果
若誤差大于設定的誤差范圍,則返回步驟2,否則輸出預測結果。
將Adaboost 融入BP 神經網絡模型中,構建BP-Adaboost 預測模型, 提高原有BP 神經網絡模型的預測精度。 Adaboost 算法本質上是一種迭代算法[9],它的迭代過程是:首先,應用次分層向量隨機訓練樣本矩陣,并且確定訓練因子為。 然后,以 為迭代次數,并計算迭代解,同時根據迭代結果調整訓練因子,增加其權重值,經過一系列的多次迭代,得到弱預測器函數,并將這些弱預測器函數進行整合, 形成具備高精度特性的強預測函數。 這樣,將Adaboost 算法融入至BP 神經網絡模型中,得到的BP-Adaboost 預測模型結構如圖2 所示,在圖2 中,BP 神經網絡模型是所構建BP-Adaboost 預測模型的基礎,而Adaboost 算法是其中的關鍵組成部分。

圖2 BP-Adaboost 預測模型結構流程
在圖2 中,Adaboost 迭代算法融入預測模型中的原理具體如下:
步驟1:選擇樣本矩陣以及初始化網絡模型
將樣本矩陣分成 組,則訓練因子為,同時確定相關參數。
步驟2:次分層向量的訓練
劃分次分層向量,記為,經過訓練計算出相應的誤差率,計算公式為:

其中,g(t)表示預測結果,y 表示期望結果。
步驟3:調整測試數據權重
通過下式計算誤差率 的權重,如下:

步驟4:調整因子
調整因子的計算公式為:

步驟5:形成強預測器函數
經過T 次迭代共產生T 個次級向量f(gt,at),將這些次級向量進行組合,以此形成強預測器函數h(x):

選擇合肥市某交叉口的某個進口道的交通流量數據作為本文交通量樣本數據, 該樣本數據是由交叉口檢測器采集獲得, 數據采集間隔為5min。 該樣本數據包含了2018 年10 月份的15 個工作日的4530 個數據量,其中每個工作日均是全天候采集。 將樣本數據中的前14 天的數據作為訓練樣本, 并將第15 天采集的數據作為測試樣本,訓練樣本共有4228 組,測試樣本共有302 組。 同時,針對全天候24h 以及早高峰時段分別進行交通流量預測與分析,其中早高峰時段是指早上7:00-9:00。
為了表明所構建的BP-Adaboost 預測模型在交通流量預測方面的優勢, 將BP-Adaboost 預測模型與傳統BP神經網絡模型進行比較,在比較過程中,將測試樣本作為基準,如圖3 所示。其中,圖3(a)顯示的是全天候24h 的預測對比結果,而圖3(b)則為早上7:00-9:00 早高峰時段內的預測對比結果。 由圖3 可以看出,BP-Adaboost 預測模型的預測結果與樣本數據的實際情況較吻合, 能夠精確描述交通量的變化趨勢,雖然傳統BP 神經網絡模型大體上也可以預測交通量的整體變化趨勢,但是可以看出,傳統BP 神經網絡模型的預測精度較低,造成的預測誤差較大,因此,圖3 的對比分析表明了所構建的BP-Adaboost預測模型可以更好的應用于交通量預測研究中。

圖3 預測結果對比分析
為了能夠量化對比分析BP-Adaboost 預測模型與傳統BP 神經網絡模型在預測精度上的差異, 應用絕對誤差、相對誤差、均方根誤差以及平均誤差四種誤差評價指標,來評估兩種預測模型的預測精度。 這四種誤差指標分別記為ER、RER、RMSE 和ε,計算公式分別如下[10]:

在誤差計算公式中,x 表示實際交通量,xˉ表示實際交通量的均值,x~表示交通量的預測值,n 表示樣本數量。
應用四種誤差評價指標計算得到的BP-Adaboost 預測模型與傳統BP 神經網絡模型在預測精度上的對比分析結果如表1 所示, 由表1 可知,BP-Adaboost 模型在全天候和早高峰的預測絕對誤差分別小于58 輛和12 輛,而傳統BP 神經網絡模型的絕對誤差則分別是121 輛和29 輛, 誤差較大。 對于相對誤差而言,BP-Adaboost 預測模型的全天候預測結果相對誤差小于27%, 早高峰的預測相對誤差小于14%,而傳統BP 神經網絡模型預測結果的相對誤差上限分別是71%和39%, 同樣具備較大的相對誤差。 均方根誤差可以反映預測結果的離散程度,從表1 中可以看出, 相比于傳統BP 神經網絡模型,BP-Adaboost 預測模型具有較低的均方根誤差,表明了BP-Adaboost 預測模型預測結果的精密度較好、波動較小。 從整體水平角度看, 平均誤差能夠反映出預測結果的平均精度水平,BP-Adaboost 預測模型的平均誤差控制在6%以內, 而傳統BP 神經網絡模型則具有較大的平均誤差,表明了BP-Adaboost 預測模型具備比傳統BP 神經網絡模型更高的預測精度。

表1 誤差分析結果
基于BP-Adaboost 模型對交通流量預測進行了研究,并通過交叉口15 個工作日的樣本數據進行了實例分析, 實例分析的研究結果表明,BP-Adaboost 預測模型比傳統BP 神經網絡模型在絕對誤差、相對誤差、均方根誤差以及平均誤差等方面均具有更優的模型預測效果,證明了BP-Adaboost 預測模型在交叉口交通流量預測中的可行性, 可為智能交通系統中交通流量預測提供理論參考。