李磊
(惠州工程職業學院,廣東 惠州 516023)
隨著科學技術的發展以及物聯網技術的出現,使得交通技術越來越信息化、智能化以及方便化。而此時智能交通系統的出現是一種更加高效、準確管理的信息系統,是目前以及未來交通領域發展的方向。智能交通的出現能夠在減小交通道路運行壓力的同時并把道路基礎設施利用發揮到了最大;能夠減少環境污染,特別是噪聲以及汽車尾氣等;在交通出行方面能夠保障安全出行以及減少交通擁堵,提高智能交通運行效率。智能交通的出現符合當代的可持續發展,因此受到越來越多地區和城市的重視。智能交通能夠減少交通擁堵提高交通運輸效率主要是通過對當前以及未來的某一時間段內短時車流量進行預測,通過預測能夠幫助出行的人,減少在道路上的等待的時間。
當前車流量的預測主要是通過歷史車流量數據來對未來車流量進行預測。根據預測時間段長短,可以把車流量預測分為長時車流量預測、中時車流量預測以及短時車流量預測。其中,短時車流量預測時間通常不超過15 分鐘,在目前智能交通車流量預測方面應用比較廣泛。短時車流量預測可以幫助人們在出行時避開某一段擁堵的道路或者是在高峰期出現時可以選擇錯開此時段出行。而智能交通車流量預測作為主要環節,能夠隨時隨地動態的預測,為人們出行節省更多時間。同時,智能交通還可以幫助交通相關部門及時對道路交通車流量監控以及調度,緩解交通道路日益擁堵,保障人們便利出行,減少不利因素,因此具有更大的研究意義。
目前,隨著人工智能技術日漸成熟,以及在各行各業中對人工智能技術的應用,使得機器學習和深度學習也得了更多學者的研究,并且已經進入了智能交通車流量預測方面。在機器學習和深度學習在車流量預測方面也取得了不錯的效果。但是,目前在短時車流量預測方面應用最多的還是基于傳統的數理統計模型預測、組合模型預測以及人工智能神經網絡模型預測。
而且使用神經網絡算法在進行車流量的預測時,初始權值等參數的選取以及網絡訓練樣本集的選擇會影響網絡梯度下降的收斂速度和梯度下降到最小訓練誤差的概率,這往往需要技術人員根據經驗做出大量調參工作,因此單一的神經網絡模型往往存在準確性不高的問題。對此,目前在短時車流量預測方面應用最多的有非參數回歸、歷史均值法以及近幾年比較流行的神經網絡算法等。在上述的算法中,神經網絡算法由于模型結構具有靈活性、泛化能力強以及強大的學習廣泛地被關注。在對車輛交通流進行預測時,此刻預測狀態對前一時刻的交通流狀態有很強的依賴性和一定的關聯度,上一刻交通流狀態有可能會導致下一刻的交通流狀態發生很大變化。而傳統的前反饋神經網絡系統沒有記憶功能,不能記憶前期歷史輸入的信息,因此在短時車輛交通流預測方面還是有一定難度。
在實際工作中運用神經網絡算法對車流量進行預測時,由于初始參數設置與以及樣本訓練集的選取會導致網絡梯度下降速度收斂的快慢以及梯度下降到最小訓練誤差的概率,不能很好地處理時間序列較長的車流量統計。為解決上述出現的問題,因此本文在循環神經網絡(RNN)的基礎上提出了一種基于集成長短期記憶(LongShort-Term Memory,LSTM)神經網絡的短時車流量預測模型,LSTM 模型不僅克服了前饋神經網絡的時間序列問題,而且該模型中存在遺忘門等相關記憶單元,能夠較好地克服RNN 中存在的梯度消失和爆炸問題,且能夠提高預測準確率。
又由于交通流的預測要充分考慮時空相關特性,因此在提出了一種基于KNN 和LSTM 組合的交通流預測方法。在預測過程中,先通過KNN 算法對預測目標區域道路進行分類和篩選,通過設置不用的閾值,篩選出與目標檢測點距離較近的個檢測點。將篩選出的個檢測點數據作為LSTM 模型的輸入數據進行預測,從預測結果中,取誤差最小時對應的值結果相加,該計算結果可以作為最終車輛交通流的預測值。在預測過程中通過兩種算法模型相結合,可以發揮各自模型的優點,同時,又彌補了各個模型的缺點,在交通流預測中提高預測效率以及準確性。
短時車流量交通流在預測時的基本流程為:通過檢測裝置(主要有GPS 定位、路測感應線圈)定位實時采集到車輛交通流數據,對采集到的數據進行預處理,預處理的過程主要是摒棄一些無用數據,對預處理后的數據集構建交通流數據庫。當需要預測下一刻的車輛交通流時,需要根據當前車輛交通流狀態和交通流數據歷史數據庫的數據進行匹配,從而可以實現下一刻交通流的預測。預測過程流程圖如圖1所示。

