李佩鈺
(長安大學 信息工程學院,陜西 西安 710064)
交通流量是短時交通流狀態的基本參數之一,因此交通流量的異常變化是交通誘導的重要參考因素。城市路網的交通流狀態識別需要準確和實時的交通流預測,才能更好地指導智能交通、緩解交通擁堵、加快智慧城市的建設。
針對城市道路短時交通流動態預測,國內外學者也做了許多相關的研究。研究方法大體可以分為以下四類:第一類是針對交通參數的方法,諸如回歸預測和時間序列預測[1-3];第二類是基于混沌理論[4-5]的一些預測方法;第三類是利用人工神經網絡[6-13]訓練學習的預測方法;第四類是組合理論[14-17]方法,將各模型的優點有機結合在一起,以達到更高效準確的預測結果。近年來,各種預測模型與小波理論的組合被相繼提出,如竇慧麗等提出的基于小波分析和ARIMA模型的交通流預測[18],王川等提出的基于小波分析與隱馬爾可夫模型的短時交通流預測[19]等。
短時交通流具有時變性、非線性與周期穩定性,受實際環境中的諸多因素干擾,導致實際采樣的交通流參數數據不準確,從而影響短時交通流的預測結果。
文中提出的小波理論和BP神經網絡結合的短時交通流預測組合模型,首先對實際采樣的原始交通流數據進行小波消噪處理,然后采用BP神經網絡模型對短時交通流進行預測,有效提高了預測精度。
20世紀80年代后期,小波變換被提出。小波變換是信號在時頻和頻域同時進行多尺度聯合分析的重要工具。小波分析中一個重要的概念是多分辨率分析[20-21],即由粗到細的逐級分析,將函數的多分辨率空間分解與小波變換建立聯系。一個函數空間L2(R)的多分辨率分析是由一系列閉子空間序列{Vj}j∈Z嵌套而成,函數空間平方可積。
設{Vj}j∈Z是由尺度函數φ(t)生成的多分辨率分析,并有尺度方程:
(1)

小波函數定義為:
(2)
其中,gk=(-1)kh1-k。

假設f是要處理的實際信號,可看作f∈L2(R),測得的信號為fi,設fi∈Vj。由于{ψjk(x)}k∈Z是Vj的標準正交基,故有:
(3)
用φjk與上式兩端作內積,得
cjk=〈f,φjk〉
(4)
由于Vj=Vj-1⊕Wj-1,且Vj-1⊥Wj-1,所以{φj-1,k(x)}k∈Z∪{ψj-1,k(x)}k∈Z也是Vj的標準正交基,故有:
(5)
再分別用φj-1,k和ψj-1,k與上式兩端作內積,得:
cj-1,k=〈fj,φj-1,k〉
(6)
及
dj-1,k=〈fj,ψj-1,k〉
(7)
將尺度方程1寫成一般形式:
(8)
將式8代入式6得:
(9)
類似的,將式2寫成一般形式:
(10)
代入式7,并利用式4,可得:
(11)
式9和式11就是著名的Mallat分解算法。相反過程,由式5求出式3,將兩尺度方程的一般形式,即式8和式10,代入式5,得:
(12)

Mallat算法可以變為如下形式:
分解公式:
(13)
重構公式:
(14)
小波閾值去噪的原理是將原始信號經小波分解后,信號的小波系數幅值要大于噪聲的系數幅值。通過選取一個合適的閾值,保留大于閾值的小波系數,小于閾值的系數置零,將有效信號與噪聲分離。
小波變換具有很強的去相關性,可以將信號的自身能量集中。應用小波閾值去噪的基本過程為:
(1)分解:選取合適的小波基后,對信號進行多層小波分解;
(2)閾值處理:分解后選取一個閾值,用閾值對各層系數進行處理;
(3)重建:用閾值處理后的小波系數重構原始信號。
小波閾值去噪過程中,最重要一環即是對小波系數進行處理。應用不同的閾值函數對小波系數的處理方式也不同。常用的閾值函數有硬閾值和軟閾值函數。
硬閾值函數:

(15)
軟閾值函數:

(16)
其中,ω為原小波系數;η(ω)為閾值化后的小波系數;T為閾值。
由公式可看出,重構信號采用硬閾值函數處理更加準確,但伴有局部振蕩。而重構信號采用軟閾值處理后誤差變大,但得到的信號平滑性較好。
多分辨率分析也稱多尺度分析。原始交通流數據分解幾次即為其分解尺度。當近似信號部分和細節部分分解到圖形平滑穩定時分解結束。
實驗采用一天的交通流量數據,采用db10、db5、db1小波函數,利用Mallat算法進行尺度N為4層的金字塔式分解,分解前后曲線如圖1所示。

圖1 利用db10進行小波分解后近似部分和細節部分
通過實驗對比,采用db10小波函數分解得到的第4層細節部分比采用db5、db1函數分解得到的細節部分的曲線更加平滑,故實驗采用db10小波作為母小波。
圖2為原始交通數據,對其分解后的曲線進行重構;圖3為單支重構后第一層近似部分a1。可以發現,后者的曲線較為平滑。

