賈百強, 徐延軍,, 周 濤
(1.中遠海運科技股份有限公司,上海 200135;2.上海船舶運輸科學研究所有限公司,上海 200135)
近年來,隨著經(jīng)濟的不斷發(fā)展,我國的人均汽車保有量不斷增加,交通擁堵已成為高速公路中常見的現(xiàn)象。尤其是在節(jié)假日期間,高速公路擁堵現(xiàn)象更為嚴重。因此,預測節(jié)假日期間交通流量的變化趨勢,對于緩解交通擁堵現(xiàn)象,確保路網(wǎng)運行暢通而言具有重要意義。
現(xiàn)有的交通流量預測方法可分為模型驅動的方法和數(shù)據(jù)驅動的方法2種。
1)模型驅動的方法主要解釋交通流量、速度和密度之間的瞬時和穩(wěn)態(tài)關系。這種方法需基于對先驗知識的全面掌握和詳細的系統(tǒng)建模才能實現(xiàn),代表性方法有排隊論模型[1]和交通速度模型[2]等?,F(xiàn)實中,交通數(shù)據(jù)會受多種因素的影響,采用該方法很難得到準確的交通模型。
2)數(shù)據(jù)驅動的方法根據(jù)數(shù)據(jù)的統(tǒng)計規(guī)律推斷交通的變化趨勢,并最終預測和評估交通狀態(tài)。這種方法不分析交通系統(tǒng)的物理特性和動態(tài)行為,具有很強的靈活性,代表性方法有歷史平均模型[3]、自回歸移動平均(Autoregressive Integrated Moving Average,ARIMA)模型[4]、k-最近鄰模型[5]、支持向量回歸(Support Vactor Regression,SVR)模型[6]和神經(jīng)網(wǎng)絡模型等。
目前,傳統(tǒng)的高速公路管理信息化平臺只對收集到的數(shù)據(jù)進行簡單的統(tǒng)計,形成交通評價結果,沒有充分利用數(shù)據(jù)中隱含的更有價值的信息預測未來的交通狀況。流量預測場景大多集中在旅游區(qū)游客流量預測[7]和航空交通流量預測[8]等領域中,高速公路場景下的交通流量預測很少。因此,選擇合適、高效的交通流量預測方法,利用有限的節(jié)假日歷史數(shù)據(jù),適應節(jié)假日流量預測需求,實現(xiàn)快速準確的流量預測,是亟需解決的問題。
基于上述分析,本文提出一種融合時空圖卷積網(wǎng)絡(Spatio-Temporal Graph Convolutional Network, ST-GCN)算法的高速公路節(jié)假日流量預測模型。以寧夏高速公路某區(qū)段為研究對象,對該模型的有效性進行驗證。該模型基于收集到的大量交通數(shù)據(jù),既能在面對高并發(fā)等場景時具有較強的穩(wěn)定性和魯棒性,又能有效利用交通數(shù)據(jù)達到高效準確預測未來時段內(nèi)的交通流量的目的。
該融合ST-GCN算法的高速公路節(jié)假日流量預測模型主要由數(shù)據(jù)預處理、交通流量預測與分析和數(shù)據(jù)展示與共享等3部分組成,見圖1。
圖1 系統(tǒng)總體架構
1)數(shù)據(jù)預處理部分主要是數(shù)據(jù)準備和數(shù)據(jù)清洗,實時收集的數(shù)據(jù)包括業(yè)務數(shù)據(jù)和參數(shù)數(shù)據(jù)。業(yè)務數(shù)據(jù)有出入口收費站數(shù)據(jù)、門架交易數(shù)據(jù)、行車數(shù)據(jù)、基礎路網(wǎng)數(shù)據(jù)和天氣數(shù)據(jù)等;參數(shù)數(shù)據(jù)有模型參數(shù)、預測參數(shù)和路網(wǎng)參數(shù)。對收集的數(shù)據(jù)進行清洗,如缺失值填充、異常值清洗和格式內(nèi)容校驗等。
2)交通流量預測與分析部分主要包括數(shù)據(jù)庫數(shù)據(jù)整合、預測場景、算法模型和模型評價體系。
(1)數(shù)據(jù)庫存放經(jīng)過預處理得到的數(shù)據(jù),通過將數(shù)據(jù)庫中的多源數(shù)據(jù)整合到模型中,提高模型的預測精度;
(2)預測場景包括常規(guī)節(jié)假日場景和特殊場景,模型主要應用于寧夏高速公路中,寧夏除了有常規(guī)的節(jié)假日以外,還有開齋節(jié)和古爾邦節(jié),對應的預測模型也需進行適應性設定;
(3)模型針對高速公路預測場景的時空特性,利用長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡[9]模型處理時序數(shù)據(jù)得到時間特性,利用圖卷積網(wǎng)絡[10](Graph Convolutional Network,GCN)模型捕獲高速公路空間特性,采用注意力機制處理天氣等影響交通狀況的外部因素;
(4)建立模型評價體系,對預測結果與真實數(shù)據(jù)進行比較,計算預測數(shù)據(jù)與現(xiàn)實數(shù)據(jù)之間的誤差和預測的準確度,通過分析發(fā)現(xiàn)模型中存在的問題,結合在線學習不斷對模型進行迭代更新和優(yōu)化調整。
3)數(shù)據(jù)展示與共享部分主要是對預測的數(shù)據(jù)進行展示和對外支撐。對預測到的未來一段時間內(nèi)的車速和交通流量數(shù)據(jù)進行可視化展示,并與過去同時段的數(shù)據(jù)相對比;同時,源數(shù)據(jù)和預測數(shù)據(jù)通過API(Application Program Interface)接口提供共享調用服務。
該模型的技術架構主要分為展示層、訪問層、支撐層和基礎數(shù)據(jù)層,每個層次根據(jù)不同的作用分為不同的功能模塊,采用不同的前沿技術支撐功能,見圖2。
圖2 系統(tǒng)技術架構
1)展示層采用HTML5結合CSS3對預測結果和其他相關信息進行展示,利用canvas技術實現(xiàn)對部分矢量圖像的繪制。對于需要3D立體繪圖的功能,采用webGL進行渲染?;谝陨霞夹g,展示層實現(xiàn)融合監(jiān)控、態(tài)勢預測、統(tǒng)計報表制作和事件報警等功能。
2)訪問層采用Nginx技術提高系統(tǒng)的并發(fā)能力和可靠性,并通過API Gateway對外提供共享數(shù)據(jù)訪問接口。訪問層結合API接口對外展示未來的交通信息,如路側情報板、門架式LED(Light-Emitting Diade)指示屏等。
3)支撐層基于Redis數(shù)據(jù)計算和存儲服務,包括OLAP(On-Line Analysis Processing)分布式文件存儲和分布式搜索引擎等,由TensorFlow為系統(tǒng)預測提供底層算法庫和機器學習框架。支撐層主要對源數(shù)據(jù)進行處理、存儲和計算等操作,對展示層負責,提供高效、高質量的數(shù)據(jù)。
4)基礎數(shù)據(jù)層采用FTP(File Transfer Protocol)方式和SQL(Structured Query Language)方式實現(xiàn)外部數(shù)據(jù)的接入,將各種高速公路收費站數(shù)據(jù)和其他路側設備的監(jiān)測數(shù)據(jù)接入系統(tǒng)中。系統(tǒng)接入多種源數(shù)據(jù),包括出入口收費站流水、門架采集的數(shù)據(jù)、基礎路網(wǎng)數(shù)據(jù)、GIS(Geographic Information System)數(shù)據(jù)、氣象數(shù)據(jù)和實時交通事件等。
高速公路節(jié)假日擁堵預測系統(tǒng)采集的數(shù)據(jù)來自于不同的系統(tǒng)和設備,存在因傳輸受到干擾而導致數(shù)據(jù)出現(xiàn)異常值的問題,以及因不同數(shù)據(jù)來源的標準不同而導致數(shù)據(jù)的格式不一致的問題等,因此需對采集的數(shù)據(jù)進行清洗,清洗過程如下。
1)數(shù)據(jù)格式轉換:對源數(shù)據(jù)進行格式驗證,統(tǒng)一數(shù)據(jù)格式標準。常見的數(shù)據(jù)格式問題有:時間、日期和數(shù)值計數(shù)法等格式顯示不一致;錯誤字符冗余,如字符串首尾存在空格和字符串亂碼等;數(shù)據(jù)類型與該字段所需內(nèi)容不一致,如在天氣數(shù)據(jù)中,一些是用數(shù)字代指天氣類型,一些是以文本的形式描述。對于這些問題,數(shù)據(jù)轉換方法和轉換方式不限于格式化、字符替換和刪除等。
2)缺失值填充:對數(shù)據(jù)中的空值和缺失值進行取數(shù)填充,一般采用前/后值填充、均數(shù)/中位數(shù)填充等方式。
3)異常值處理:采集的數(shù)據(jù)中可能會存在一些明顯不符合實際情況的異常值,如車速為負等,同時還有可能存在不合理的重復值等,一般采用刪除法去重,填充合理數(shù)據(jù)替換異常值。
4)非必要數(shù)據(jù)剔除:接入的多源數(shù)據(jù)中有一部分字段是系統(tǒng)預測不需要的,如收費站數(shù)據(jù)中的交易數(shù)據(jù)等,將這些非必要的數(shù)據(jù)剔除。
ST-GCN模型由GCN和LSTM網(wǎng)絡2部分組成。
1)空間依賴性。
交通量的變化主要取決于高速公路路網(wǎng)的拓撲結構。上游道路的交通狀況通過傳遞效應影響下游道路的交通狀況,下游道路的交通狀況通過反饋效應影響上游道路的交通狀況。同時,高速公路路網(wǎng)不同于圖像,其具有非歐幾里得拓撲結構。在本文研究的寧夏典型高速公路路段中,涉及到的路段有銀繞城高速、京藏高速、青銀高速和銀昆高速等,道路長度約為77.3 km,具體研究區(qū)域見圖3。該區(qū)域內(nèi)涉及到交通樞紐和互通立交,同時道路線性以曲線為主,包含收費站、服務區(qū)、旅游風景區(qū)和飛機場等多種服務屬性,具有典型的寧夏高速公路路網(wǎng)特征。面對當前研究區(qū)域的路網(wǎng)結構涉及到的交通節(jié)點和樞紐較多的復雜路網(wǎng),采用GCN模型提取路網(wǎng)中的空間依賴性。
GCN的主要作用是在考慮相鄰節(jié)點的影響的同時,獲得圖中每個節(jié)點的表示,能對非歐幾里得域中的復雜關系和相互依賴性進行建模。在傅里葉域中構造一臺濾波器,將其作用于圖的節(jié)點及其1階鄰域內(nèi),捕捉節(jié)點之間的空間特征,通過堆疊多個卷積層構建GCN模型。圖3為寧夏高速公路研究區(qū)域示意圖。
圖3 寧夏高速公路研究區(qū)域示意圖
2)時間依賴性。
由于季節(jié)變化可能影響溫度和天氣,進而影響交通,若只使用1個月或幾個月的數(shù)據(jù),則模型不能推廣到不同的季節(jié)應用。同時,若只使用特定時間段的數(shù)據(jù)或只使用工作日的數(shù)據(jù),也會引發(fā)問題,因為模型不能很好地概括到所提供數(shù)據(jù)邊界之外的情況。例如,僅使用07:00—23:00的交通數(shù)據(jù)可能會降低模型在該時段外的性能,而僅使用工作日的數(shù)據(jù)可能會對模型預測周末交通的性能產(chǎn)生不利影響。因此,為綜合考慮季節(jié)變化和每日全時段不同的交通流量變化趨勢,在數(shù)據(jù)集中采用一整年全天全時段的數(shù)據(jù)進行學習訓練。
為應對高速公路交通中時間序列數(shù)據(jù)的長短期依賴性,模型采用LSTM網(wǎng)絡結構。在這種結構中,輸入層與時間序列相關聯(lián),每個隱藏層的LSTM網(wǎng)絡單元的數(shù)量與時間序列的時間步長相關聯(lián)。為確定LSTM網(wǎng)絡層數(shù)和神經(jīng)元數(shù)量,構建更優(yōu)的LSTM網(wǎng)絡結構,分別將LSTM網(wǎng)絡層數(shù)設置為1層、2層和3層,分別將LSTM網(wǎng)絡中的神經(jīng)元數(shù)量設置為100個和200個,進行一系列對比試驗,選取更佳的網(wǎng)絡結構。對比試驗結果見表1。由表1可知:當LSTM網(wǎng)絡層數(shù)增加至3 層時,模型出現(xiàn)過擬合現(xiàn)象,預測精度明顯變差;當LSTM網(wǎng)絡層數(shù)相同時,隨著神經(jīng)元個數(shù)的增加,模型預測結果與實際值的偏差增大,這是由于本文輸入特征不多,神經(jīng)元數(shù)量和LSTM網(wǎng)絡層數(shù)不宜過多。經(jīng)過比較,2層LSTM網(wǎng)絡、100個神經(jīng)元的預測模型更契合本文的試驗數(shù)據(jù),預測精度最高,故選擇該模型進行車速預測試驗。因此,利用2個隱藏層形成一個堆疊的LSTM網(wǎng)絡(見圖4),用于進行異常點檢測。與只有1個隱藏層的LSTM網(wǎng)絡相比,堆疊的LSTM網(wǎng)絡能提高模型學習更復雜特征的性能。
表1 對比試驗結果
圖4 堆疊的LSTM結構
ST-GCN模型能處理復雜的空間依賴性和時間動態(tài)性問題。一方面,利用GCN對高速公路網(wǎng)絡的拓撲結構進行捕捉,得到高速公路網(wǎng)絡的空間相關性;另一方面,利用LSTM網(wǎng)絡捕捉道路交通信息的動態(tài)變化,得到高速公路網(wǎng)絡的時間依賴性。同時,利用注意力機制學習每一時刻交通信息的重要性,計算出能表達交通狀態(tài)全局變化趨勢的上下文向量,用于完成未來的交通流量預測任務。覆蓋全局交通變化信息的上下文向量Ct的計算公式為
(1)
式(1)中:hi為LSTM不同時刻的隱藏狀態(tài);αi為特征向量。
因此,采用ST-GCN算法建模,獲取高速公路節(jié)假日期間的時間特征和空間特征,融合特征信息,預測未來一段時間內(nèi)的多目標信息,模型構建流程見圖5。根據(jù)歷史數(shù)據(jù)和預測情況,給出客觀準確的節(jié)假日流量預測結果,在分析研判系統(tǒng)內(nèi)用于指導路網(wǎng)管控,并在節(jié)假日路段運行分析系統(tǒng)內(nèi)進行展示、對比和評估,為管理者提供相應的管理建議,為出行者提供公路交通類流量預警。
圖5 ST-GCN算法模型構建流程
在該模型中采用交通流量、平均速度和交通流密度等3個交通流參數(shù)作為對高速公路交通流量進行預測的輸出指標。
1)交通流量q是指在單位時間內(nèi)通過某路段的車輛總數(shù),其計算公式為
(2)
式(2)中:N為T時段內(nèi)通過某路段的車輛數(shù)。
2)平均速度是指單位時間內(nèi)通過該路段所有車輛行駛的距離,其計算公式為
(3)
式(3)中:vj為j路段的車輛平均速度;si為第i輛車單位時間內(nèi)行駛的距離;t為設定的單位時間。
3)交通流密度D是指某路段單位時間內(nèi)通過單位距離的車輛數(shù),其計算公式為
(4)
式(4)中:v為車輛速度。
評價因素集是由能用于判斷當前或未來交通狀態(tài)的各種因素組成的集合。在設計融合ST-GCN算法的高速公路節(jié)假日流量預測系統(tǒng)時,根據(jù)特定的場景和業(yè)務需求了解交通狀態(tài)劃分標準,從而建立起相應的評價因素集。
建立評價因素集A,包含交通流量a1、交通流密度a2、平均車速a3和通行方向a4等,其表達式為
A={a1,a2,a3,a4}
(5)
建立評語集M,其是劃分評價因素等級的集合。根據(jù)真實場景中的交通狀況,將評價因素劃分為5個等級(包括自由流、基本暢通、輕度擁堵、中度擁堵和嚴重擁堵),其表達式為
M={m1,m2,m3,m4,m5}={自由流,基本暢通,輕度擁堵,中度擁堵,嚴重擁堵}
(6)
根據(jù)ST-GCN模型輸出的預測結果,結合評價集,對當前節(jié)假日流量進行等級劃分,并在高速公路路側情報板上展示(見圖6),提供未來一段時間內(nèi)的高速公路節(jié)假日流量信息。
圖6 高速公路路側情報板展示
為驗證融合ST-GCN算法的高速公路節(jié)假日流量預測模型的有效性,對模型的預測結果進行驗證。選取寧夏高速公路路網(wǎng)中某路段2020年5月—2021年4月的流量數(shù)據(jù)進行分析,先根據(jù)數(shù)據(jù)編號字段篩選相關數(shù)據(jù)并去除重復的數(shù)據(jù)行,再按時間順序對選取的數(shù)據(jù)進行排序,對缺失流量字段進行插值處理,得到相對完整的試驗組數(shù)據(jù)。由于原始數(shù)據(jù)以5 min為匯聚度,需以天為單位對數(shù)據(jù)進行匯聚,得到每日的交通量。平均速度是評價道路通暢程度最直觀的指標之一,不失一般性,將ST-GCN模型的平均速度預測結果與采用以下基線方法的模型預測結果相對比。
1)ARIMA模型。該模型為統(tǒng)計模型中最常見的一類模型,能實現(xiàn)對時間序列的預測,是在將非平穩(wěn)時間序列轉化為平穩(wěn)時間序列過程中,僅對因變量的滯后值和隨機誤差項的現(xiàn)值和滯后值加以回歸建立的模型。
2)SVR模型[11]。SVR 是一種能用來處理非線性問題和大規(guī)模預測問題的算法,其通過采用歷史數(shù)據(jù)對模型進行訓練,得到輸入與輸出之間的關系,從而對未來的交通數(shù)據(jù)做出預測。
3)LSTM單元模型,詳見第2.1節(jié)。
4)GCN模型,詳見第2.1節(jié)。
5)擴散卷積循環(huán)神經(jīng)網(wǎng)絡(Diffusion Convolutional Recurrent Neural Network,DCRNN)[12]。
利用有向圖的雙向隨機游動捕獲空間依賴,通過編解碼結構和定時采樣捕獲時間依賴。DCRNN 是一個融合了空間依賴性和時間依賴性的交通流預測深度學習框架。
采用ST-GCN模型與基于其他基線方法的預測模型對未來1 h內(nèi)高速公路交通數(shù)據(jù)中的速度指標進行預測,結果見表2。從表2中可看出:ARIMA模型只能處理線性數(shù)據(jù),對非線性數(shù)據(jù)的預測效果很差;SVR模型能有效處理非線性數(shù)據(jù),在高速公路數(shù)據(jù)集中,準確度提高顯著;LSTM模型和GCN模型分別用于捕獲時間特性和空間特性,2個模型的誤差相對于ST-GCN模型來說較高,這證明了ST-GCN模型優(yōu)于具有單一捕獲特性的模型;ST-GCN模型和DCRNN模型同為捕獲時空特性的模型,但ST-GCN模型的預測精度更高,ST-GCN模型相比DCRNN模型ERMS下降約3.31%,準確度提高約3.01%。通過試驗發(fā)現(xiàn),ST-GCN模型在所有評估指標下都有最佳的預測性能,證明了該模型的有效性。
表2 不同預測模型的車輛速度預測結果對比
在實際收集數(shù)據(jù)過程中,不可避免地存在噪聲。為測試ST-GCN模型的抗噪性和魯棒性,開展擾動分析試驗。在試驗過程中,將2種常見的隨機噪聲添加到數(shù)據(jù)中。隨機噪聲服從高斯分布N∈(0,σ2)(σ∈(0.2,0.4,0.8,1.2))和泊松分布P(λ)(λ∈(1,2,4,8,16))。在研究過程中將噪聲矩陣的值歸一化為[0,1]。圖7為高斯擾動分析結果,顯示了在高速公路數(shù)據(jù)集中加入高斯噪聲的結果,其中σ為高斯噪聲分布變化。圖8為泊松擾動分析結果,顯示了在高速公路數(shù)據(jù)集中加入泊松噪聲的結果,其中λ為泊松噪聲分布變化。從圖7和圖8中可看出,各項評估指標幾乎沒有發(fā)生變化,因此ST-GCN模型的魯棒性能通過“不同噪聲設置下的評估指標變化很小,可忽略不計”這一表現(xiàn)得到驗證。
圖7 高斯擾動分析結果
圖8 泊松擾動分析結果
基于寧夏高速公路節(jié)假日期間交通流預測業(yè)務的需求,依托多源數(shù)據(jù)和先進的算法模型,構建了一種融合ST-GCN算法的高速公路節(jié)假日流量預測系統(tǒng),實現(xiàn)數(shù)據(jù)和預測結果共享式調用展示。基于分布式數(shù)據(jù)庫和算法庫,充分利用節(jié)假日歷史交通數(shù)據(jù),并考慮時間、事件、天氣和道路拓撲結構等影響因素,融合分析預測,提供有效、準確的交通流預測信息。同時,通過在線學習,不斷利用最新的交通數(shù)據(jù)完善預測模型,使其預測結果更貼合實際交通態(tài)勢。該融合ST-GCN算法的高速公路節(jié)假日流量預測模型能為高速公路的管理和運營提供數(shù)據(jù)支撐,為高速公路建設提供準確、可靠的決策依據(jù)。