宋瑞蓉,路樹華,王斌君,仝 鑫
(1.中國人民公安大學(xué) 信息網(wǎng)絡(luò)安全學(xué)院,北京 100038;2.山東省日照市人民醫(yī)院,山東 日照 276800)
交通時間預(yù)測旨在利用已有的交通時間數(shù)據(jù)對未來出行時間進(jìn)行預(yù)判。交通時間預(yù)測不僅在日常出行中具有重要意義,而且便于交通部門在交通擁堵發(fā)生之前,及時預(yù)測并采取有效的避免措施。此外,公安機(jī)關(guān)在偵破案件時利用交通時間預(yù)測能夠鎖定嫌疑車輛經(jīng)過某地點(diǎn)的時間范圍,從而縮小排查范圍,提高工作效率,減少工作量。圍繞交通時間預(yù)測開展的研究基本可以分為兩類:時序方法和非時序方法。
時序方法重點(diǎn)考慮了交通問題本身具有時序數(shù)據(jù)的特點(diǎn),可以借鑒時序數(shù)據(jù)處理方法及模型,因此,時序方法在交通時間預(yù)測領(lǐng)域備受青睞。ARIMA(Autoregressive In?tegrated Moving Averrage Model)是一種經(jīng)典的時序預(yù)測方法,文獻(xiàn)[1]將ARIMA 應(yīng)用到交通時間預(yù)測任務(wù)中,使得ARIMA 利用所學(xué)習(xí)到的交通時間隨時間變化關(guān)系預(yù)測未來時間段的交通時間,而不需要其它任何輔助屬性。LSTM處理序列化數(shù)據(jù)具有很好的效果,文獻(xiàn)[2]將LSTM 應(yīng)用于交通時間預(yù)測任務(wù)中,并充分考慮了相鄰時間步的結(jié)果對此刻預(yù)測結(jié)果的影響;文獻(xiàn)[3-4]將注意力機(jī)制與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合用于交通時間及交通流量預(yù)測;文獻(xiàn)[5]將注意力機(jī)制與LSTM 模型相結(jié)合,對每一時間步賦予不同權(quán)重;文獻(xiàn)[6]將結(jié)合了注意力機(jī)制的LSTM 模型進(jìn)行改進(jìn),并用于解決交通時間預(yù)測任務(wù),相較于LSTM 只考慮一個方向的傳遞,雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)是前向LSTM 與后向LSTM 的結(jié)合,能夠充分考慮相鄰時間步對預(yù)測結(jié)果的影響;文獻(xiàn)[7-9]將注意力機(jī)制與BiLSTM 相結(jié)合,應(yīng)用于不同領(lǐng)域。
交通時間預(yù)測領(lǐng)域常見的非時序方法有線性回歸、隨機(jī)森林、支持向量回歸(SVR)以及K 近鄰算法(KNN)等[10]。這類方法的優(yōu)點(diǎn)在于只需給出相關(guān)屬性即可進(jìn)行預(yù)測,而不需要給出相鄰時間段的信息,在一些較為簡單的數(shù)據(jù)集上有較好的表現(xiàn);缺點(diǎn)是在交通時間預(yù)測中會遺漏掉一些時序信息,并且對于一些屬性間關(guān)系較為復(fù)雜的數(shù)據(jù)集不具有很好的預(yù)測效果。在機(jī)器學(xué)習(xí)方法中,極端梯度提升(XGBoost)模型常被用于分類和回歸任務(wù),通過多棵決策樹預(yù)測最終結(jié)果,并且每增加一棵樹都能確保目標(biāo)函數(shù)值有所下降,在多種任務(wù)中往往具有較好表現(xiàn)。文獻(xiàn)[11]將XGBoost 模型應(yīng)用于短時交通流預(yù)測,采用hyperopt 方法進(jìn)行自動調(diào)參,在所構(gòu)造的時間序列與時空序列上分別進(jìn)行實(shí)驗(yàn),均表現(xiàn)出了較好的效果;文獻(xiàn)[12]將遺傳算法與XG?Boost 模型相結(jié)合,利用遺傳算法良好的全局搜索能力為XGBoost 進(jìn)行調(diào)參,提高模型表現(xiàn)效果。
此外,許多研究基于組合模型開展。常見的組合模型使用時間序列方法與機(jī)器學(xué)習(xí)方法相結(jié)合。文獻(xiàn)[13]將LSTM 模型與XGBoost 模型相結(jié)合,利用誤差倒排法對不同模型賦予不同權(quán)重,由兩個模型共同決定最終預(yù)測結(jié)果;文獻(xiàn)[14]首先利用LSTM 處理時序化特征,然后將其預(yù)測結(jié)果作為一項(xiàng)新的特征與其它基礎(chǔ)特征共同用于XGBoost模型預(yù)測,結(jié)果相較于單一模型有所提升;文獻(xiàn)[15]利用卷積神經(jīng)網(wǎng)絡(luò)提取特征,然后使用果蠅算法優(yōu)化XGBoost模型參數(shù),將經(jīng)過特征提取的數(shù)據(jù)投入?yún)?shù)被優(yōu)化的XG?Boost 模型中進(jìn)行預(yù)測,在保證預(yù)測準(zhǔn)確度的情況下,提升了預(yù)測效率;文獻(xiàn)[16]將時序方法Holt-Winters 與線性回歸相結(jié)合用于高鐵短期客流預(yù)測。利用時間序列模型可以關(guān)注數(shù)據(jù)隨時間變化的特征,機(jī)器學(xué)習(xí)方法能夠很好地挖掘?qū)傩詴r間的依賴關(guān)系,這兩種模型結(jié)構(gòu)相差較大,因此在一定情況下可以綜合兩種模型優(yōu)勢,提升預(yù)測效果。
本文將BiLSTM 模型與XGBoost 模型相結(jié)合,其中BiL?STM 模型中添加了注意力機(jī)制,使得模型能夠?qū)Σ煌瑫r間步賦予不同權(quán)重的關(guān)注,XGBoost 模型使用了兩種調(diào)參方式,分別為hyperopt 方法自動調(diào)參和利用遺傳算法進(jìn)行調(diào)參,將兩種調(diào)參方法的結(jié)果進(jìn)行對比,選用準(zhǔn)確度更高的模型與改進(jìn)的BiLSTM 模型進(jìn)行組合,從而相較于單一模型提升了預(yù)測效果。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)經(jīng)常被用于具有序列化特征的數(shù)據(jù)處理,每一個隱藏層神經(jīng)元h是由當(dāng)前輸入與上一時刻的隱藏層神經(jīng)元的輸出所組成,這使得數(shù)據(jù)能夠向后傳遞。但同時也帶來一大問題,這種長期依賴會導(dǎo)致網(wǎng)絡(luò)記住大量冗余信息,權(quán)重更新緩慢,一些重要信息會隨著節(jié)點(diǎn)的增多而被遺忘。長短期記憶網(wǎng)絡(luò)(LSTM)是RNN 的一種改進(jìn),可以解決RNN 存在的上述問題。LSTM 由輸入門、輸出門、遺忘門和內(nèi)部記憶單元組成,如式(1)-式(6)所示。在設(shè)定時間步長后,可以對這些時間步內(nèi)的特征進(jìn)行自適應(yīng)地關(guān)注,從而解決時間序列的交通預(yù)測問題。
式(1)表示遺忘門,可控制丟棄一些不重要的信息,減少網(wǎng)絡(luò)傳遞中大量的冗余信息;式(2)表示輸入門,可用來控制輸入xt和當(dāng)前狀態(tài)ht-1更新到記憶單元的程度大小;式(3)和式(4)是內(nèi)部記憶單元,將上述遺忘門和輸入門的信息加以組合,決定哪些信息可以被更新;式(5)和式(6)是輸出門,是為了計(jì)算當(dāng)前的隱藏層狀態(tài),以便網(wǎng)絡(luò)繼續(xù)向后傳遞。相較于RNN 共享同一組權(quán)重與偏置會導(dǎo)致梯度爆炸和消失問題,LSTM 對每一個門都各自共享了一組權(quán)重與偏置,這樣能夠控制一些信息的流入和流出,從而使得整個網(wǎng)絡(luò)更好地把握序列信息之間的關(guān)系。
雙向長短期記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory,BiLSTM)是前向LSTM 與后向LSTM 的結(jié)合,它主要處理有時間序列關(guān)系的流數(shù)據(jù),在保留數(shù)據(jù)順序性特征的同時充分地挖掘和利用上下文信息。BiLSTM 中每一個單元的結(jié)果受前后兩個單元的影響,在前向LSTM 中,此刻單元狀態(tài)At受上一單元At-1結(jié)果的影響,在后向LSTM 中受At+1狀態(tài)的影響,兩個狀態(tài)共同作用得到此時的結(jié)果[7]。前向LSTM 與后向LSTM 的結(jié)合更加充分地利用了時間序列的上下文信息,使得預(yù)測結(jié)果更加準(zhǔn)確。
在交通時間預(yù)測任務(wù)中,一個時間點(diǎn)的交通時間和與之相鄰的前、后時間點(diǎn)都有關(guān)系,那么采用雙向預(yù)測模型便具有很強(qiáng)的可解釋性。例如,一條路在9:00 時刻發(fā)生擁堵,那么9:15 的通行時間也一定會受到影響。LSTM 利用單向傳遞的特征,通過前5 個時間步的交通時間預(yù)測當(dāng)前時刻。但這種傳遞方向并不只是單向的,如果得到9:30 的通行時間,發(fā)現(xiàn)此時道路是阻塞的,則有理由相信9:15 時刻的道路狀況也是如此,從而預(yù)測出相應(yīng)的交通時間。當(dāng)這種傳遞具有雙向性時,同時考慮與預(yù)測時刻相鄰的前、后時刻對該時刻的影響,將會使結(jié)果更加具有信服力。
注意力模型通過神經(jīng)網(wǎng)絡(luò)模型與注意力機(jī)制的結(jié)合,提高模型對特征的關(guān)注能力。注意力機(jī)制借鑒于人類的視覺注意力機(jī)制,人類會在整個視覺范圍內(nèi)將注意力集中于最重要的部分,從而有效地快速篩選出對自身最有意義的信息,極大地提高了信息處理準(zhǔn)確率。神經(jīng)網(wǎng)絡(luò)中添加的注意力機(jī)制也是為了達(dá)到這樣的效果,快速關(guān)注重要信息,減少無關(guān)信息對結(jié)果的影響。
具體而言,在交通時間預(yù)測任務(wù)中,添加注意力機(jī)制是為了對每一個時間步賦予不同權(quán)重的關(guān)注,對于一些較遠(yuǎn)的時間步減少關(guān)注,對于相鄰時間步賦予更多關(guān)注,從而使預(yù)測結(jié)果更加準(zhǔn)確。式(7)—式(9)是描述注意力機(jī)制的神經(jīng)網(wǎng)絡(luò),其中,H是BiLSTM 網(wǎng)絡(luò)的輸出,W與w是注意力機(jī)制神經(jīng)網(wǎng)絡(luò)中的權(quán)重,一開始被隨機(jī)初始化,通過模型訓(xùn)練不斷更新得到,α是注意力權(quán)重向量,r表示BiL?STM 網(wǎng)絡(luò)的輸出與注意力機(jī)制進(jìn)行加權(quán)求和,代表網(wǎng)絡(luò)最后輸出,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
Fig.1 BiLSTM network structure with attention mechanism added圖1 添加了注意力機(jī)制的BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)
某一時刻的交通時間受相鄰時間段影響,BiLSTM 網(wǎng)絡(luò)可以充分利用該時刻前后的信息預(yù)測當(dāng)前時刻的交通時間,但周圍時刻對于此時刻的影響程度并不相同,若模型對每一時間步都進(jìn)行同等程度的關(guān)注,則將失去了焦點(diǎn)和重點(diǎn)。為解決該問題,本文建立了結(jié)合注意力機(jī)制的BiL?STM 網(wǎng)絡(luò)(Attenton-based BiLSTM,ABiLSTM),在BiLSTM網(wǎng)絡(luò)的輸出層上添加了注意力層,依據(jù)每一時間步對待預(yù)測時間點(diǎn)的貢獻(xiàn)程度不同,為每一時間步訓(xùn)練出一組權(quán)重向量,將雙向LSTM 網(wǎng)絡(luò)的輸出與注意力權(quán)重進(jìn)行加權(quán)求和作為模型最后的輸出結(jié)果。BiLSTM 中時間步長設(shè)置為5,每一個時間步中包含4 個屬性,模型經(jīng)過訓(xùn)練,會對這些特征分別計(jì)算出相應(yīng)權(quán)重。
本文所選取的實(shí)驗(yàn)數(shù)據(jù)集來自英國公路局提供和管理的路段通行時間數(shù)據(jù),每15min 為一個時段,記錄一條數(shù)據(jù)。經(jīng)過篩選共保留5 個屬性,分別為日期類型、時間類型、平均速度、交通流量以及通行時間。選取AL1053、AL1249、AL1253 等20 條公路在2014 年1 月份的交通數(shù)據(jù),其中每條公路有2 973 條數(shù)據(jù),其中80%劃分為訓(xùn)練集,20%為測試集。在每條公路上分別使用BiLSTM 模型與ABiLSTM 模型進(jìn)行對比實(shí)驗(yàn)。
為了評價(jià)結(jié)果,使用了兩個評價(jià)指標(biāo),分別為平均絕對誤差mae 與R 平方R_square,計(jì)算公式如式(10)、式(11)所示。
平均絕對誤差mae 是計(jì)算預(yù)測值與真實(shí)值偏差的絕對值大小,mae 值越小,表示模型預(yù)測效果越好。R平方是對模型擬合程度的打分,取值范圍為[-1,1]。如式(11)所示,分子是預(yù)測值與真實(shí)值之間的誤差,分母是真實(shí)值與目標(biāo)值y的平均數(shù)之間的誤差。由此可以得出,R平方的值越接近1,模型吻合程度越高。
實(shí)驗(yàn)結(jié)果如表1 所示。
Table 1 Comparison of experimental results of ABiLSTM model表1 ABiLSTM 模型實(shí)驗(yàn)結(jié)果對比
兩種模型在平均絕對值誤差和R 平方上的對比結(jié)果如圖2 所示。
Fig.2 Comparison of experimental results of ABiLSTM model圖2 ABiLSTM 模型實(shí)驗(yàn)結(jié)果對比
由表1 和圖2 可以看出,ABiLSTM 在實(shí)驗(yàn)中的20 條路段上均表現(xiàn)出了更好的預(yù)測效果。
極端梯度提升(eXtreme Gradient Boosting,XGBoost)模型是為了緩解單棵決策樹可能造成過擬合的風(fēng)險(xiǎn),對多棵決策樹進(jìn)行集成,從而使目標(biāo)函數(shù)值不斷下降[17],具體表達(dá)式如式(12)所示。
XGBoost 最核心的思路是每增加一棵決策樹,整體表達(dá)效果都會有所提升,過程如式(13)所示。
在決策樹中,葉子節(jié)點(diǎn)越多,造成過擬合的風(fēng)險(xiǎn)也就越大,所以需要限制葉子節(jié)點(diǎn)的個數(shù),可以通過懲罰項(xiàng)實(shí)現(xiàn),如式(14)所示。
式(14)中,T為葉子節(jié)點(diǎn)個數(shù),? 為懲罰系數(shù),表示懲罰力度的大小,w表示每個葉子節(jié)點(diǎn)的權(quán)重,表示對wj做了一次L2懲罰。
將損失函數(shù)與懲罰項(xiàng)相結(jié)合可以得到目標(biāo)函數(shù)Obj(t),接下來使用泰勒展開式處理目標(biāo)函數(shù),展開結(jié)果如式(15)所示。
對式(15)進(jìn)行簡化,為了便于合并,將懲罰項(xiàng)依據(jù)其定義進(jìn)行展開,接著將樣本上的遍歷轉(zhuǎn)化為葉子節(jié)點(diǎn)的遍歷,最終結(jié)果如式(16)所示。
依據(jù)式(16),XGBoost 模型可以遍歷不同決策樹的劃分方案,使得目標(biāo)函數(shù)最小,即可以得到相較于上次決策樹劃分表現(xiàn)效果更好的模型。
XGBoost 模型含有大量超參數(shù)需要設(shè)置,無論是采用手工調(diào)參方式還是采用網(wǎng)格搜索方式,都較為復(fù)雜,不利于模型優(yōu)化,使用hyperopt 可以簡化調(diào)參過程。hyperopt 有兩種搜索算法,分別是隨機(jī)搜索和TPE(Tree of Parzen Esti?mators)搜索[18]。本文使用的是TPE 搜索算法。
TPE 搜索算法相較于隨機(jī)搜索在多數(shù)情況下表現(xiàn)出更好的效果。首先,采用隨機(jī)搜索方式產(chǎn)生超參數(shù),然后將這些超參數(shù)代入模型進(jìn)行訓(xùn)練,通過目標(biāo)函數(shù)值對參數(shù)進(jìn)行評價(jià)。當(dāng)隨機(jī)產(chǎn)生的參數(shù)超過20 組時(默認(rèn)為20),使用這些參數(shù)以及訓(xùn)練后模型的目標(biāo)函數(shù)值產(chǎn)生無參數(shù)概率密度函數(shù),然后使用概率密度函數(shù)生成新的超參數(shù),對模型繼續(xù)進(jìn)行訓(xùn)練,直到產(chǎn)生相較于其它參數(shù)而言,具有較好表現(xiàn)效果的一組參數(shù)作為TPE 搜索算法的最終結(jié)果。TPE 搜索算法流程如圖3 所示[18]。
Fig.3 Workflow of hyperopt using TPE search algorithm圖3 使用TPE 搜索算法的hyperopt 工作流程
hyperopt 是一個支持自動調(diào)參的python 庫,在調(diào)參之前需要給出所要優(yōu)化的目標(biāo)函數(shù)及參數(shù)的搜索空間[18]。本文使用hyperopt 調(diào)參方式的參數(shù)搜索空間如表2 所示。
Table 2 Parameter search space of hyperopt method parameter adjustment表2 hyperopt 方法調(diào)參的參數(shù)搜索空間
以路段AL1053 為例,經(jīng)過hyperopt 調(diào)參后XGBoost 模型參數(shù)如表3 所示。
Table 3 Super parameter values after adjusting parameters with hyperopt method表3 使用hyperopt 方法調(diào)參后的超參數(shù)取值
生物遺傳時遵循分離規(guī)律及自由組合規(guī)律,變異時遵循重組規(guī)律、基因突變規(guī)律以及染色體變異規(guī)律。遺傳算法(GA,Genetic Algorithm)受到生物進(jìn)化學(xué)說和遺傳學(xué)說的啟發(fā),模擬生物進(jìn)化過程,借助復(fù)制、交換、變異等方法模仿生物優(yōu)勝劣汰、適者生存的自然法則,具體而言就是在初始解的基礎(chǔ)上通過智能式搜索逐步逼近最優(yōu)解。相較于其它方法,遺傳算法可以找到全局最優(yōu)解[19]。
使用遺傳算法解決具體問題時,需要根據(jù)問題的特性進(jìn)行編碼,確定適應(yīng)度函數(shù)。該算法具有黑箱式結(jié)構(gòu),這使得可以用來研究一些函數(shù)關(guān)系不明確的復(fù)雜關(guān)系,如模型調(diào)參。
遺傳算法具體可由以下遺傳算子組成:
選擇:計(jì)算個體適應(yīng)度,然后從第t 代群體P(t)中選擇出適應(yīng)度較好的個體遺傳到下一代群體P(t+1)中。使用輪盤賭法確定每一個體被選擇的概率計(jì)算公式如式(17)—式(18)所示。
其中,F(xiàn)i為個體i所對應(yīng)的適應(yīng)度函數(shù)值,N 代表現(xiàn)有的個體數(shù)。
交叉:將群體P(t)內(nèi)的個體進(jìn)行隨機(jī)組合,選擇確定的概率交換個體之間的部分染色體,產(chǎn)生新的個體。
其中,b為取值在[0,1]的隨機(jī)數(shù)。
變異:以某一概率將群體P(t)中的某些基因值替換為其它的等位基因[20]。表達(dá)式如式(20)—式(21)所示。
式(20)中,r2為隨機(jī)數(shù),g代表已經(jīng)進(jìn)化的次數(shù),Gmax代表最終迭代次數(shù)。式(21)中,aij代表發(fā)生變異的第i個體的第j號基因,amax和amin分別代表該基因取值范圍內(nèi)的最大值和最小值,r是取值為[0,1]的隨機(jī)數(shù)。
遺傳算法運(yùn)算過程如圖4 所示。
Fig.4 Operation process of genetic algorithm圖4 遺傳算法運(yùn)算過程
本文遺傳算法中所使用的適應(yīng)度函數(shù)為R 平方,表達(dá)式如式(11)所示。
利用遺傳算法對XGBoost 模型進(jìn)行調(diào)參,參數(shù)名稱及參數(shù)搜索空間如表4 所示。
同樣以路段AL1053 為例,顯示經(jīng)過遺傳算法調(diào)參后XGBoost 模型的超參數(shù)如表5 所示。
Table 4 Parameter search space of genetic algorithm parameter adjustment表4 遺傳算法調(diào)參的參數(shù)搜索空間
Table 5 Super parameter values after parameter adjustment using genetic algorithm表5 使用遺傳算法調(diào)參后的超參數(shù)取值
hyperopt 方法調(diào)參和遺傳算法調(diào)參具有不同的特點(diǎn),為了使組合模型具有最佳表現(xiàn)效果,本文對于每一條路的數(shù)據(jù)集都采用了兩種調(diào)參方式,選擇其中表現(xiàn)最好的模型與ABiLSTM 模型進(jìn)行組合。
ABiLSTM 擅長于處理時序化數(shù)據(jù),XGBoost 模型基于決策樹對于回歸和分類問題有較好的表現(xiàn)。兩個模型結(jié)構(gòu)相差較大,將兩個模型進(jìn)行組合可以降低過擬合風(fēng)險(xiǎn),提高預(yù)測準(zhǔn)確度。
使用殘差表示模型預(yù)測結(jié)果的誤差情況,殘差計(jì)算如式(22)所示。
以路段AL1053為例,ABiLSTM 模型與XGBoost 模型前100個預(yù)測結(jié)果的殘差結(jié)果如圖5 所示。
Fig.5 Residual error of traffic time prediction圖5 交通時間預(yù)測殘差
由圖5 可以看出,這兩個模型預(yù)測結(jié)果的殘差除在個別數(shù)據(jù)點(diǎn)有較大偏差外,其余數(shù)據(jù)點(diǎn)集中在[-1,1],模型預(yù)測能力相差無幾。在組合模型中,若兩個模型的預(yù)測能力有較大差別,組合之后的結(jié)果往往差于兩個模型中表現(xiàn)較好的模型。在本文實(shí)驗(yàn)中,單一模型BiLSTM 與XGBoost預(yù)測能力相近,通過將兩個模型的預(yù)測結(jié)果進(jìn)行組合,可以在一定程度上提高結(jié)果預(yù)測準(zhǔn)確度。交通時間預(yù)測領(lǐng)域一些表現(xiàn)較好的組合模型多是基于時間序列方法與機(jī)器學(xué)習(xí)方法的組合,因?yàn)檫@兩類模型的結(jié)構(gòu)相差較大,可以減少過擬合程度,同時這兩類模型具有不同特點(diǎn),時間序列方法可以考慮周圍時間段的結(jié)果對此刻的影響,可以提取到時間序列的隱藏特征,機(jī)器學(xué)習(xí)方法能夠更加充分地挖掘?qū)傩蚤g的依賴關(guān)系,將兩類模型進(jìn)行組合可以綜合這兩類模型的優(yōu)點(diǎn),表現(xiàn)出更好的預(yù)測效果。
本文采用并列的模型組合方式,讓每個模型單獨(dú)訓(xùn)練,然后為每個模型的結(jié)果賦予不同的權(quán)重,讓其共同決定組合模型的預(yù)測結(jié)果。模型組合的關(guān)鍵在于確定不同模型的權(quán)重,關(guān)于組合模型權(quán)重的確定方法,常見的有誤差倒排法、等權(quán)組合預(yù)測法、方差—協(xié)方差法、最小二乘法以及最小絕對值法[21]。本文采用了誤差倒排法和最小絕對值法分別進(jìn)行試驗(yàn)。
誤差倒排法的優(yōu)點(diǎn)在于計(jì)算簡便,同時考慮了不同模型之間預(yù)測效果的差異,在具有較好表現(xiàn)效果的同時,也具有很強(qiáng)的可解釋性。使用誤差倒排法組合模型的方法如式(23)—式(25)所示。
其中,ε1和ε2分別代表BiLSTM 與XGBoost 模型預(yù)測值與真實(shí)值之間的誤差,w1與w2分別代表兩個模型的權(quán)重。由權(quán)重計(jì)算公式可以看出,該方法考慮了不同模型間預(yù)測能力的差異,對于誤差較小的模型賦予較大的權(quán)重,對誤差較大模型賦予較小權(quán)重[13],這樣能夠更好發(fā)揮組合模型的優(yōu)勢。
最小絕對值法相較于誤差倒排法的優(yōu)點(diǎn)在于可以為兩個以上的單一模型確定權(quán)重參數(shù),在一些復(fù)雜場景中,更具實(shí)用價(jià)值。最小絕對值法是將誤差的絕對值作為目標(biāo)函數(shù),表達(dá)如式(26)所示[21]。
將預(yù)測結(jié)果記為矩陣A,真實(shí)值記為矩陣Y,權(quán)重記為W,表達(dá)式如式(27)所示。
其中,A的每一列表示一個模型所預(yù)測的n個數(shù)值,共有k個模型,表達(dá)式如式(28)所示。
此時,該數(shù)學(xué)模型轉(zhuǎn)化為一個典型的線性規(guī)劃問題,可以使用單純性法求解,矩陣表達(dá)式如式(33)所示。
將矩陣[A,In,-In]的最優(yōu)基記為B*,則B*在不失一般性條件下的表達(dá)式如式(34)所示。
其中,W 為最終所要確定的權(quán)重系數(shù)。
本文將ABiLSTM 模型與經(jīng)過調(diào)參之后的XGBoost 模型采用誤差倒排法和最小絕對值法分別進(jìn)行組合,實(shí)驗(yàn)數(shù)據(jù)為AL1674 等20 條路段在2014 年1 月份的交通數(shù)據(jù),訓(xùn)練集與測試集劃分比例為8∶2,采用隨機(jī)劃分方式。其中,XGBoost 模型使用了兩種調(diào)參方式,選用表現(xiàn)效果最好的作為組合模型的一部分。表6 為單一模型及組合模型預(yù)測結(jié)果,使用的評價(jià)指標(biāo)為均方誤差mse,權(quán)重表示單一模型的預(yù)測結(jié)果在組合模型中所占比重。在20 條實(shí)驗(yàn)路段中,多數(shù)情況下,遺傳算法調(diào)參表現(xiàn)出較好的效果,但在某些路段中hyperopt 自動調(diào)參表現(xiàn)出更好的效果,用*加以區(qū)分。
均方誤差的計(jì)算公式如式(36)所示。
由表6 可以得出,使用誤差倒排法確定的組合模型并非在所有路段上均優(yōu)于單一模型,但使用最小絕對值法的組合模型相較于任何一個單一模型,均方誤差都有所下降且表現(xiàn)出最好的預(yù)測效果。
Table 6 Comparison of the prediction results of single model and combined model表6 單一模型與組合模型預(yù)測結(jié)果對比
為了顯示組合模型在某條具體路段上預(yù)測值與真實(shí)值之間的偏差,以路段AL1053 為例,將組合模型的前100個預(yù)測結(jié)果與真實(shí)值顯示在圖中,如圖6 所示。
Fig.6 Predicted and actual traffic time of combined model圖6 組合模型交通時間的預(yù)測值與實(shí)際值
由圖6 可以得出,組合模型能夠很好地?cái)M合實(shí)際交通時間變化情況,具有較好的預(yù)測效果。
相對百分誤差絕對值的平均值MAPE 可以用來評價(jià)模型的預(yù)測能力,MAPE 值越小,代表模型預(yù)測能力越強(qiáng),計(jì)算如式(37)所示。為綜合對比本文所提到的所有模型,現(xiàn)將不同模型在20 條實(shí)驗(yàn)路段上的MAPE 進(jìn)行對比,結(jié)果如圖7 所示。其中,“xgboost_Y”代表用遺傳算法進(jìn)行調(diào)參的XGBoost 模型,“xgboost_H”代表用hyperopt 方法自動調(diào)參的XGBoost 模型,組合1 代表用誤差倒排法確定權(quán)重的組合模型,組合2 代表用最小絕對值法確定權(quán)重的組合模型。
Fig.7 Comparison of broken lines of different models of MAPE圖7 不同模型MAPE 的折線對比
由圖7 可以看出,未添加注意力機(jī)制的BiLSTM 模型的預(yù)測能力相較于其它模型表現(xiàn)較差,添加了注意力機(jī)制之后,使得MAPE 指標(biāo)有較大程度的下降,模型預(yù)測能力有較為明顯的提高。并且,利用了不同調(diào)參方式進(jìn)行調(diào)參的XGBoost 模型的MAPE 指標(biāo)相近。兩種組合模型在多數(shù)路段上表現(xiàn)優(yōu)于其它單一模型,但在路段AL1693 上,使用誤差倒排法確定權(quán)重的組合模型表現(xiàn)差于任何一個單一模型。綜合而言,使用最小絕對值法確定權(quán)重的組合模型預(yù)測能力優(yōu)于任何一個單一模型,在所有模型中表現(xiàn)最優(yōu)。
箱線圖可以用來反映一組數(shù)據(jù)的中心位置和散布情況,為了更直觀統(tǒng)計(jì)不同模型在所有實(shí)驗(yàn)路段上MAPE 指標(biāo)的離散情況,現(xiàn)將不同模型在所有實(shí)驗(yàn)路段上的MAPE指標(biāo)繪制為箱線圖,如圖8 所示。
Fig.8 Comparison of MAPE box lines of different models圖8 不同模型MAPE 箱線圖對比
由圖8 可以得出,兩種組合模型MAPE 指標(biāo)的中位數(shù)低于其它所有模型,但組合2 即使用最小絕對值法確定權(quán)重的組合模型,相較于使用誤差倒排法確定權(quán)重的組合模型,其MAPE 指標(biāo)更為集中,上四分位數(shù)和上邊緣也更低,使用最小絕對值法確定權(quán)重的組合模型的異常值數(shù)量及取值也均小于使用誤差倒排法確定權(quán)重的組合模型。綜上所述,使用最小絕對值法確定權(quán)重的組合模型在所有模型中表現(xiàn)出最好的預(yù)測效果。
通過表6、圖7 及圖8 可以得出,本文提出的使用最小絕對值法確定權(quán)重的組合模型在不同指標(biāo)評價(jià)下,表現(xiàn)均優(yōu)于其它任何模型,從而說明ABiLSTM 與XGBoost 組合模型可以提高單一模型預(yù)測準(zhǔn)確度。
本文將BiLSTM 模型與注意力機(jī)制相結(jié)合,對BiLSTM模型進(jìn)行了改進(jìn)。通過實(shí)驗(yàn)證明,該模型相較于BiLSTM模型表現(xiàn)出更好的預(yù)測效果。XGBoost 模型具有大量參數(shù),本文嘗試了兩種不同的調(diào)參方法,即遺傳算法調(diào)參和hyperopt 自動調(diào)參,為確定組合模型的權(quán)重,使用誤差倒排法和最小絕對值法分別進(jìn)行實(shí)驗(yàn),選取表現(xiàn)更好的最小絕對值法為不同模型確定權(quán)重系數(shù),進(jìn)而將模型進(jìn)行組合。通過實(shí)驗(yàn)證明,該組合模型較任何單一模型都表現(xiàn)出更好的預(yù)測效果。本文所使用的數(shù)據(jù)集考慮了時間相關(guān)性,但未考慮到空間相關(guān)性?,F(xiàn)實(shí)生活中,一條路段的通行情況不僅與它相鄰時間段的路況有關(guān),還與相鄰路段的通行情況有關(guān)。因此,下一步還應(yīng)使用時空數(shù)據(jù)進(jìn)行實(shí)驗(yàn),更加全面地考慮影響交通時間的各種因素,從而提高交通時間預(yù)測準(zhǔn)確性。