圖2 原始數據信號曲線

圖3 單支重構后第一層近似部分a1
采用FFT和小波分析方法分別對原始交通數據進行閾值去噪處理,并分別采用硬閾值函數和軟閾值函數處理后進行對比,實驗采用db10作為小波函數,分解尺度值為4。實驗結果如表1所示。

表1 小波去噪與傅里葉變換去噪對比結果分析
其中rigrsure為硬閾值,sqtwolog為軟閾值。使用信噪比(SNR)和均方根誤差(RMSE)作為評判指標。SNR越高,RMSE越小,去噪后的交通數據就越接近原始交通數據,去噪的結果也越好。通過比較可以發現,采用小波軟閾值去噪方法對交通數據進行去噪處理的效果更佳。
神經網絡的一個重要應用是進行預測。BP神經網絡是一個基于Widrow-Hoff學習規則的正向傳遞工作信號反向傳遞誤差信號的多層網絡。一般由輸入層、輸出層和隱含層(一層或若干層)構成。BP神經網絡采用多層感知器的設計解決了單層感知器不能很好解決的線性不可分問題。
BP神經網絡的正向傳遞子過程描述如下:
(17)
xj=f(Sj)
(18)
其中,wij為節點i和j之間的權值;bj為節點j的閾值;xj為每個節點的輸出值;f為激活函數。
而誤差反向傳遞子過程是基于Widrow-Hoff學習規則,通過沿著相對誤差平方和的最速下降方向,不斷調整網絡的權值和閾值,來減少實際輸出和期望輸出的誤差。
一個用于預測的BP神經網絡模型需要確定輸入、輸出、隱含層的節點數,激活函數以及訓練函數。
BP神經網絡的激活函數一般使用相比線性函數更加光滑、可微的Sigmoid函數。實驗中隱含層神經元的激活函數設置為Sigmoid函數中輸出值包含負值的Tan-Sigmoid函數。
確定好網絡中各層的激活函數后,需要確定網絡的訓練函數,通過不斷對網絡進行訓練,將得到的誤差作對比,選擇出使得誤差較小的訓練函數,從而最終確定最佳節點數目。
選擇traingd作為訓練函數時,即使用梯度下降算法進行訓練后,平均誤差為0.021 4,訓練次數為1 000,但未達到訓練效果;選擇traingdx作為訓練函數,即使用動量及自適應學習率的梯度遞減算法進行訓練后,平均誤差為0.019 9,訓練次數為140,達到了訓練目標;選擇trainlm作為訓練函數,即使用L-M算法進行訓練后,平均誤差為0.019 2,訓練次數為5,最終也達到了訓練目標。
由于交通流量數據只有一類,最終確定了隱含層為一層,各層神經元節點數為1-12-1,訓練函數為trainlm的BP神經網絡結構,并使用訓練好的網絡對交通量數據進行預測。
采用文中提出的預測方法,對西安市某路段時間間隔為5 min的某一天的交通流量進行預測。圖4從上到下分別展示了對原始交通流數據采用BP神經網絡預測后的結果、將原始數據經過小波去噪,再采用BP神經網絡模型得到的預測結果、采用卡爾曼濾波預測模型[22-23]和GM(1,1)預測模型[24-25]對相同的交通流進行預測得到的結果。

圖4 三種預測模型的預測結果
對這三種預測模型的誤差參數分析如表2所示。

表2 三種預測模型各誤差參數
誤差指標分別為:相對誤差(mreer)、平均絕對相對誤差(marerr)、最大絕對相對誤差(mxarerr)、相對誤差平方和均值平方根(nnrerr)、均等系數(EC)和均方誤差(MSE)。
從實驗結果對比可以看出,基于小波變換的BP神經網絡預測方法和卡爾曼濾波模型預測擬合度都高于0.90,而GM(1,1)預測方法的擬合度低于0.90。經分析,GM(1,1)模型適用于具有指數增長的序列,即增長率穩定在一個值附近波動,對于非線性的短時交通流量預測不能達到較為理想的預測精度。再比較基于小波變換的BP神經網絡預測模型和卡爾曼濾波預測模型,卡爾曼濾波模型的平均絕對相對誤差(marerr)和相對誤差平方和均值平方根(nnrerr)明顯大于基于小波變換的BP神經網絡預測模型。因此,結合小波去噪的BP神經網絡預測模型運用到短時交通流量方面展現出了較好的準確性和可行性。
考慮到交通流數據采集過程中受實際環境影響等使得交通流預測精度不高,結合小波分析的消噪原理,建立基于BP神經網絡的短時交通流預測模型。實驗結果表明,小波分析和BP神經網絡結合的交通流預測模型具有較高的預測精度,為后續交通擁堵動態預警的實時預測提供了一種新思路。