張 瑞,席一丹,白惠君,周曉淵,韓峰宇
(太原工業(yè)學(xué)院,山西太原 030008)
交通事故是一種嚴(yán)重的公共安全問(wèn)題,對(duì)人民生命財(cái)產(chǎn)安全和社會(huì)穩(wěn)定造成了巨大的影響。在當(dāng)前交通管理的實(shí)踐中,交通流預(yù)測(cè)是實(shí)現(xiàn)交通管控和優(yōu)化交通系統(tǒng)運(yùn)行的關(guān)鍵技術(shù)之一。交通流是指一定時(shí)間內(nèi)通過(guò)道路或交通網(wǎng)絡(luò)的車(chē)輛數(shù)量、速度和密度等交通參數(shù)的總體表現(xiàn)。通過(guò)對(duì)交通流進(jìn)行預(yù)測(cè),可以為路線(xiàn)規(guī)劃、交通管理等方面提供決策支持。
自20世紀(jì)開(kāi)始,部分國(guó)家開(kāi)始投入大量精力對(duì)交通管控技術(shù)進(jìn)行研究,于是,交通流預(yù)測(cè)的各種模型也就應(yīng)運(yùn)而生。目前,常用的預(yù)測(cè)模型主要包括傳統(tǒng)統(tǒng)計(jì)學(xué)模型、機(jī)器學(xué)習(xí)模型、深度學(xué)習(xí)模型。傳統(tǒng)統(tǒng)計(jì)學(xué)模型應(yīng)用于交通流時(shí)間較早,包括時(shí)間序列模型(Time-Series Model)、卡爾曼濾波模型(Kalman Filtering Model)等。徐翠翠等人[1]使用ARIMA 模型進(jìn)行城市交叉路口交通流預(yù)測(cè)建模,該模型能夠準(zhǔn)確地預(yù)測(cè)早高峰和晚高峰時(shí)段的交通流。為了提高交通流預(yù)測(cè)的準(zhǔn)確性,楊紫煜等人[2]提出了一種新的方法,根據(jù)卡爾曼濾波理論,利用重構(gòu)后的相位作為卡爾曼濾波的初始值進(jìn)行預(yù)測(cè)。然而,由于統(tǒng)計(jì)學(xué)模型依賴(lài)于先驗(yàn)知識(shí)設(shè)定模型的參數(shù),其算法結(jié)構(gòu)相對(duì)簡(jiǎn)單,不能夠深入挖掘交通流的深層次特征信息。與此相比,機(jī)器學(xué)習(xí)模型在處理非線(xiàn)性、非平穩(wěn)序列方面具有優(yōu)勢(shì)。何祖杰等人[3]提出了一種基于IGWO-SVM 的短期交通流預(yù)測(cè)模型,通過(guò)與實(shí)際數(shù)據(jù)進(jìn)行對(duì)比分析,結(jié)果表明該模型具有良好的預(yù)測(cè)能力。
深度學(xué)習(xí)是現(xiàn)在研究的焦點(diǎn),自2010年以來(lái)熱度增長(zhǎng)迅速。深度學(xué)習(xí)模型應(yīng)用于許多領(lǐng)域,包括空氣污染預(yù)測(cè)[4]、股票市場(chǎng)預(yù)測(cè)[5]、物理[6]等。循環(huán)神經(jīng)網(wǎng)絡(luò)模型(Recurrent Neural Network,簡(jiǎn)稱(chēng)RNN)[7]在序列預(yù)測(cè)任務(wù)中取得了顯著的成績(jī)。Hochreater 和Schmidhuber[8]提出了長(zhǎng)短期記憶(Long Short term Memory,簡(jiǎn)稱(chēng)LSTM)神經(jīng)網(wǎng)絡(luò)來(lái)解決RNN 的梯度爆炸和梯度消失問(wèn)題。李雪梅等人[9]使用基于雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-direction Long Short Term Memory,簡(jiǎn)稱(chēng)Bi-LSTM)的預(yù)測(cè)模型利用雨天和非雨天、工作日和非工作日影響因子分別對(duì)交通流進(jìn)行預(yù)測(cè),并與LSTM 進(jìn)行比較,結(jié)果表明Bi-LSTM 的預(yù)測(cè)效果較好。滕騰等人[10]采用堆疊式長(zhǎng)短期記憶網(wǎng)絡(luò)(Stack Long Short Term Memory Network,簡(jiǎn)稱(chēng)SLSTM)模型對(duì)長(zhǎng)期狀態(tài)進(jìn)行處理。在SLSTM 模型中,存在多個(gè)隱藏LSTM 層,每層包含多個(gè)LSTM 單元,上層的LSTM 結(jié)構(gòu)輸出一個(gè)隱藏狀態(tài)序列,輸入到下一層結(jié)構(gòu)中,可以更好地捕捉信息。李楷等人[11]提出了一種SLSTM 神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)交通流進(jìn)行短期預(yù)測(cè),結(jié)果表明所提出方法優(yōu)于常用的機(jī)器學(xué)習(xí)和經(jīng)典的LSTM 方法。
然而,交通流的預(yù)測(cè)受到許多因素的影響。Niam Archana 等人[12]通過(guò)利用過(guò)去和當(dāng)前的交通和天氣信息捕捉交通和降雨數(shù)據(jù)之間的時(shí)空相關(guān)性,得出降雨對(duì)道路交通流預(yù)測(cè)具有影響。Attallah Mustafa 等人[13]提出了一種實(shí)時(shí)高分辨率天氣雷達(dá)數(shù)據(jù)與交通流數(shù)據(jù)融合的預(yù)測(cè)模型,通過(guò)與無(wú)天氣雷達(dá)數(shù)據(jù)模型對(duì)比,得出天氣因素對(duì)交通流預(yù)測(cè)有較大影響。由于交通流的復(fù)雜性和不確定性,預(yù)測(cè)模型存在著預(yù)測(cè)精度不高和預(yù)測(cè)滯后等問(wèn)題,因此需要尋求更加高效和精確的交通流預(yù)測(cè)方法,學(xué)者們對(duì)此問(wèn)題展開(kāi)了廣泛的研究。劉兵等人[14]采用物聯(lián)網(wǎng)與大數(shù)據(jù)相結(jié)合的模型,提高了預(yù)測(cè)精度,減小了預(yù)測(cè)滯后。陸百川等人[15]分析了交通流的時(shí)空特征和數(shù)據(jù)特征,建立了空間鄰接矩陣;其次,通過(guò)時(shí)空相關(guān)性函數(shù)量化不同時(shí)間延遲對(duì)交通的影響,并結(jié)合神經(jīng)網(wǎng)絡(luò)構(gòu)建了交通流預(yù)測(cè)模型,使預(yù)測(cè)結(jié)果更加精準(zhǔn)。
盡管交通流預(yù)測(cè)已經(jīng)取得了一定的成果,但其預(yù)測(cè)精度和預(yù)測(cè)滯后等問(wèn)題仍然需要提高和改進(jìn)。為了解決這些問(wèn)題,本文提出了WT-SLSTM(Wavelet Transform and Stacked Long Short Term Memory)模型。具體而言,首先,采用小波變換將最初的短時(shí)交通流分解成在各個(gè)尺度空間和小波空間上的時(shí)間序列信號(hào);接著,將各個(gè)時(shí)間序列信號(hào)傳遞到SLSTM 神經(jīng)網(wǎng)絡(luò)模型中,在調(diào)整學(xué)習(xí)率、滯后時(shí)間和批量大小等參數(shù)的基礎(chǔ)上進(jìn)行預(yù)測(cè);最后,將各信號(hào)的預(yù)測(cè)值進(jìn)行小波重組,得到最終預(yù)測(cè)值。為了證明WT-SLSTM 模型的優(yōu)越性,本文對(duì)北京市出租車(chē)車(chē)流量數(shù)據(jù)進(jìn)行了預(yù)處理,并使用預(yù)處理后的數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測(cè);從常用評(píng)價(jià)指標(biāo)和折線(xiàn)圖兩個(gè)方面對(duì)預(yù)測(cè)性能進(jìn)行了比較。試驗(yàn)結(jié)果表明,WT-SLSTM 模型優(yōu)于基準(zhǔn)模型,極大地提高了交通流預(yù)測(cè)的精度。
LSTM 神經(jīng)網(wǎng)絡(luò)模型是RNN 的一種重要變體,由Hochreater 和Schmidhuber 于1997年首次提出。相比于傳統(tǒng)的RNN 模型,LSTM 神經(jīng)網(wǎng)絡(luò)模型引入了輸入門(mén)f(t),遺忘門(mén)i(t)和輸出門(mén)o(t),以實(shí)現(xiàn)更好的信息處理和傳遞能力。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,通過(guò)門(mén)結(jié)構(gòu)增添和遺忘信息,不同的神經(jīng)網(wǎng)絡(luò)可以通過(guò)其單元狀態(tài)上的門(mén)結(jié)構(gòu)來(lái)選擇性地記住或遺忘哪些信息。f(t)、i(t)、o(t)分別對(duì)t時(shí)刻時(shí)上一單元的隱藏狀態(tài)ht-1和當(dāng)前輸入xt進(jìn)行初步特征提取。LSTM 模型單元運(yùn)算包括以下幾個(gè)步驟:首先,在遺忘門(mén)中輸入信息并激活函數(shù)來(lái)選擇要丟棄的信息,公式如式(1):
然后,輸入門(mén)i(t)決定哪個(gè)狀態(tài)要更新,將該狀態(tài)與tanh激活函數(shù)所生成的向量c'(t)相加,計(jì)算公式如式(2)~式(4):
最后,輸出門(mén)產(chǎn)生最終輸出,計(jì)算公式如式(5)、式(6):
式中:Wf、Wt、Wo、Wc表示遺忘門(mén)、輸入門(mén)、輸出門(mén)和記憶單元的權(quán)重系數(shù)矩陣;bf、bt、bo、bc表示遺忘門(mén)、輸入門(mén)、輸出門(mén)和記憶單元的偏置條件。
在2015年,Dyer 等學(xué)者[16]提出了SLSTM 模型,該模型是LSTM 模型的改進(jìn)形式,由多個(gè)LSTM 層和一個(gè)Softmax 函數(shù)組成。由于單一的LSTM 神經(jīng)網(wǎng)絡(luò)在提取時(shí)間序列數(shù)據(jù)方面的能力有限,所以通常將多個(gè)LSTM單元組合起來(lái)進(jìn)行訓(xùn)練以提高模型的精度。隨著層數(shù)的增加,輸入觀(guān)察時(shí)間的抽象級(jí)別也增加。此外,多個(gè)LSTM 單元的輸入值和輸出值之間僅有一些微小的區(qū)別,在本質(zhì)上仍然是一致的。相比于傳統(tǒng)的LSTM,SLSTM 不僅考慮當(dāng)前時(shí)刻的輸入值,還考慮了上一時(shí)刻的輸入值。因此,SLSTM 模型的隱藏層更加深入,比LSTM 內(nèi)部的記憶單元更有助于預(yù)測(cè)。其3 層時(shí)序結(jié)構(gòu)如圖1所示。
圖1 3層LSTM 時(shí)序結(jié)構(gòu)
小波變換是一種基于多尺度分析的信號(hào)處理方法,其基本思想是通過(guò)取樣頻率和多分辨率分析確定原信號(hào)的近似空間Vj,以便更好地反映原信號(hào)的各種信息。通過(guò)對(duì)原信號(hào)進(jìn)行分解,得到近似部分Ca1和細(xì)節(jié)部分Cd1。然后可選取近似部分或細(xì)節(jié)部分繼續(xù)分解。小波變換的原理圖如圖2所示。如果需要對(duì)原信號(hào)進(jìn)行數(shù)據(jù)壓縮,則可以舍棄值比較小的Cdj-1分量,這不會(huì)明顯改變?cè)盘?hào)的特征,但可以大大提高數(shù)據(jù)壓縮的效果。當(dāng)Cdj-1分量被修改完成后,需要重構(gòu)算法重新組裝被過(guò)濾或壓縮的信號(hào)。
圖2 小波變換原理圖
本文提出了一種新穎的混合WT-SLSTM 模型,用于預(yù)測(cè)短時(shí)交通流。該模型結(jié)合了數(shù)據(jù)分解手段和SLSTM 神經(jīng)網(wǎng)絡(luò),可以分為3 個(gè)主要部分:數(shù)據(jù)分解、子信號(hào)預(yù)測(cè)和小波重組。圖3 展示了整體預(yù)測(cè)框架。
圖3 WT-SLSTM 模型流程圖
首先,為了降低原始交通流數(shù)據(jù)的復(fù)雜度,同時(shí)提高預(yù)測(cè)精度,采用小波分解方法將原始交通流數(shù)據(jù)分解成k個(gè)子信號(hào)。接下來(lái),每個(gè)子信號(hào)對(duì)應(yīng)于一個(gè)通道,并利用SLSTM 神經(jīng)網(wǎng)絡(luò)分別預(yù)測(cè)各個(gè)子信號(hào)。在此過(guò)程中,調(diào)整SLSTM 神經(jīng)網(wǎng)絡(luò)的參數(shù),并選擇最佳擬合模型。最后,每個(gè)子信號(hào)的預(yù)測(cè)值被重構(gòu)以實(shí)現(xiàn)最終的短時(shí)交通流預(yù)測(cè)。具體而言,每個(gè)子信號(hào)輸出一個(gè)m維向量,采用小波重組獲得最終交通流預(yù)測(cè)值。
為了更準(zhǔn)確地評(píng)估模型的預(yù)測(cè)能力和驗(yàn)證方法的有效性,本文采用平均絕對(duì)誤差(Mean Absolute Error,記作MAE)、均方根誤差(Root Mean Square Error,記作RMSE)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,記作MAPE)和相關(guān)系數(shù)(Coefficient of determination R squared,記作R2)作為預(yù)測(cè)性能指標(biāo)。每個(gè)評(píng)估指標(biāo)的計(jì)算公式如式(7)~式(10):
本文采用北京市出租車(chē)軌跡數(shù)據(jù),時(shí)間跨度為一周。數(shù)據(jù)采樣時(shí)間間隔為100 s,選取東經(jīng)116.4°至116.408°,北緯39.9°至39.906°的區(qū)域。為了確保數(shù)據(jù)的可預(yù)測(cè)性,夜間車(chē)流量幾乎為零的時(shí)間段已被剔除。最終整理出該區(qū)域周一至周四每天從第10 000 s 至76 400 s 所對(duì)應(yīng)的車(chē)流量數(shù)據(jù),如圖4所示。
圖4 時(shí)間-車(chē)流量折線(xiàn)圖
鑒于車(chē)流量數(shù)據(jù)在不同時(shí)段有不同數(shù)量級(jí),為消除對(duì)預(yù)測(cè)結(jié)果的影響,將其進(jìn)行標(biāo)準(zhǔn)化,公式如式(11)所示:
式中:mean(x)是樣本均值;std(x)是樣本標(biāo)準(zhǔn)差。
經(jīng)過(guò)預(yù)處理后,將車(chē)流量數(shù)據(jù)按照10∶1 的比例劃分為訓(xùn)練集和測(cè)試集。首先,將訓(xùn)練集輸入到SLSTM模型中,隱藏層狀態(tài)變量的維度為128,學(xué)習(xí)率為0.001,迭代次數(shù)為200 次,使用PMSprop 優(yōu)化器進(jìn)行訓(xùn)練。預(yù)測(cè)結(jié)果與測(cè)試集數(shù)據(jù)進(jìn)行比較,采用MAE、RMSE、MAPE、R2作為指標(biāo)對(duì)模型進(jìn)行綜合評(píng)估。預(yù)測(cè)結(jié)果表明,MAE、RMSE和MAPE的值分別為2.44、3.02 和19.87,R2的值為0.12,擬合效果較差。
為了解決單個(gè)SLSTM 模型預(yù)測(cè)效果差的問(wèn)題,引入小波變換,以此優(yōu)化SLSTM 模型。于是,基于深度學(xué)習(xí)TensorFlow 框架,建立WT-SLSTM 神經(jīng)網(wǎng)絡(luò)模型。首先,對(duì)數(shù)據(jù)進(jìn)行小波分解。將訓(xùn)練集分解為近似部分Ca1和細(xì)節(jié)部分Cd1,再將Ca1分解為近似部分Ca2和細(xì)節(jié)部分Cd2,繼而將Ca2分解為近似部分Ca3和細(xì)節(jié)部分Cd3。分解結(jié)果如圖5所示。接著,分別將Ca3,Cd1,Cd2和Cd3分別輸入SLSTM 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和預(yù)測(cè)。模型輸入為各個(gè)小波分量,輸出層為各分量預(yù)測(cè)值,滯后時(shí)間為4,時(shí)間步長(zhǎng)為1,學(xué)習(xí)率為0.001,迭代次數(shù)為200 次,使用PMSprop 優(yōu)化器進(jìn)行訓(xùn)練。最后,將各小波分量預(yù)測(cè)值進(jìn)行小波重組,并進(jìn)行反標(biāo)準(zhǔn)化,從而得到出租車(chē)車(chē)流量的最終預(yù)測(cè)值。
圖5 小波變換預(yù)測(cè)結(jié)果
預(yù)測(cè)過(guò)程結(jié)束后,將預(yù)測(cè)結(jié)果和測(cè)試集數(shù)據(jù)進(jìn)行比較,選取MAE、RMSE、MAPE、R2為度量指標(biāo)來(lái)綜合評(píng)估預(yù)測(cè)結(jié)果。為了驗(yàn)證WT-SLSTM 模型的有效性,將其與基準(zhǔn)模型進(jìn)行對(duì)比,包括決策樹(shù)(DT)、隨機(jī)森林(RF)、LSTM、SLSTM 模型。評(píng)估結(jié)果如表1所示。總體上,深度學(xué)習(xí)模型(LSTM、SLSTM、WT-SLSTM)優(yōu)于機(jī)器學(xué)習(xí)模型(DT,RF)。在深度學(xué)習(xí)模型中,加入了小波變換后預(yù)測(cè)效果得到了顯著提升。WT-SLSTM 模型與SLSTM 模型相比,MAE、RMSE、MAPE分別減小了49.18%,49.66%,9.47%,R2提升了6.41 倍;與LSTM 模型相比,MAE、RMSE、MAPE分別減小了50.59%,50.48%,10.18%,R2提升了8.55 倍。因此,WT-SLSTM 模型擬合效果優(yōu)于基準(zhǔn)模型。
表1 預(yù)測(cè)性能評(píng)價(jià)表
為了進(jìn)一步驗(yàn)證WT-SLSTM 模型的預(yù)測(cè)性能,繪制實(shí)際值和預(yù)測(cè)值的對(duì)比曲線(xiàn)圖,如圖6所示。DT、RF、LSTM 和SLSTM 模型的預(yù)測(cè)曲線(xiàn)存在滯后現(xiàn)象和偽峰現(xiàn)象。相比之下,WT-SLSTM 模型修正了這種現(xiàn)象,預(yù)測(cè)效果更佳。然而,同時(shí)也觀(guān)察到WT-SLSTM 模型的預(yù)測(cè)峰值低于觀(guān)測(cè)值。隨著預(yù)測(cè)時(shí)間的增加,模型逐漸難以預(yù)測(cè)出與觀(guān)測(cè)值高度一致的值,這可能是由于出租車(chē)扎堆現(xiàn)象較為少見(jiàn)所致。一方面,為了準(zhǔn)確預(yù)測(cè),模型需要大量的觀(guān)測(cè)數(shù)據(jù);另一方面,出租車(chē)扎堆現(xiàn)象并不常見(jiàn),因此WT-SLSTM 模型難以學(xué)習(xí)到某些極端峰值,導(dǎo)致低估預(yù)測(cè)結(jié)果。
圖6 對(duì)比折線(xiàn)圖
綜上所述,WT-SLSTM 模型的預(yù)測(cè)效果明顯優(yōu)于其他基準(zhǔn)模型,具體表現(xiàn)在預(yù)測(cè)誤差小、與真實(shí)值數(shù)據(jù)匹配度高、擬合程度更好。對(duì)于傳統(tǒng)的LSTM 模型,SLSTM 模型提取和儲(chǔ)存數(shù)據(jù)的效果更好、預(yù)測(cè)精度更高。然而SLSTM 模型對(duì)時(shí)間序列數(shù)據(jù)的提取能力有限,本文通過(guò)加入小波變換來(lái)彌補(bǔ)該問(wèn)題。小波變換可以覆蓋整個(gè)頻域,對(duì)時(shí)間頻率的局部化進(jìn)行分析,還能通過(guò)伸縮平移運(yùn)算對(duì)信號(hào)逐步進(jìn)行多尺度細(xì)化。本文利用其高頻處時(shí)間細(xì)分、低頻處頻率細(xì)分的特點(diǎn),再結(jié)合SLSTM 模型,從本質(zhì)上分析了交通流序列的頻率構(gòu)成,提高了預(yù)測(cè)精度,獲得了較好的預(yù)測(cè)效果。
本文結(jié)合小波變換與SLSTM 神經(jīng)網(wǎng)絡(luò)模型,對(duì)北京市出租車(chē)車(chē)流量進(jìn)行預(yù)測(cè)研究。實(shí)證結(jié)果顯示,與基準(zhǔn)模型相比,WT-SLSTM 模型的預(yù)測(cè)效果明顯提升,預(yù)測(cè)值更加接近真實(shí)值。因此,本文提出的WT-SLSTM 神經(jīng)網(wǎng)絡(luò)模型在交通流預(yù)測(cè)方面效果較好,性能更加穩(wěn)定,可以更好地掌握交通動(dòng)態(tài),為交通部門(mén)制定和實(shí)施政策提供參考。