□ 文/宓 恬
城市道路交通狀態(tài)預測系統設計與實現
□ 文/宓 恬
近年來在采集技術不斷突破,各種大數據云計算以及視頻光譜等技術突飛猛進的技術大背景配合下,交通狀態(tài)預測模型在真實環(huán)境下的不斷嘗試與驗證變得更便捷。及時準確的道路交通狀態(tài)預測,能夠成為政府及大眾決策用途的數據支持,進而達到提高城市道路承載能力的的效果,對緩解日益明顯的交通擁堵有著重大的意義。
本文根據導入的數據源:上海市道路數據,在上海市道路交通采集處理發(fā)布系統的基礎上建立交通狀態(tài)預測系統。實現在真實復雜的網絡架構中,依據海量的實時和歷史交通真實數據中建立預測軟件集成。創(chuàng)新性的使用集成大數據計算、GIS技術等一系列計算機技術成果。
系統整體設計
為了達到城市道路交通狀態(tài)自動預測以及預測結果自動發(fā)布的目的,本系統的軟件構架從邏輯上被劃分成以下三個層次,并分別將其定義為采集層、處理層與發(fā)布層。
采集層主要功能是快速路外場數據的實時采集與傳輸,即將交通信息采集設備檢測得到的交通數據按照工程技術要求實時傳輸到交通監(jiān)控中心進行處理。
處理層是軟件構架的核心層,主要功能是經過對數據的處理生成城市道路交通狀態(tài)信息以及對未來交通狀態(tài)進行預測。首先,利用大數據技術,應對原始數據進行數據質量評價,對影響交通狀態(tài)判別算法運行的問題數據應采用合理的方式修補。交通狀態(tài)判別算法根據實時數據輸入生成發(fā)布段交通狀態(tài)判別結果。交通狀態(tài)預測算法根據歷史案例庫和實時的交通狀態(tài)判別結果對未來的交通狀態(tài)進行實時預測并生成預測結果。系統可以根據用戶需求制定不同的發(fā)布策略,決定最終發(fā)布的結果。
發(fā)布層是本系統“窗口”,其主要功能是面向社會公眾提供城市道路交通狀態(tài)實時及預測信息服務。常用的發(fā)布媒介有外場情報板、廣播電臺、電視節(jié)目與網站等。發(fā)布形式通常有文字、圖形與語音等。
由于系統設計的完整性和實現的復雜性,本系統軟件按圖1,分八個灰色模塊實施:
圖1 軟件模塊結構圖
在該系統中,可以看清數據流及整體架構:原始數據修補模塊先將從外場交通參數采集設備所采集的原始交通參數數據進行修改與補充,然后運算處理,生成的間隔為20秒的發(fā)布段行程車速和斷面流量等數據存入原始交通參數數據庫。由于預測系統的數據粒度為3分鐘,因此由原始數據處理模塊將原始的20秒數據處理成3分鐘數據;然后將3分鐘粒度的行程車速和斷面流量數據實時傳遞到交通參數單步預測模塊,同時將這些數據存入歷史案例庫,作為將來的歷史案例數據;交通參數單步預測模塊將從原始數據處理模塊傳過來的發(fā)布段3分鐘粒度行程車速和斷面流量數據處理成交通參數單步(3分鐘)預測結果,存入歷史案例庫;預測參數聚類模塊讀取單步預測中間參數數據,對這些數據中的某些字段進行聚類,然后將聚類結果存入歷史案例庫;交通參數多步預測模塊利用實時的單步預測中間參數數據和歷史案例庫中的發(fā)布段歷史3分鐘粒度行程車速、斷面流量數據以及歷史單步預測數據生成多步預測結果數據;交通預測展示模塊為人機交互界面模塊,當它接收到用戶的命令后立即調用單步預測結果數據和多步預測結果數據,通過短時間的處理后將結果展示給用戶。本章節(jié)將對包含核心大數據技術和算法的預測、預測、展示模塊進行詳細設計描述。
系統詳細設計
系統設計描述
通過本系統用戶可以查詢行程時間預測以及歷史數據對比,本文給出了如圖2所示的系統總體結構設計。
圖2 系統總體結構圖
其中:交通預測展示子系統的主要功能包括:GIS地圖顯示,當前時刻實時預測結果顯示,出行時刻預測結果顯示,歷史行程時間查詢顯示,預測參數對比結果顯示。交通參數單步預測子系統的主要功能包括:交通參數單步預測和預測參數聚類。交通參數多步預測子系統的主要功能是:歷史數據選擇和交通參數多步預測。
數據處理流程
交通預測算法的輸入數據流可以分成三條通道,用圖3表示。
圖3 數據處理流程圖
交通預測展示子系統描述
交通預測展示子系統主要是將預測結果信息通過一定的形式展示給用戶,同時響應用戶的指令。主要包括實時預測結果顯示模塊;出行時刻預測結果顯示模塊;歷史行程時間查詢模塊;預測參數對比結果顯示模塊;地圖顯示模塊(GIS-T)。
預測子系統的模塊組成如圖4:
圖4 展示子系統圖
其中:
●實時預測結果顯示模塊:該模塊主要根據交通參數單步預測和多步預測的數據,利用相關模型實時計算出所選路徑的行程時間預測結果,并通過歷史統計信息,計算出該預測結果的可信度,最后將這些信息展示給用戶。
●出行時刻預測結果顯示模塊:該模塊利用交通參數單步預測和多步預測的數據,將未來30分鐘內任意路徑的預測行程時間值顯示給用戶,同時給出該值的可信度。
●歷史行程時間查詢模塊:該模塊將數據庫中的歷史交通參數真值進行統計,將任意路徑的歷史統計行程時間值顯示給用戶。
●預測參數對比結果顯示模塊:該模塊將歷史交通參數真值與預測結果值進行對比,并將對比結果以曲線的形式展示給用戶。
●地圖顯示模塊(GIS-T):該模塊主要與實時預測結果顯示模塊一起工作,該模塊在地圖上顯示預測結果所對應的路徑。
交通參數多步預測子系統
交通參數單步預測子系統提供未來30分鐘內的交通狀態(tài)預測參數,為交通預測展示子系統提供數據支持。主要包括歷史數據選擇模塊和交通參數多步預測模塊。
模塊組成如下圖5所示:
圖5 多步預測子系統圖
表1 數據字典
其中:
●歷史數據選擇模塊:選擇歷史交通參數真值,以達到加快搜索速度的目的。
●交通參數多步預測模塊:該模塊從歷史數據選擇模塊中獲得歷史交通參數真值數據,同時從數據庫中讀取交通參數單步預測子系統生成的預測中間參數,然后利用非線性回歸等模型計算出交通參數多步預測結果,最后將結果存入數據庫。
●功能描述:利用實時的單步預測中間參數數據和歷史案例庫中的發(fā)布段歷史3分鐘粒度行程車速、斷面流量數據以及歷史單步預測數據生成多步預測結果數據。
數據庫設計
●數據庫
本系統的數據庫采用關系型數據庫,其中主要存儲的數據如表1所示。
圖6 實體關系圖
●邏輯結構設計
數據庫的實體關系圖如圖6所示:
●數據字典
歷史案例庫中共有17張表,其中靜態(tài)配置信息表有2張,動態(tài)信息表13張,中間存儲表有2張。
●物理結構設計
對數據庫服務器的計算能力、存儲能力、容錯能力、通信能力和穩(wěn)定性均有較高的要求。建議數據庫服務器采用CPU主頻>=3.0GHz,內存>=4GB,硬盤>=500GB。采用關系數據庫ORACLE9i/10g作為數據庫管理系統。
●動態(tài)數據存儲設計
系統中有幾類數據是不斷增長的動態(tài)數據:一類是各發(fā)布段交通參數信息(行程時間、流量等),一類是交通參數預測結果數據。
根據現有南北高架數據統計得出各發(fā)布段交通參數信息624M/三個月,交通參數預測結果數據為47M/2天。則整個快速路路網(南北高架,延安高架,內環(huán)高架,中環(huán)高架,逸仙高架)數據增量計算結果如表4-2。
表2 動態(tài)數據占用空間表(本表數據采自上海市道路采集發(fā)布系統)
對于測試環(huán)境,500G的硬盤已經能滿足一年的數據存儲需求。當系統長期運行時,應考慮增加備份的介質,宜在半年左右進行一次全部備份,每周進行增量備份。
●靜態(tài)數據存儲設計
系統的靜態(tài)數據主要是線路和路網的靜態(tài)信息,所占用的空間大致如下表3所示:
表3 靜態(tài)數據占用空間表(本表數據采自上海市道路采集發(fā)布系統)
與動態(tài)增量數據相比,靜態(tài)數據所占的空間非常少。
核心技術模塊實現軟件
該系統簡單精干,相互邏輯清晰,下面列出八個模塊的部分核心軟件,軟件開發(fā)時充分考慮了健壯性及平臺無關性。同時在保證系統效率的前提下,將整體軟件模塊化,分部并行計算,提高了系統的整體效率并降低了軟件開發(fā)及維護的難度。
原始數據修補模塊主要對采集到的實時交通數據進行可用分析及修補,交通狀態(tài)自動判別模塊實現GPS浮動車虛擬小車算法的狀態(tài)實時判別,交通事故自動檢測模塊實現了交通事故的雙截面檢測算法及基于決策樹模型的偶發(fā)性擁堵預測的實現。原始數據處理模塊實現了數據從外部采集誘導發(fā)布系統中的采集和存儲到數據庫的功能,交通參數單步預測模塊實現了優(yōu)化后的卡爾曼濾波算法。預測參數聚類模塊實現了基于歷史庫的數據挖掘與算法模型。交通參數多步預測模塊結合前面交通參數單步預測模塊和預測參數聚類模塊的輸出實現了常發(fā)性擁擠的預測。
1.原始數據修補模塊
本模塊主要對采集到的實時交通數據進行可用分析及修補。
2.交通狀態(tài)自動判別模塊
此模塊實現了GPS虛擬浮動車核心算法。
3.交通事故自動檢測模塊
交通事故自動檢測模塊實現了交通事故的雙截面檢測算法及基于決策樹模型的偶發(fā)性擁堵預測的實現。代碼采用了決策樹C5.0算法。通過分析和訓練海量的歷史數據,生成交通事故決策樹對象,并入庫,當有新的交通事故發(fā)生時,先提取該事件的特征參數,然后基于這些特征參數在決策樹中進行搜索,最終得出交通事故的檢測結果。
4.原始數據處理模塊
原始數據處理模塊實現了數據從外部采集誘導發(fā)布系統中的采集和存儲到數據庫的功能。
5.交通參數單步預測模塊
本模塊實現了優(yōu)化后的卡爾曼濾波算法模型。
6.預測參數聚類模塊
本模塊實現了根據歷史庫數據的特征中聚類模型。代碼為k-means聚類方法核心算法部分代碼。
7.交通參數多步預測模塊
本模塊結合前面交通參數單步預測模塊和預測參數聚類模塊的輸出實現了常發(fā)性擁擠的預測。
8.交通預測展示模塊
本模塊實現了預測系統的交互界面。
城市道路交通狀態(tài)預測系統軟件以上海城市城市道路為數據輸入對象。創(chuàng)新性的結合目前主流的GIS地理信息系統的運用,使應用和操作界面更直觀,信息量更大,操作更便捷。完成后的系統主要實現了兩大功能:路徑行程時間預測結果查詢和交通參數預測結果對比功能。
系統功能設計
路徑行程時間預測結果查詢功能包括:
1.行程時間實時查詢
行程時間實時查詢功能主要實現以當前時刻開始對城市道路上任意可達路徑的行程時間進行實時估計。
2.出行時刻查詢
查詢半小時后的道路狀況,提前預判除了提供信息因此還具備了誘導分流的客觀作用。
3.歷史行程時間查詢
查詢當前時刻歷史上同一時期的交通數據,起到參考判斷的作用。
4.交通參數預測結果對比
作為宏觀決策和判斷的輔助手段,可以提供任意時間不同參數要求下的預測結果對比,以作為分析和誘導的參考。
系統功能實現
如下圖7所示,應用系統算法已經表述,這里僅簡單介紹查詢及展示的系統界面。
圖7 使用界面展示圖(本圖由上海市道路交通預測系統中導出)
圍繞城市道路交通狀態(tài)預測技術的應用:建立交通狀態(tài)預測系統。導入的數據源為上海市道路數據,系統軟件共由八個部分組成,能夠進行系統覆蓋路段范圍內的路徑行程時間預測并進行結果查詢和交通參數預測的展示的功能。為及時把握道路交通狀態(tài)的發(fā)展態(tài)勢和服務于社會公眾出行提供了重要的應用支持,促進了交通狀態(tài)信息服務由傳統的“被動式”實時信息的發(fā)布向“主動式”智能預測的新方向發(fā)展。
作者單位:上海市政工程設計研究總院(集團)有限公司