殷仕山 孫克雷
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 淮南 232001)
由于挖掘時(shí)空模式的強(qiáng)大能力,在交通預(yù)測(cè)領(lǐng)域中越來越多地采用基于深度學(xué)習(xí)的方法[1].Lyu等[2]提出了一種基于深度學(xué)習(xí)的堆疊式自動(dòng)編碼器(SAE)模型,以捕獲交通流量預(yù)測(cè)中的時(shí)空相關(guān)性.Koesdwiady等[3]結(jié)合了DBN和決策級(jí)數(shù)據(jù)融合方案來同時(shí)預(yù)測(cè)交通流量和天氣狀況.Kuremoto等[4]研究了如何將基于受限Boltzmann機(jī)的深度置信度網(wǎng)絡(luò)應(yīng)用于短時(shí)交通速度預(yù)測(cè).Ma等[5]運(yùn)用長(zhǎng)期短期記憶(LSTM)來捕獲交通速度預(yù)測(cè)的長(zhǎng)期時(shí)間特征.然而,LSTM每次只讀取和分析輸入序列中的一個(gè)速度值.循環(huán)神經(jīng)網(wǎng)絡(luò)必須等待前一個(gè)速度值處理完畢后才能處理下一個(gè)值,這意味著循環(huán)神經(jīng)網(wǎng)絡(luò)無法像CNN那樣進(jìn)行大規(guī)模并行處理,而傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)無法精確提取數(shù)據(jù)的時(shí)間特征,所以對(duì)時(shí)間序列的研究又轉(zhuǎn)向了卷積神經(jīng)網(wǎng)絡(luò).
卷積神經(jīng)網(wǎng)絡(luò)CNN在處理二維數(shù)據(jù)(如圖像)時(shí)表現(xiàn)良好,通常由卷積層和下采樣層疊加而成,即池化層.Wang等[6]提出了一種基于單隱層卷積神經(jīng)網(wǎng)絡(luò)結(jié)合誤差反饋的交通流速度預(yù)測(cè)模型.Yu等[7]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分組模型,該模型由兩部分組成.連續(xù)詞模型(CBOW)用于尋找相似的時(shí)空關(guān)系,而CNN網(wǎng)絡(luò)用于短期速度預(yù)測(cè).Ma等[8]將時(shí)空交通速度矩陣轉(zhuǎn)換為圖像,然后將其作為CNN的輸入,用于交通速度預(yù)測(cè).羅文慧等[9]考慮到天氣,事故等異常情況,利用CNN提取交通流的時(shí)空特征,輸入到頂層SVM模型中進(jìn)行預(yù)測(cè).Wu等[10]通過使用一維CNN來利用空間特征和兩個(gè)LSTM來表征交通流的時(shí)間相關(guān)性來預(yù)測(cè)交通流.Ke等[11]運(yùn)用融合卷積LSTM(Conv-LSTM)來開發(fā)時(shí)空深度學(xué)習(xí)模型,以預(yù)測(cè)按需乘車服務(wù)下的乘客需求.從以上的CNN文獻(xiàn)中發(fā)現(xiàn),傳統(tǒng)的CNN只能在滑動(dòng)窗口有限的情況下提取局部信息.結(jié)果,當(dāng)提取過程數(shù)據(jù)的深層特征時(shí),CNN可能仍然會(huì)遇到梯度消失的問題.為了解決此問題,專門開發(fā)了時(shí)間卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)以處理序列建模問題.
利用CNN和RNN的優(yōu)勢(shì),TCN具有以下三個(gè)特征來改進(jìn)時(shí)間序列建模的性能:因果卷積,擴(kuò)展卷積和殘差連接.因果卷積在輸入和輸出之間建立了牢固的因果關(guān)系;擴(kuò)張的卷積增加了TCN的接收?qǐng)觯鵁o需使用太多的隱藏層;殘差連接功能避免了梯度消失的可能性.文中首先將交通速度數(shù)據(jù)建模為時(shí)間序列問題,然后提出了一種預(yù)測(cè)城市交通速度的長(zhǎng)短期時(shí)間卷積網(wǎng)(long and short-term temporal convolutional network,LSTCN)模型.LSTCN預(yù)測(cè)模型對(duì)時(shí)間卷積網(wǎng)絡(luò)進(jìn)行了改進(jìn),使其能捕捉交通速度序列特征,并充分考慮天氣因素對(duì)交通速度的影響,從而更準(zhǔn)確地預(yù)測(cè)城市交通速度.
道路交通速度數(shù)據(jù)在短期內(nèi)具有明顯的趨勢(shì)性,在長(zhǎng)期內(nèi)具有周期性特征[12],見圖1.對(duì)深圳市羅湖區(qū)2015年1月20日、周二10:00—10:15的交通速度進(jìn)行預(yù)測(cè),那么當(dāng)天09:00—10:00內(nèi)的交通數(shù)據(jù)以及對(duì)應(yīng)的周一10:00—10:15和上周周二10:00—10:15的交通速度數(shù)據(jù)將為預(yù)測(cè)提供最有用的信息,而當(dāng)天06:00點(diǎn)的交通情況通常與預(yù)測(cè)目標(biāo)無關(guān).
圖1 交通速度數(shù)據(jù)周期性
由圖1可知:13日、19日和20日的速度趨勢(shì)變化非常相似,說明了交通速度數(shù)據(jù)存在明顯的日周期性和周周期性.
天氣的變化會(huì)直接影響交通速度的變化[13].通過世界氣象在線網(wǎng)站的接口,獲取所需城市的氣象數(shù)據(jù),并選取10個(gè)可量化的氣象參數(shù)作為外部數(shù)據(jù)特征.由于天氣因素與道路交通速度之間的作為具有復(fù)雜的非線性關(guān)系,采用皮爾遜(Pearson)相關(guān)系數(shù)來度量10個(gè)天氣因素與交通速度之間的相關(guān)性.分析結(jié)果見圖2.
圖2 天氣因素相關(guān)性
氣象特征數(shù)據(jù)與交通速度數(shù)據(jù)的相關(guān)系數(shù)為
r(xw,yt)=
(1)
式中:n為采樣點(diǎn)數(shù)據(jù)的個(gè)數(shù);xw為歸一化后的氣象特征數(shù)據(jù);yt為降采樣以及歸一化后的交通速度數(shù)據(jù);r(xw,yt)為氣象特征數(shù)據(jù)與交通速度數(shù)據(jù)之間的相關(guān)系數(shù)[14].相關(guān)系數(shù)r的值在[0,1]之間,r越接近1,關(guān)聯(lián)度越強(qiáng),r越接近0,關(guān)聯(lián)度越弱.r(xw,yt)的絕對(duì)值反映了天氣數(shù)據(jù)與交通數(shù)據(jù)的關(guān)聯(lián)度.本文選取相關(guān)系數(shù)超過0.2的影響因子,即溫度,降雨量,濕度和能見度,以縮小選取的時(shí)空范圍,削弱低于此標(biāo)準(zhǔn)的影響效應(yīng).
TCN是一種特殊的1D-CNN,用于時(shí)間序列預(yù)測(cè)和分類任務(wù),TCN在多種任務(wù)和數(shù)據(jù)集上的性能優(yōu)于LSTM、GRU等典型的遞歸神經(jīng)網(wǎng)絡(luò),相比于遞歸神經(jīng)網(wǎng)絡(luò),TCN可以記住更長(zhǎng)的歷史信息,捕獲更全局的時(shí)間序列特征.
為了實(shí)現(xiàn)對(duì)長(zhǎng)期歷史尺度輸入的有效預(yù)測(cè),不論是使用深層次的網(wǎng)絡(luò)還是大量的卷積核,都需占用大量的計(jì)算資源,并且時(shí)空復(fù)雜度很高.因此引入了擴(kuò)展卷積機(jī)制,使得模型能夠用更小的濾波器和更淺的網(wǎng)絡(luò)層覆蓋更大的時(shí)間序列范圍.
對(duì)于一維輸入序列I∈Rs和卷積核F:{0,2,…,k-1}→R,對(duì)序列元素x的擴(kuò)展卷積運(yùn)算F定義為
(2)
式中:d為擴(kuò)展間隔;k為卷積核的大小,因果擴(kuò)展卷積的示意圖見圖3.
圖3 三層因果擴(kuò)展卷積網(wǎng)絡(luò)
時(shí)間卷積網(wǎng)絡(luò)中還加入了殘差連接、權(quán)值歸一化和dropout來提高性能,一個(gè)完整的TCN殘差塊見圖4.
圖4 時(shí)間卷積網(wǎng)絡(luò)
考慮到交通速度數(shù)據(jù)同時(shí)具有短期趨勢(shì)性和長(zhǎng)期周期性,本文類比長(zhǎng)短期記憶網(wǎng)絡(luò)模型的思想,提出了一種長(zhǎng)短期卷積網(wǎng)絡(luò).交通流數(shù)據(jù)預(yù)測(cè)遵循因果關(guān)系原則,但不需要連續(xù)不間斷的歷史數(shù)據(jù)輸入.例如,10:00的交通流量與06:00的交通流量并不相關(guān),因此擴(kuò)展間隔的設(shè)計(jì)不需要覆蓋所有的序列范圍.
以Q次/h為研究對(duì)象的統(tǒng)計(jì)頻率,設(shè)當(dāng)前時(shí)間為T0,待預(yù)測(cè)的數(shù)據(jù)點(diǎn)為Tp,在此時(shí)間序列上分別截取近期趨勢(shì)Tn,日周期Td和周周期Tw,充分提取交通速度數(shù)據(jù)的時(shí)間特征,見圖5.
圖5 交通速度時(shí)間特征示例
1) 近期趨勢(shì)性Xn=(XT0-Tn+1,XT0-Tn+2,…,XT0),即與預(yù)測(cè)目標(biāo)數(shù)據(jù)緊鄰的歷史時(shí)間序列,見圖5中Tn段.城市道路上車輛的匯集和分散是漸變式的,同一地點(diǎn)前一時(shí)刻的車流量勢(shì)必會(huì)影響下一時(shí)刻的車流量,進(jìn)而影響交通速度的變化.
所有時(shí)間序列預(yù)測(cè)模型都要求網(wǎng)絡(luò)的輸入輸出長(zhǎng)度相等并且序列中任意時(shí)刻T對(duì)應(yīng)的節(jié)點(diǎn)只接受T時(shí)間之前的信息.LSTCN在網(wǎng)絡(luò)輸出端用了全連接層來保證輸出序列與輸入長(zhǎng)度相等,繼承了時(shí)間卷積網(wǎng)絡(luò)中采用的具有因果關(guān)系的卷積來保證網(wǎng)絡(luò)中的任一時(shí)間節(jié)點(diǎn)在模型的各階段只獲得歷史時(shí)刻的信息,見圖6.
圖6 基于長(zhǎng)短期時(shí)間卷積網(wǎng)絡(luò)的預(yù)測(cè)模型
模型首先對(duì)交通速度和氣象特征的近期趨勢(shì)性進(jìn)行特征提取,經(jīng)實(shí)驗(yàn)得出使用3層TCN效果最佳.其次提取交通速度的周期性特征,將TCN擴(kuò)展間隔設(shè)置為D、W,分別代表每日和每周的時(shí)間序列長(zhǎng)度.最后將二者提取的特征統(tǒng)一維度后相加,經(jīng)過全連接層輸出預(yù)測(cè)結(jié)果Pi,簡(jiǎn)單表示為
Pi=TCN5level(Xtra)+TCN3level(Xwea)
(3)
具體預(yù)測(cè)流程如下.
步驟1將交通速度序列數(shù)據(jù)以滑動(dòng)窗口的方式進(jìn)行處理,窗口大小為12,每次向前滑動(dòng)一個(gè)數(shù)據(jù),即時(shí)間特征數(shù)目為12,預(yù)測(cè)下一個(gè)時(shí)刻的交通速度.
步驟2篩選出相關(guān)性最強(qiáng)的四個(gè)氣象特征,將氣象特征序列直接作為輔助特征.
步驟3對(duì)滑窗處理后的交通速度數(shù)據(jù)和氣象特征數(shù)據(jù)進(jìn)行預(yù)處理并劃分訓(xùn)練集與測(cè)試集.
步驟4將訓(xùn)練集輸入LSTCN模型進(jìn)行訓(xùn)練.
步驟5用訓(xùn)練好的模型預(yù)測(cè)測(cè)試集交通速度大小,使用常用的評(píng)價(jià)指標(biāo)計(jì)算誤差.
廣州道路交通速度數(shù)據(jù)(GZ):由214個(gè)匿名路段(主要是城市快速路和主干道)組成,數(shù)據(jù)采集間隔為10 min.實(shí)驗(yàn)選取2016年8—9月的數(shù)據(jù),其中,前50 d的數(shù)據(jù)用于訓(xùn)練,后11 d的數(shù)據(jù)用于測(cè)試.深圳道路通行速度數(shù)據(jù)(SZ):由羅湖區(qū)156條主干道組成,數(shù)據(jù)采集間隔為15 min.實(shí)驗(yàn)選取2015年1月1—31日的數(shù)據(jù),其中,前24 d的數(shù)據(jù)用于訓(xùn)練,后7 d的數(shù)據(jù)用于測(cè)試.
對(duì)交通速度和篩選后的氣象特征數(shù)據(jù)進(jìn)行歸一化處理,對(duì)數(shù)據(jù)使用了離差標(biāo)準(zhǔn)化,是對(duì)原始數(shù)據(jù)的線性變換,使結(jié)果值映射到[0~1],公式為
(4)
式中:x為交通速度和氣象特征的原始數(shù)據(jù);y為處理后的數(shù)據(jù);xmax為原始數(shù)據(jù)集中的最大值;xmin為其最小值.
選取回歸問題最常用的四個(gè)評(píng)價(jià)指標(biāo),即平均絕對(duì)誤差(MAE),均方誤差(MSE),均方根誤差(RMSE)和平均絕對(duì)百分比誤差(MAPE)對(duì)交通速度預(yù)測(cè)模型進(jìn)行評(píng)價(jià).四個(gè)指標(biāo)的定義為
(5)
(6)
(7)
(8)
式中:N為預(yù)測(cè)值的個(gè)數(shù);Pi為觀測(cè)點(diǎn)的預(yù)測(cè)交通速度值;Fi為對(duì)應(yīng)的真實(shí)交通速度值;MAE,MSE,RMSE,MAPE的值越小,表明模型的預(yù)測(cè)精度越高.
3.3.1TCN隱層節(jié)點(diǎn)數(shù)的確定
隱層節(jié)點(diǎn)數(shù)是決定模型提取數(shù)據(jù)特征能力的重要參數(shù),太少的節(jié)點(diǎn)數(shù)意味著網(wǎng)絡(luò)性能較差;過多的節(jié)點(diǎn)數(shù)雖然能夠減小網(wǎng)絡(luò)的系統(tǒng)誤差,但是會(huì)延長(zhǎng)不必要的訓(xùn)練時(shí)間,甚至出現(xiàn)過擬合.考察了不同隱層節(jié)點(diǎn)下模型的預(yù)測(cè)誤差,結(jié)果見表1.由表1可知:模型的預(yù)測(cè)誤差隨節(jié)點(diǎn)數(shù)的增加而變化,根據(jù)實(shí)驗(yàn)結(jié)果,將TCN隱層節(jié)點(diǎn)數(shù)設(shè)置為64.
表1 不同TCN隱層節(jié)點(diǎn)數(shù)實(shí)驗(yàn)結(jié)果對(duì)比
3.3.2周期性中TCN卷積核大小的確定
為了探究不同周期性數(shù)據(jù)的輸入長(zhǎng)度,即TCN卷積核的大小對(duì)預(yù)測(cè)結(jié)果的影響,在廣州數(shù)據(jù)集進(jìn)行了參數(shù)實(shí)驗(yàn),考慮到模型的運(yùn)算效率問題,將卷積核大小分別設(shè)置為Td={2,3,4},Tw={2,3,4},部分結(jié)果見表2.根據(jù)結(jié)果,最終確定卷積核大小為{3,3}.
表2 不同TCN卷積核大小實(shí)驗(yàn)結(jié)果對(duì)比
3.3.3近期趨勢(shì)性中TCN層數(shù)的確定
對(duì)TCN的層數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,驗(yàn)證結(jié)果見表3.由表3可知,模型的預(yù)測(cè)誤差隨著TCN層數(shù)的增加呈現(xiàn)先下降后上升的趨勢(shì),因?yàn)閷訑?shù)越多參數(shù)量越大,反而難以訓(xùn)練,為了使模型能夠達(dá)到最佳性能,最終確定使用三層的TCN.
表3 不同TCN層數(shù)實(shí)驗(yàn)結(jié)果對(duì)比
3.3.4其他參數(shù)
提取周期性特征的后兩層的擴(kuò)展間隔為每日和每周包含的時(shí)間節(jié)點(diǎn)數(shù)量,深圳數(shù)據(jù)集的擴(kuò)展間隔為{1,2,4,96,672},廣州數(shù)據(jù)集的為{1,2,4,144,1 008}.綜合考慮精度和效率要求,將訓(xùn)練Epoch設(shè)置為500次,批量規(guī)模為128,使用了學(xué)習(xí)率衰減和Adam優(yōu)化.
首先比較了LSTM、GRU、TCN和未考慮天氣因素的LSTCN四種深度學(xué)習(xí)模型的預(yù)測(cè)結(jié)果.LSTM和GRU采用了常規(guī)的三層結(jié)構(gòu),TCN則使用了和本文模型近期趨勢(shì)性相同的三層結(jié)構(gòu),便于對(duì)比.為保證實(shí)驗(yàn)公平性,上述模型使用相同的交通數(shù)據(jù)特征輸入,以及統(tǒng)一的Adam優(yōu)化器.
為了清楚地比較四種深度學(xué)習(xí)模型的預(yù)測(cè)性能,展示了廣州和深圳的預(yù)測(cè)數(shù)據(jù),見圖7.四種模型都能較好地?cái)M合真實(shí)數(shù)據(jù),與LSTM,GRU和TCN模型相比,LSTCN對(duì)速度變化趨勢(shì)的擬合程度要明顯優(yōu)于其他模型.具體來說,在深圳數(shù)據(jù)集上,它的整體預(yù)測(cè)值偏低,對(duì)變化的大趨勢(shì)預(yù)測(cè)精準(zhǔn);在廣州數(shù)據(jù)集上,擬合效果更加優(yōu)秀,特別是在數(shù)據(jù)突變處.
圖7 模型預(yù)測(cè)結(jié)果對(duì)比
為了保證預(yù)測(cè)結(jié)果的穩(wěn)定性,進(jìn)行了多次實(shí)驗(yàn),得到的各項(xiàng)測(cè)試誤差平均值見表4.在本次實(shí)驗(yàn)中,TCN的性能優(yōu)于LSTM和GRU,LSTCN取得了最好的效果.與LSTM模型相比,在廣州數(shù)據(jù)集上的MAE降低了5.4%,RMSE降低了3.5%,MAPE降低了0.21%.
表4 模型預(yù)測(cè)性能比較
圖8為測(cè)試集在訓(xùn)練過程中的均方誤差MSE的變化曲線,可以看出訓(xùn)練開始時(shí)TCN和LSTCN的收斂速度明顯快于LSTM和GRU,后續(xù)訓(xùn)練過程相差不大,都是在抖動(dòng)中緩慢下降.LSTM和GRU都屬于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN模型的變種,所以每個(gè)單元的訓(xùn)練都需要等待前一個(gè)單元的輸出,導(dǎo)致每次訓(xùn)練所消耗的時(shí)間是卷積神經(jīng)網(wǎng)絡(luò)的數(shù)倍,因此在相同epoch次數(shù)下LSTCN的實(shí)際收斂時(shí)間比LSTM和GRU要低,但要高于模型更簡(jiǎn)單的TCN模型.
圖8 測(cè)試集MSE在訓(xùn)練過程中的變化
為了進(jìn)一步說明天氣因素對(duì)交通速度預(yù)測(cè)的影響,驗(yàn)證預(yù)測(cè)模型的有效性,分別用未融合天氣因素的LSTCN預(yù)測(cè)模型和融合天氣因素的LSTCN預(yù)測(cè)模型對(duì)兩個(gè)城市的交通速度做了預(yù)測(cè),并通過常用誤差評(píng)價(jià)指標(biāo)對(duì)預(yù)測(cè)結(jié)果做了對(duì)比,結(jié)果見表5.
表5 融合天氣因素前后預(yù)測(cè)性能比較
由表5可知,融合了天氣因素對(duì)城市交通速度預(yù)測(cè)時(shí)的各項(xiàng)誤差都要小于單靠交通速度數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí)的誤差,提高了預(yù)測(cè)精度.由此可以得出,融合天氣因素之后,有效地改善了交通速度預(yù)測(cè)效果,說明了天氣因素確實(shí)會(huì)影響城市交通速度的預(yù)測(cè),從而驗(yàn)證了預(yù)測(cè)模型的可行性.
針對(duì)天氣因素對(duì)交通速度的影響以及現(xiàn)有方法在超長(zhǎng)時(shí)間序列預(yù)測(cè)精度上的不足,提出一種基于綜合天氣因素的長(zhǎng)短期時(shí)間卷積網(wǎng)絡(luò)的交通速度預(yù)測(cè)模型LSTCN,用于綜合捕捉交通流的時(shí)間特征和外部天氣特征.長(zhǎng)短期時(shí)間卷積網(wǎng)絡(luò)可以并行處理時(shí)間序列,相比常用的循環(huán)神經(jīng)網(wǎng)絡(luò),訓(xùn)練速度快,占用內(nèi)存少.通過反復(fù)試驗(yàn)確定預(yù)測(cè)模型的參數(shù),并與常用的時(shí)間序列預(yù)測(cè)方法進(jìn)行比較,結(jié)果證明我們的預(yù)測(cè)精度和運(yùn)算效率較高.但本文沒有考慮空間特征對(duì)預(yù)測(cè)結(jié)果的影響,今后將利用圖卷積結(jié)構(gòu)對(duì)模型進(jìn)行改進(jìn).