圖1 短時交通流預測的基本流程
K-最近鄰算法(KNN)是在1968年由Cover和Hart提出,是一種分類的算法。所謂K-最近鄰法就是在樣本采集過程中,每個樣本都可以用個最接近的鄰居來表示。在分類算法實施過程中基于實例的學習,數據集事先已經進行了分類和特征值的計算,當收到新的樣本之后,可以直接來進行數據處理。目前,K-最近鄰算法主要運用在數據挖掘分類中,也是最簡單的一種方法。
在實際數據分析過程中,KNN 算法主要用在非參數回歸模型中,在此模型的原理主要是基于非參數數據預測。在預測過程中,通過歷史數據庫中的數據與當前需要分類或預測的數據進行相似度的匹配,選取其中匹配度最高的個樣本,通過樣本選取,確定選取的個樣本類型。如果個樣本類型大多一致,就可以確定需要分類的樣本也是屬于歷史數據庫中的類別。KNN 算法原理可以用公式(1)表示:

上述公式中,表示為每個待測站點采集到的車流量樣本特征向量,表示歷史車流量數據集中樣本類別,為常數,取值為1,2,3,…,。X表示為目標檢測站點車流量預測值,Y表示第個檢測站的交通流量。利用歐式距離公式(公式5)計算出采集到樣本與中特征樣本之間的歐式距離,通過距離大小,選擇出待分類樣本和中特征樣本之間的相似度。通過相似度找出待分類樣本最鄰近的個點來決定預測數據的類別。
KNN 算法用于短時交通流預測的基本流程圖如圖2所示。在預測過程中通過歷史車流量數據采集進行預處理,構建歷史車流量數據庫。通過利用KNN 算法對當前實時檢測到的車流量數據和歷史數據庫數據進行比對篩選,經過預測算法的處理得到最終預測結果。

圖2 KNN 算法用于短時車流量預測基本流程
LSTM(長短時記憶)模型是20世紀90年代基于RNN模型上提出的一種神經網絡模型,該模型能夠解決RNN 模型在預測時出現的梯度消失以及梯度爆炸現象,同時在處理數據序列上有著自己獨特的優勢,因此,被廣泛地應用在車流量預測中。
LSTM 模型是在RNN 的模型基礎之上增加了一些門的結構設置,通過門結構設置來控制信息。第一層門是遺忘門,該門的主要作用是篩選信息,篩選掉不重要的信息,保留所需的信息數據特征。第二層門是輸入門,該門的作用是更新部分數據信息,以填補經過遺忘門篩選掉的信息。第三層門是輸出門,該門的作用是對輸入進來的數據信息進行處理,然后把處理完的數據進行輸出。當要處理數據的步長過長時,LSTM 模型利用記憶塊功能,此時,LSTM 會發生梯度消失的現象,能夠更加準確地對數據進行預測。
假定車流量預測模型需要測量某一段區域道路,待測量的區域道路上有很多個相鄰的上下游路段,把這些不同的路段設置成不同的檢測點,假設該區域路段上共有O 個檢測點,可把該區域道路上第天的車流量交通數據流對應矩陣定義為F。

在上述公式中,區域道路的第個檢測點的第天的交通流用Z 表示;目標檢測點第天的交通流量用Z 表示;示為第個檢測點第天在時刻的交通流量用Z ()表;目標檢測點第天在時刻的交通流量用Z ()表示;交通流檢測數據序列中總的樣本個數用表示。
為了使檢測到的數據更精確,LSTM 模型把區域道路的每個檢測點在連續天中檢測的車流量數據作為測試數據,也即歷史數據;把區域道路中所有待測道路連續天的車輛交通流數據用矩陣表示。

在預測過程中,通過對矩陣中交通流數據處理主要是通過KNN 算法對目標預測區域路段進行相關性篩選,通過歐式距離的計算以及KNN 算法相似性比較,設置不同的閾值,篩選出與目標預測區域相似度較高的個檢測點對應的區域路段。然后,將篩選出的個區域路段數據值通過LSTM 模型進行預測,從而得到車流量交通流預測,最后將誤差較小的結果作為最終的車流量預測值。
預測算法流程設計。KNN 算法和LSTM 模型的短時交通車流預測的具體過程主要實施如下:


