繆榮輝
(福建高速路橋建設(shè)發(fā)展有限公司,福建 廈門 361001)
隨著公路路網(wǎng)密度的不斷增大,公路突發(fā)事件愈發(fā)頻繁,對道路的正常運行管理提出了嚴峻挑戰(zhàn)。為了及時準確地掌握突發(fā)事件對交通流量的影響,準確的時間序列預測和不確定性的可靠估計是非常必要的,這對道路通行狀況異常的上報處理、合理調(diào)配資源、做出正確的規(guī)劃方案等都至關(guān)重要。
交通流量預測短期和中長期交通流量預測兩類,短時交通流量通常是指5 到15 分鐘的流量預測。交通量的預測本身是一個時間序列的問題[1-2],因此,在早期的交通量模型預測中,時間序列模型在交通量預測研究領(lǐng)域應用較為廣泛[3-4],其中應用較多的是滑動平均模型(ARIMA),該模型經(jīng)提出后在交通量預測統(tǒng)計方面取得了顯著成效[5-7],后續(xù)的研究學者也在該模型的基礎(chǔ)上[8-10],不斷進行了相應的擴展和優(yōu)化。但局限于模型的參數(shù)特性,使得該模型在面對越來越復雜的交通流問題和隨機性問題上,難以滿足預測精度要求。
一般而言,可以用三個參數(shù)定量地描述交通狀況:交通流量、交通速度和交通密度。這三個參數(shù)的結(jié)合能夠準確地反映出智能交通系統(tǒng)對交通控制以及調(diào)度的表現(xiàn)情況。為了在模型的訓練和預測中能夠捕捉到時間序列特征,記憶并存儲以往的信息,引入了循環(huán)神經(jīng)網(wǎng)絡來解決交通序列問題,通過學習復雜的時空內(nèi)部特征,將前幾個隱藏層數(shù)據(jù)作為當前的數(shù)據(jù)來源,從而使模型在學習和訓練的過程中完整地保存了歷史數(shù)據(jù)。
然而,使用神經(jīng)網(wǎng)絡模型來預測交通流量中的突發(fā)狀況仍然是一個較難解決的問題,因此,該文提出了一種考慮端到端的時間序列預測模型架構(gòu),并使用貝葉斯神經(jīng)網(wǎng)絡(BNN)來量化預測突發(fā)事件的發(fā)生,進一步用于大規(guī)模路網(wǎng)交通量的異常檢測。
該文在貝葉斯神經(jīng)網(wǎng)絡的構(gòu)建中引入了權(quán)重參數(shù)的概念,以完成擬合最優(yōu)的后驗分布,這個過程通常被稱為傳統(tǒng)貝葉斯模型中的后驗推斷。然而,由于深度學習模型中復雜的非線性和非共軛性關(guān)系,精確的后驗推斷很難實現(xiàn),此外,大多數(shù)用于近似貝葉斯推理的傳統(tǒng)算法也無法擴展到大多數(shù)神經(jīng)網(wǎng)絡參數(shù)優(yōu)化中去,因此,需要針對不同的情況來調(diào)整參數(shù)以完成算法的優(yōu)化。
算法的大致思路是在原有長短期記憶模型(LSTM)的基礎(chǔ)上,不改變原有架構(gòu),在每個隱藏層后添加隨機丟棄程序,那么模型的輸出結(jié)果可近似看作預測后生成的隨機樣本,模型不確定性就可以通過幾次重復模型預測的樣本方差來估計。
為了在模型的訓練和預測中捕捉時間序列特征,使模型在學習和訓練的過程中完整地保存歷史數(shù)據(jù),長短期記憶模型(LSTM)利用記憶單元來替代傳統(tǒng)的隱藏單元用以克服梯度消失和爆炸的現(xiàn)象。記憶模型單元由輸入門、遺忘門、輸出門3 個門控單元組成。這些單元控制了隱藏函數(shù)的信息流,其中輸入門控制隱藏信息流的傳遞,遺忘門可以決定當前存儲的歷史信息是否遺棄,輸出門控制輸出信息的向外傳導。
交通量的時間序列定義為X=(x1,x2,…xt),定義記憶單元隱藏向量M=(m1,m2,…mt),記憶單元向量C=(c1,c2,…ct),則遺忘門ft如下式所示:
式中,xt——當前交通量;mt-1——上層隱藏狀態(tài)輸入;ct-1——上層狀態(tài)向量;σ——sigmoid 函數(shù);Wfx、Wfm、Wfc——權(quán)重矩陣;bf——偏置向量。
將當前交通量xt、上層隱藏狀態(tài)輸入mt-1、上層狀態(tài)向量ct-1共同作為當前的輸入層,輸入門it如下所示:
式中,Wix、Wim、Wic——均代表權(quán)重矩陣;bi——偏置向量。
計算此刻的狀態(tài)向量ct為:
式中,bc——偏置向量。
將當前交通量xt、上層隱藏狀態(tài)輸入mt-1、上層狀態(tài)向量ct共同作為當前的輸入層,在輸出門中,通過sigmoid 函數(shù)激活當前輸入,輸出門ot如下式所示:
式中,Wox、Wom、Woc——代表權(quán)重矩陣;bo——偏置向量。
由輸出門ot和狀態(tài)向量ct作為隱藏狀態(tài)的輸入,通過tanh激活函數(shù),可得到隱藏狀態(tài)向量mt如下式所示:
式中,ot——輸出向量。
首先,用函數(shù)fw(·)表征一個神經(jīng)網(wǎng)絡結(jié)構(gòu),其中w表征模型參數(shù)的集合,為了評估模型的不確定性,需要量化預測標準誤差η,則近似α水平的預測區(qū)間如下式所示:
式中,zα/2——標準法線的α/2 上分位數(shù)。
在貝葉斯神經(jīng)網(wǎng)絡中,為權(quán)重參數(shù)引入了先驗,在給定一個數(shù)據(jù)點x后,將后驗分布進行邊緣化處理,可以得到預測分布概率p:
然后通過預測分布的方差量化預測的不確定性,可以使用總方差定律進一步分解:
即方差被分為了兩份,其中,E——方差;Var()——模型不確定性;σ2——固有噪聲。
該文神經(jīng)網(wǎng)絡的完整架構(gòu)包含兩個主要組件:一個編碼-解碼器框架,用于捕獲時間序列中的固有模式,另一個是預測網(wǎng)絡,從編碼-解碼器框架中獲取輸入指標和外部特征來指導預測結(jié)果。
在模型擬合前,首先進行模型的預訓練,擬合出一個可從時間序列中提取有效數(shù)據(jù)的編碼器,以確保輸入的參數(shù)可提供有效信息,并將異常數(shù)據(jù)信息傳播到預測網(wǎng)絡中。
具體設(shè)計步驟如下:給定一個單變量時間序列{xt},編碼器讀取前t個時間戳{x1,...,xt}構(gòu)造一個固定維度的狀態(tài)向量,之后解碼器根據(jù)該狀態(tài)向量構(gòu)造f個時間戳數(shù)據(jù){xt, ...,xt+f};為了構(gòu)建此時間戳,狀態(tài)向量必須從輸入的時間序列中提取有效信息;編碼-解碼器在經(jīng)過預訓練后,可視為一個能從時間序列中提取關(guān)鍵特征的黑盒,當編碼器的最后一個LSTM 單元狀態(tài)被提取為狀態(tài)向量后,預測神經(jīng)網(wǎng)絡將以該狀態(tài)向量作為特征來預測接下來幾個時間段的數(shù)據(jù),并以此傳遞到最終的網(wǎng)絡結(jié)構(gòu)中。網(wǎng)絡結(jié)構(gòu)圖如圖1 所示。
圖1 神經(jīng)網(wǎng)絡架構(gòu)圖
該文模型由兩層LSTM 單元構(gòu)成,網(wǎng)絡結(jié)構(gòu)分別包含128 和32 個隱狀態(tài)。預測神經(jīng)網(wǎng)絡由3 個全連接層組成,分別包含128、64 和16 個隱藏單元。輸入樣本通過滑動窗口來構(gòu)成,在對模型參數(shù)進行了反復測試及優(yōu)化后,確定了預測網(wǎng)絡的最佳參數(shù)。測試平臺搭建在Windows10 操作系統(tǒng)中,環(huán)境配置為Python 3.6,模型參數(shù)如下:迭代步數(shù)設(shè)置為85 步,學習率設(shè)置為0.000 1。最后,將傳統(tǒng)的LSTM 預測模型與該文改進后的預估突發(fā)事件不確定性的神經(jīng)網(wǎng)絡對比驗證算法的訓練效果,以某段城市快速路部分統(tǒng)計數(shù)據(jù)作為訓練集,分別對未來10 min 和20 min 交通量進行預測,預測訓練結(jié)果如圖2~3 所示。
圖3 實際交通量觀測值與模型預測值(預測20 min)
為保證預測模型的精確性和實時性,常采用平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、方根誤差(RMSE)評估預測結(jié)果,參數(shù)模型如下。
式中,N——樣本個數(shù);xi——觀測流量;yi——預測流量。MAE值越小,預測值越接近實際情況;RMSE值越小,模型準確性越好;MAPE值越小,模型適用性越好。
由圖2 及表1 可知,該文所改進的模型預測值與實際交通量觀測值相關(guān)性較高,幾乎與實測交通量曲線重疊,而LSTM 模型下的預測值波動較大,受到突發(fā)事件的影響較為明顯,難以做出有效及時的調(diào)整,相較于該文改進的模型而言應變能力較差,準確度較低。
表1 預測模型評測指標結(jié)果
(1)該文在原有長短期記憶模型(LSTM)框架的基礎(chǔ)上,不改變原有架構(gòu),在每個隱藏層后添加隨機丟棄程序,通過模型的不確定性計算,較好地實現(xiàn)了突發(fā)事件下交通量突變情況的預測。
(2)該文給出了考慮突發(fā)事件影響下的交通量預測神經(jīng)網(wǎng)絡架構(gòu)設(shè)計流程,通過初擬合,與傳統(tǒng)的LSTM模型及實測值進行對比,改進的模型與實測值擬合相關(guān)性較好,預測準確度高于LSTM 模型,具有良好的適用性。