王博文,王景升
(中國人民公安大學(xué) 交通管理學(xué)院,北京 100038)
機動車是人們生活中的重要出行方式之一。近年來,機動車數(shù)量的急劇增加導(dǎo)致交通擁堵、噪音及尾氣排放問題日益嚴(yán)重,給相關(guān)部門的管理工作造成了極大壓力。為實現(xiàn)準(zhǔn)確的交通控制與交通誘導(dǎo),構(gòu)建科學(xué)理性的管控機制,智能交通系統(tǒng)(Intelligent Traffic System,ITS)應(yīng)運而生。ITS是解決緩解交通擁堵、提升道路通行能力的有效途徑,而對交通流量參數(shù)進行較為準(zhǔn)確的預(yù)測工作是輔助ITS進行長、短期決策任務(wù)的關(guān)鍵。
短時交通流量預(yù)測是近年來的熱點話題,早期的研究學(xué)者多使用統(tǒng)計學(xué)模型、機器學(xué)習(xí)模型及基準(zhǔn)深度學(xué)習(xí)模型進行建模。統(tǒng)計學(xué)模型如季節(jié)性自回歸積分滑動平均(Autoregressive Integrated Moving Average,ARIMA) 、卡爾曼濾波模型、指數(shù)平滑模型等[1]。Williams等[2],開發(fā)了一種適用于季節(jié)性時間序列的ARIMA模型,并使用交通數(shù)據(jù)集對其進行測試,結(jié)果顯示ARIMA的效果優(yōu)于K鄰近、歷史平均等模型。Kumar等[3]設(shè)計實現(xiàn)了一種基于卡爾曼濾波技術(shù)的預(yù)測方案,并證實了這種技術(shù)在小樣本量的交通流量預(yù)測任務(wù)中的表現(xiàn)優(yōu)于ARIMA。機器學(xué)習(xí)模型如支持向量機(Support Vector Regression,SVR)[4]、K鄰近[5]、貝葉斯網(wǎng)絡(luò)等。Smola等[6],概述了SVR用于時間序列預(yù)測的過程以及對大型數(shù)據(jù)集的處理方案?;鶞?zhǔn)深度學(xué)習(xí)模型如長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)、門控循環(huán)單元(Gated Recurrent Unit,GRU)等[7-12]。Ma等[13]將LSTM用于交通微波參測器采集的車輛行駛速度的預(yù)測上,并將其與流行的參數(shù)與非參數(shù)模型進行對比,得到LSTM在長時間序列的預(yù)測上表現(xiàn)出卓越的效果。Vinayakumar等[14]驗證了循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體模型在交通流量預(yù)測中的效果,試驗證明,LSTM等模型表現(xiàn)良好。但是統(tǒng)計學(xué)及機器學(xué)習(xí)模型大多都基于時間序列的變化趨勢平穩(wěn)性假設(shè),基準(zhǔn)深度學(xué)習(xí)模型忽略了交通流量序列的時空特性。
為了同時考慮交通流量序列的時空特性,一些能夠捕捉空間特征的模型被用于交通流量預(yù)測任務(wù)。Ma等[15]將交通網(wǎng)絡(luò)構(gòu)建為網(wǎng)格形式,并使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)抽象地對網(wǎng)絡(luò)范圍內(nèi)的交通速度進行預(yù)測。隨著研究的深入,圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)與圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Network,GCN)被用來彌補CNN模型空間處理能力的不足,GNN,GCN可以處理圖結(jié)構(gòu)的數(shù)據(jù),更適合道路網(wǎng)絡(luò)的建模。Lu等[16]首次將圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)與LSTM進行結(jié)合并應(yīng)用于交通速度預(yù)測任務(wù),使用GNN捕捉時空相關(guān)性。Lü等[17]GCN使用將路網(wǎng)構(gòu)成圖結(jié)構(gòu),并使用循環(huán)神經(jīng)網(wǎng)絡(luò)同時對時空特征進行學(xué)習(xí),模型效果相對于對照組提升了3%到6%,證明了空間特征對于交通流量預(yù)測任務(wù)的有用性。Zhao[18]使用GCN對路網(wǎng)的空間特征進行捕捉并將其與現(xiàn)有基準(zhǔn)模型進行試驗對比,驗證了使用GCN的有效性。但是GNN,GCN均不允許為鄰居中的不同節(jié)點指定不同的權(quán)重,限制了模型對于空間信息相關(guān)性的捕捉能力。
圖注意力網(wǎng)絡(luò)(Graph Attention Networks,GAT)能夠根據(jù)鄰居節(jié)點特征的不同,使其得到不同的權(quán)重,以改變信息的聚合方式,提升模型對于空間的表達(dá)能力。同時,GNN,GCN均只適用于處理無向圖,GAT所處理的圖無需是無向的。GAT處理下的目標(biāo)節(jié)點只與其共享邊的節(jié)點有關(guān),在進行訓(xùn)練時無需得到整張圖的信息,訓(xùn)練時間得以縮短。使用GAT獲取鄰居信息后將數(shù)據(jù)輸入標(biāo)準(zhǔn)卷積結(jié)構(gòu)用于在時間維度上進一步合并時間步信息。
除此之外,交通流序列包括交通流量、速度、占有率等多個因素,各個因素之間相互影響,準(zhǔn)確進行交通流量預(yù)測要充分挖掘交通流量序列之間的非線性關(guān)系。
基于此,本研究提出一種基于圖注意力網(wǎng)絡(luò)的交通流量時空預(yù)測模型,命名為ST-GATC。主要的貢獻(xiàn)點如下:
(1)同時考慮了時空維度。將交通網(wǎng)絡(luò)建模為有向圖的形式,提高了拓?fù)浣Y(jié)構(gòu)的可解釋性。使用圖注意力網(wǎng)絡(luò)及標(biāo)準(zhǔn)卷積分別對空間、時間維度進行特征提取,在使用圖注意力網(wǎng)絡(luò)時采用多頭注意力機制,提高了模型的預(yù)測效果。
(2)在輸入層,同時將多個交通流量變量作為輸入,挖掘交通流量序列中的非線性關(guān)系,以提高模型的擬合效果。
(3)在模型評價方面,將多個模型作為對照組,試驗結(jié)果表明,ST-GATC模型對于交通流量序列的擬合效果優(yōu)于對照組模型。
對于道路網(wǎng)絡(luò)中的節(jié)點進行信息聚合時,應(yīng)當(dāng)考慮到相鄰接點的可達(dá)性及上下游關(guān)系的影響。因此本研究將道路網(wǎng)絡(luò)建模為有向圖結(jié)構(gòu),定義邊集為E,頂點集為V,得到路網(wǎng)的拓?fù)浣Y(jié)構(gòu)為G=(V,E)。定義圖的鄰接矩陣為A,則Gt=(Vt,E,A)為第t個時間步時的圖,Vt為其點集。節(jié)點為n的圖的鄰接矩陣A表示為:
(1)
式中,aij為節(jié)點i與j的可達(dá)性及上下游關(guān)系;若節(jié)點i為j的上游節(jié)點,則aij=1,aji=0。
ST-GATC模型的結(jié)構(gòu)如圖1所示。ST-GATC模型的輸入層為多個交通流量因素的輸入,數(shù)據(jù)順序通過時間模塊、空間模塊及輸出層后計算預(yù)測值與真實值的距離不斷更新網(wǎng)絡(luò)中的參數(shù)。
圖1 ST-GATC模型的結(jié)構(gòu)Fig.1 Structure of ST-GATC model
交通流量序列包括交通流量、占有率、平均速度等多個因素,各個因素之間相互影響,準(zhǔn)確進行交通流量預(yù)測要充分挖掘交通流量序列之間的非線性關(guān)系。本研究將交通流量、平均速度、時間占有率同時納入模型,以挖掘交通流量多個特征之間的非線性關(guān)系,對交通流量進行準(zhǔn)確預(yù)測。
在時間維度采用標(biāo)準(zhǔn)的一維卷積對時間步的特征進行聚合。相比于LSTM,GRU模型,一維卷積在訓(xùn)練時不依賴于之前的輸出,不需要迭代,計算量較小,時間復(fù)雜度低。一維卷積操作原理如圖2所示。
圖2 一維卷積操作Fig.2 One-dimensional convolution operation
設(shè)輸入數(shù)據(jù)為X,每個頂點的特征長度為Ci,時間步長為M。沿著時間維度在無padding的情況下進行大小為一維的卷積操作,將輸入的X映射為矩陣Y,時間維度的輸出為:
Y=Conv(X)。
(2)
GNN,GCN均不允許為鄰居中的不同節(jié)點指定不同的權(quán)重,限制了模型對于空間信息相關(guān)性的捕捉能力。GAT可以采用注意力機制使鄰接節(jié)點根據(jù)自身特征的不同得到不同的權(quán)重。
因此在空間維度使用GAT對有向圖進行處理,并使用多頭自注意力機制使每個注意力機制分別處理一個子空間,為目標(biāo)節(jié)點的不同鄰接節(jié)點分配不同的注意力權(quán)重,降低模型的過擬合風(fēng)險,提高模型對于空間維度的表達(dá)能力。GAT模型的結(jié)構(gòu)如圖3所示。
圖3 GAT模型的結(jié)構(gòu)Fig.3 Structure of GAT model
將時間模塊的輸出Y作為空間模塊的輸入:
Y={y1,y2,…,yN},
(3)
式中yN為節(jié)點N經(jīng)時間模塊輸出后的特征向量。
空間模塊的輸出為:
(4)
設(shè)將輸入特征轉(zhuǎn)化為輸出特征的權(quán)重矩陣W,則節(jié)點j在節(jié)點i上的注意力值為:
eij=a(Wyi,Wj),
(5)
式中a(·)為計算節(jié)點相關(guān)性的函數(shù)。
使用LeakyReLU函數(shù)對其進行激活:
eij=LeakyReLU(aT[Wyi‖Wyj])
,(6)
式中LeakyReLU(·)為激活函數(shù)。
求出節(jié)點i所有鄰接節(jié)點的注意力值,使用softmax函數(shù)對注意力權(quán)重進行歸一化操作:
αij=softmax(eij)=
(7)
式中,LeakyReLU(·)為激活函數(shù);a為待學(xué)習(xí)的向量;aT為向量a的轉(zhuǎn)置;‖為拼接操作。
通過圖注意力層,使用加權(quán)求和的方法進行特征提取,模型的輸出結(jié)果為:
(8)
式中,σ(·)為激活函數(shù);αij為節(jié)點i在節(jié)點j上的注意力值。
若使用多頭注意力網(wǎng)絡(luò),則獨立計算k組注意力系數(shù)后進行平均。模型的輸出結(jié)果為:
(9)
式中αkij為節(jié)點i在節(jié)點j上第k組注意力值。
輸出層是一個全連接層,最終預(yù)測結(jié)果為:
(10)
式中,Y′為空間模塊的輸出;w為全連接層的參數(shù)矩陣;b為偏置。
損失函數(shù)是預(yù)測值和真實值的距離度量:
(11)
數(shù)據(jù)來源于美國加利福尼亞州,取洛杉磯市第4區(qū)高速公路中307個檢測點的數(shù)據(jù)作為本研究的樣本,簡稱PEMS-04,交通流量因素包括交通流量、速度、時間占有率,采樣時間間隔為5 min。
數(shù)據(jù)規(guī)約。以5 min為樣本時間間隔對數(shù)據(jù)進行匯集,處理后每天包含288個時間切片。數(shù)據(jù)輸入模型前使用min-max歸一化將交通流量數(shù)據(jù)映射到[0,1],在經(jīng)過訓(xùn)練及測試后將預(yù)測結(jié)果反歸一化后進行輸出。設(shè)x為交通流量原始數(shù)據(jù),xmin為某個交通流量字段的最小值,xmax為上述同一個交通流量字段的最大值,則標(biāo)準(zhǔn)化后的數(shù)據(jù)為:
(12)
建立道路網(wǎng)絡(luò)時空有向圖。通過分析道路網(wǎng)絡(luò)中各節(jié)點之間的可達(dá)性及上下游關(guān)系,通過使用鄰接矩陣,將道路網(wǎng)絡(luò)中307個節(jié)點相關(guān)聯(lián)構(gòu)建時空有向圖。
劃分訓(xùn)練集和測試集。使用前45 d的數(shù)據(jù)作為訓(xùn)練集,后14 d的數(shù)據(jù)作為測試集。
3.3.1 模型的參數(shù)設(shè)置
文中深度學(xué)習(xí)模型的建立均使用Python語言、Pytorch框架。本研究提出的模型ST-GATC使用反向傳播機制,數(shù)據(jù)經(jīng)過預(yù)處理模塊后進入輸入層,輸入層維度為2;對于時間模塊,數(shù)據(jù)經(jīng)過一個卷積核為(1,3),輸出通道數(shù)為64的標(biāo)準(zhǔn)卷積,在無padding的情況下進行卷積操作;對于空間模塊,輸入通道數(shù)為6×64,隱藏層通道數(shù)為6,輸出層通道數(shù)為2,注意力頭數(shù)為3。
對照組模型的隱藏層個數(shù)均為1。深度學(xué)習(xí)模型的Beach size均為64,損失函數(shù)為MSE,學(xué)習(xí)率為0.001,Epoch為1 000,其他參數(shù)均為默認(rèn)值。
3.3.2 模型的評價指標(biāo)
(14)
(15)
3.3.3 試驗結(jié)果
使用PEMS-04數(shù)據(jù)集對各個模型的效果進行實例驗證。分別使用試驗組與對照組模型對數(shù)據(jù)進行訓(xùn)練、測試后,模型在測試集上的RMSE與MAE詳見表1。對照組模型的輸入因素均為交通流量,試驗組ST-GATC模型的輸入維度為2,分別為交通流量、平均速度。
表1 試驗組與對照組模型在測試集上的RMSE與MAE值Tab.1 RMSE and MAE values of experimental and control models on test set
在PEMS-04數(shù)據(jù)集上,與對照組模型相比,ST-GATC模型的RMSE降低了約0.571~9.288,MAE降低約0.314~7.678,證明了ST-GATC模型在交通流量預(yù)測任務(wù)上具有較為優(yōu)秀的性能。除此之外,相較于僅考慮空間維度建模的GCN,GAT,ST-GATC模型擁有更小的RMSE與MAE,說明時間維度建模的有效性。包含注意力機制的圖結(jié)構(gòu)網(wǎng)絡(luò)GAT在預(yù)測效果上要優(yōu)于不包含注意力機制的圖結(jié)構(gòu)網(wǎng)絡(luò)GCN,說明了使用注意力機制后模型的預(yù)測效果有所提升。相較于僅考慮時間維度相關(guān)性的RNN,LSTM,GRU,ST-GATC模型的擬合效果更好,證明了空間維度建模的有效性。
各個模型的擬合曲線分別如圖4所示。由圖4得,不論在交通流量序列的波峰還是波谷,相較于對照組模型,ST-GATC模型的預(yù)測曲線都能夠更好地與交通流量的真實值曲線相擬合。
圖4 各個模型在一個節(jié)點上的測試集上的擬合曲線Fig.4 Fitting curves of each model on test set at one node
3.3.3.1 注意力頭數(shù)試驗
在PEMS-04數(shù)據(jù)集上,通過注意力頭數(shù)試驗驗證ST-GATC模型注意力頭數(shù)選取的合理性。設(shè)置ST-GATC模型的輸入維度為2;卷積核大小為3,時間維度輸入為2,分別是交通流量、平均速度,隱藏層神經(jīng)元個數(shù)(時間維度輸出個數(shù))為64;空間維度輸入層通道數(shù)為6×64,隱藏層通道數(shù)為6,輸出層通道數(shù)為2,注意力頭數(shù)分別設(shè)置為1,2,3,5,16。ST-GATC模型的RMSE,MAE值詳見表2。
表2 注意力頭數(shù)分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果Tab.2 Evaluation result of ST-GATC model when numbers of attention heads are set to specific values
對注意力頭數(shù)分別設(shè)置為1,2,3,5,16時ST-GATC模型的評價結(jié)果進行可視化分析,RMSE及MAE值的趨勢分別如圖5、圖6所示。
圖5 注意力頭數(shù)分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果(RMSE) Fig.5 Evaluation result (RMSE) of ST-GATC model when numbers of attention heads are set to specific values
圖6 注意力頭數(shù)分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果(MAE)Fig.6 Evaluation result (MAE) of ST-GATC model when numbers of attention heads are set to specific values
圖5、圖6得,模型的RMSE,MAE值隨著注意力頭數(shù)的增加呈現(xiàn)出先下降后上升的趨勢,當(dāng)注意力頭數(shù)為3時模型的RMSE與MAE值均為最低,模型的預(yù)測效果優(yōu)秀,因此注意力頭數(shù)選取3。
3.3.3.2 神經(jīng)元數(shù)量試驗
在PEMS-04數(shù)據(jù)集上,通過神經(jīng)元數(shù)量試驗驗證ST-GATC模型神經(jīng)元數(shù)量選取的合理性。設(shè)置模型的輸入維度為2;卷積核大小為3,時間維度輸入為2,隱藏層神經(jīng)元個數(shù)(時間維度輸出個數(shù))分別為8,64,128,256;空間維度輸入層通道數(shù)對應(yīng)分別為6×8,6×64,6×128,6×256,隱藏層通道數(shù)為6,輸出層通道數(shù)為2,注意力頭數(shù)分別設(shè)置為3。神經(jīng)元數(shù)量試驗結(jié)果詳見表3。
表3 神經(jīng)元數(shù)量分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果Tab.3 Evaluation result of ST-GATC model when numbers of neurons are set to specific values
神經(jīng)元數(shù)量分別設(shè)置為8,64,128,256時,ST-GATC模型的評價結(jié)果進行可視化分析,RMSE及MAE值的趨勢分別如圖7~8所示。由圖7~8得,模型的預(yù)測效果隨著神經(jīng)元數(shù)量的增加呈現(xiàn)出先下降后上升再下降的趨勢,當(dāng)神經(jīng)元數(shù)量為64時模型的RMSE與MAE值均為最低,因此神經(jīng)元數(shù)量選取64。
圖7 神經(jīng)元數(shù)量分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果(RMSE)Fig.7 Evaluation result (RMSE) of ST-GATC model when numbers of neurons are set to specific values
圖8 神經(jīng)元數(shù)量分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果(MAE)Fig.8 Evaluation result (MAE) of ST-GATC model when numbers of neurons are set to specific values
3.3.3.3 因素數(shù)量試驗
在PEMS-04數(shù)據(jù)集上,通過因素數(shù)量試驗驗證ST-GATC模型因素數(shù)量試驗選取的合理性。模型的輸入維度分別為1,2,3,輸入維度為2時,分為輸入因素為交通流量和時間占有率,記為2_VO,輸入因素為交通流量和平均速度,記為2_VS;卷積核大小為3,時間維度輸入對應(yīng)分別為1,2,3,隱藏層神經(jīng)元個數(shù)(時間維度輸出個數(shù))為64;空間維度輸入層通道數(shù)為6×64,隱藏層通道數(shù)為6,輸出層通道數(shù)分別為1,2,3,注意力頭數(shù)設(shè)置為3,因素數(shù)量試驗結(jié)果詳見表4。
表4 模型的輸入維度分別設(shè)置為特定值時,ST-GATC模型的評價結(jié)果Tab.4 Evaluation result of ST-GATC model when input dimensions of e model are set to a specific values
模型的輸入維度分別為1,2,3時,ST-GATC模型的評價結(jié)果進行可視化分析,RMSE及MAE值的變化趨勢分別如圖9~10所示。
圖9 模型的輸入維度為特定值時,ST-GATC模型的評價結(jié)果(RMSE)Fig.9 Evaluation result (RMSE) of ST-GATC model when input dimensions of model are set to specific values
圖10 模型的輸入維度為特定值時,ST-GATC模型的評價結(jié)果(MAE)Fig.10 Evaluation result (MAE) of ST-GATC model when input dimensions of model are set to specific values
由圖9~10得,模型的擬合效果隨著輸入維度的不同而變化,在輸入維度為2,即交通流量、平均速度時模型具備較低的RMSE及MAE,因此模型的輸入維度選取2,即將交通流量、平均速度納入模型。
綜上所述,ST-GATC模型在輸入維度為2,即交通流量、平均速度,注意力頭數(shù)為3,隱藏層神經(jīng)元個數(shù)為64時具備較為優(yōu)秀的預(yù)測效果,所以依照該方法選定模型參數(shù)。
本研究構(gòu)建了一種有效的交通流量時空預(yù)測模型,命名為ST-GATC,并將多個模型作為對照組進行試驗驗證。
(1)同時考慮了時空維度。將交通網(wǎng)絡(luò)建模為有向圖的形式,提高了拓?fù)浣Y(jié)構(gòu)的可解釋性。使用圖注意力網(wǎng)絡(luò)及標(biāo)準(zhǔn)卷積分別對空間、時間維度進行特征提取,在使用圖注意力網(wǎng)絡(luò)時采用多頭注意力機制,提高了模型的預(yù)測效果。
(2)在輸入層,同時將多個交通流量變量作為輸入,挖掘交通流量序列中的非線性關(guān)系,以提高模型的擬合效果。
(3)在模型評價方面,將多個模型作為對照組,試驗結(jié)果表明,ST-GATC模型對于交通流量序列的擬合效果優(yōu)于對照組模型。