(2)利用KNN 算法分別計算出第個檢測點的車流量均值與目標檢測點流量均值的歐式距離d:

(3)將得到區域道路中的O 個歐式距離d的值,按照遞增的順序進行一定排序。
(4)設=1,取與前個距離對應的檢測點數據集,構造經過數據篩選后第天的交通流矩陣,定義為:


區域路段第天的車流量矩陣F,定義為:

(5)選取篩選后的路段矩陣F中的前-1 天的數據作為訓練集,然后預測目標監測點的第天的車流量值:

其中表示預測模型,選用LSTM 模型。
(6)令=+1,依次循環步驟4 和步驟5,直到當>0 時,循環終止。
(7)選取值預測誤差最小時,對應的預測車流量數據值,并將此數據值作為最終的車流量預測結果值。整個預測模型流程圖如圖3所示。

圖3 基于KNN 與LSTM 的短時交通流預測計算流程圖
本次實驗的環境為windows10 64 位操作系統,CPU 為Intel(R)Core(TM)i7-10510U 處理器,內存為8 GB,Python 語言集成開發環境為Pycharm。使用惠州市惠州大道的車流量2021年10月1日至11月30日的數據構造樣本集,并對所建立的基于LSTM 神經網絡的短時車流量預測模型進行訓練,然后將訓練好的交通流數據集模型進行保存。對所采集的車流量數據序列輸入到模型,然后對當天車流量進行滾動預測,得到24 小時車流量預測結果圖和96 個序列(每15 分鐘采集一次數據)。
為了更好地評價所設計的短時車流量預測系統的性能指標,本文主要從以下三個性能指標進行評價,分別是絕對平均百分比誤差、均方根誤差和準確率。三個性能指標的數學表達式分別為:
(1)MAPE 絕對平均百分比誤差:

絕對平均百分比誤差反映了預測的交通流量值y與交通流實際測量值y之間的偏離程度。
(2)RMSE 均方根誤差:

RMSE 誤差值的大小能夠準確反映出使用預測方法預測誤差的程度大小,RMSE 值越小說明預測結果越精確,通過RMSE 值的大小還可以反映出測得誤差的離散程度。
(3)ACC 準確率:

準確率主要反應的是實際測得值和預測值之間差的絕對值與實際測得值之間的百分比。百分比越大反應預測模型越好。
在模型建立基礎上,經過多次交通流預測實驗,文中應用到的LSTM 模型主要層數分為四層,分別是一個輸入層、兩個隱藏層和一個輸出層。按照圖4所示的區域道路交通流數據進行預測,以前45 天數據為訓練數據,站點惠州市惠州大道小金口市場在11月15日的交通流量預測值及真實值如圖5所示,此時KNN 中的K 取值為5,在圖中藍色曲線代表實際值,棕色曲線代表預測值。通過預測值和實際值的對比,可以發現預測值和實際值基本上相吻合,能夠較好地當前時間段車流量的變化特征,表明本文所提出的KNN 和LSTM 模型在實際短時車流量預測中具有一定的可行性和準確性。

圖4 區域道路預測圖

圖5 預測值和實際值
為了評價KNN-LSTM 模型的預測性能,本文分別計算了預測結果的MAPE、RMSE 及ACC,并與LSTM 模型的預測結果進行對比,結果如表1所示。可以看出,提出的KNN-LSTM 模型具有最佳的預測性能,其預測準確率達到了93.05%。同樣和未考慮空間相關性的LSTM 模型相比,其預測精度也提高了4.16%。表明本文所提出的基于時空相關的KNN-LSTM 模型具有良好的預測性能,是一種有效的短時交通流預測模型。

表1 預測性能對比
根據短時車流量交通流的時空特性以及RNN 算法的缺點,本文提出了一種基于KNN 和LSTM 相結合的短時車流量預測模型。通過對惠州市小金口市場路段的短時車流量預測,可以看出LSTM 模型既解決了RNN 模型的缺點,又有著記憶功能,對短時車流量預測結果起到了很好的作用。經過實驗比對,本文提出的KNN-LSTM 模型預測結果準確率比LSTM 預測的準確率提高了4.16%,預測誤差更小,預測結果更精確。