劉艷麗 趙卓峰 丁維龍 徐 揚
(1.北方工業大學計算機學院 北京 100043)(2.大規模流數據集成與分析技術北京市重點實驗室 北京 100043)(3.北京易華錄信息技術股份有限公司 北京 100043)
隨著我國高速公路建設和運營業務的發展,對高速路網管理中的交通信息服務、交通誘導、交通管制以及交通擁堵緩解等提出了更高的要求,利用各類高速公路運行數據滿足上述要求以促進路網運營管理和決策水平的提高就成為當前高速公路信息化建設的重點,而高速流量預測則是其中的一個主要研究內容。實時準確的高速流量預測是交通誘導的基礎,對于有效緩解高速交通擁堵,縮短出行時間,降低車輛能耗和環境污染,提高高速公路通行能力與服務水平具有重要的意義。現如今高速公路收費站擁堵現象還較嚴重,采取有效的方法對收費站出入口交通流量進行預測,及時對收費站收費人員的窗口設置、車道的開放進行調控,提高路段的通行能力,是高速公路行業亟待解決的問題。收費站交通流量的有效預測,還可以為收費站車道的設計、收費廣場長度的設計和電子不停車收費系統設施建設提供有力的決策支持,為整個高速公路系統提供運維保障。
現有的對高速公路交通流量的預測多是利用微波車檢器的實測數據對某個斷面或某個路段的預測,很少有對收費站出入口流量進行預測的研究。高速公路聯網收費系統實時上傳的收費數據蘊含著大量有價值的信息,每條收費記錄都包括車輛出入口收費站、車輛出入口時間、車道類型、車輛類型、車牌號等相關信息。收費數據目前主要應用于收費額統計及車流量統計,其價值并沒有充分挖掘。
利用海量的高速聯網收費數據對高速公路收費站出入口交通流量進行短時預測目前存在兩個主要問題:
1)高速聯網收費數據是實時更新、動態增長的,其數據規模之大,對數據處理時效性提出更高的要求。
2)現有預測模型多是離線建模,不能很好地適應短時交通流變化的不確定性,且不能并行處理上百個站點的預測問題。
針對以上問題,本文基于高速公路聯網收費系統的收費數據,利用大數據的技術手段,統計出每個收費站及全網的短時出入口車流量,并從模型識別和參數調整兩方面對傳統的ARIMA預測模型進行優化,利用車流量統計結果和改進的預測模型對多個收費站短時交通流量進行并行預測。
基于實時數據分析的短時交通流預測,其研究受到廣泛關注。迄今為止,已經有許多理論和方法應用于短時預測的研究。
歷史趨勢模型假定交通狀況是周期性發生的,即交通流量在一個交通斷面是以一天為周期重復出現的。該模型利用某路段在一定時間間隔內的舊的交通流量及最新觀察到的交通流量,通過擬合平滑系數得到新的交通流量[1]。雖然該模型可以在一定程度內解決不同時間、不同時段里的交通流變化問題,但靜態的預測不足取,因為它不能解決不確定、非線性和突發的交通狀況時的交通流量預測問題,比如天氣變化、事故等。
神經網絡模型是有大量處理單元(神經元)廣泛互連而成的網絡,是對人腦的抽象、簡化、模擬。該模型通過使用一部分數據來訓練模型,即確定網絡結構,用剩余部分數據進行預測。神經網絡由于其自身特有的自適應和自學習優勢,在實時交通流預測領域的應用很多。文獻[2]提出將遺傳算法的思想引入到粒子群算法中,建立了基于APSO-BP神經網絡的短時交通流量預測模型。文獻[3]提出一種基于改進粒子群算法優化BP神經網絡的預測方法。但神經網絡存在收斂速度慢、容易陷入局部最優解的問題,且訓練過程復雜,需要大量樣本數據進行網絡訓練。
灰色預測模型是一種對含有不確定因素的系統進行預測的模型。通過鑒別系統因素之間發展趨勢的相異程度,即進行關聯分析,并對原始數據進行生成處理來尋找系統變動的規律,生成有較強規律性的數據序列,然后建立相應的微分方程模型,從而預測事物未來發展趨勢的狀況。文獻[4]提出一種基于背景值改進的GM(1,1)短期交通流預測模型以及一個兼顧考慮上下游交通流量的MGM(1,n)短期交通流預測模型。灰色預測模型算法簡單,所需數據少,運算時間短,但該模型更適用于中長期預測。
近年來國內外出現了一些基于組合模型的預測方法,目的是為了發揮各種預測方法各自的優點,克服各自的缺陷,以求得更加理想的預測效果。文獻[5]提出一種基于小波變換、自回歸積分滑動平均模型和人工神經網絡的新型混合預測方法。文獻[6]通過建立單一的GM(1,1)灰色系統理論對傳統的BP神經網絡模型進行改進。文獻[7]針對十字路口的短時交通流量預測問題設計了基于交通流量序列分割和極限學習機組合模型的交通流量預測算法,該算法首先采用K-means對交通流量數據在時間上進行序列分割,然后采用ELM對各個序列進行建模和預測。文獻[8]針對混合交通流中車輛類型的不確定性和隨機性,依據各種車型的車流量變化規律不同的特點,提出一種分車型的流量預測方法,選用改進的時間序列算法對大型車和拖掛車的流量進行預測,選用二次指數平滑法對小客車和中型車的流量進行預測,然后通過車輛折算系數將各車型的流量預測值進行加權求和,從而得到總車流量預測值。
時間序列模型是較為成熟的預測方法之一。時間序列模型最主要的特征是承認觀察值之間的依賴關系和相關性,不僅考慮了觀測數據在時間序列上的依存性,同時也考慮了隨機波動的干擾,它是一種動態模型,能夠應用于動態觀測[9]。自回歸積分滑動平均模型(ARIMA)是一種應用最廣泛的時間序列模型,擁有較高的預測精度[10]。
有關高速數據建模問題的研究很多,但大多都屬于靜態數據模型,只包含一些靜態信息,如高速公路路段信息、收費站位置信息、分中心信息等。但僅用靜態信息描述高速公路并不全面,除了靜態信息,高速公路運營過程中還涵蓋一些動態信息,如收費站過車記錄、道路養護信息、事故信息、氣象信息等。高速公路數據不僅具備空間性質,還具有時間性質[11]。為了更全面地描述高速公路,本文所建立的高速公路數據模型,融合時間概念和空間概念,整合靜態信息和動態信息,構建高速公路時空一體化數據模型。時空一體化數據模型能夠實現三個基本功能,即處理時間維度、空間維度問題;分析歷史數據;預測未來的發展趨勢。
采用面向對象的建模方法構建高速公路時空一體化數據模型,將構成高速公路系統的收費站、路段、收費記錄等元素看成一個個實體,實體的主要特征用屬性來描述,既有空間屬性又有時間屬性。例如:收費站實體具有樁號、經緯度等空間屬性,又有某段時間出口車流量等時間屬性。
聯網收費數據提供了動態的交通流數據,包括出入口收費站、出入口時間、車型等信息。由于數據庫極易受噪聲數據、空缺數據和不一致數據的侵擾,為了提高數據挖掘的質量,必須對數據進行預處理。
收費數據多存在下面的問題:司機進入高速公路后從入口掉頭、司機卡丟失、司機沖卡產生異常數據;機器故障產生壞卡或者收費員發卡時誤操作產生異常數據[12]。
數據預處理方法:對于關鍵字段缺失的異常數據,如沒有出入口時間,選擇剔除。
對于數據格式不規范的異常數據,進行轉化統一。
在數據存儲方面,靜態數據變化少更新慢,存入MySQL數據庫中。收費站收費數據實時更新,動態增長,存入HBase數據庫。
搭建高可用分布式hadoop集群,實現數據的負載均衡,能夠支持高并發用戶訪問的速度。使用MapReduce進行離線計算。MapReduce是一種編程模型,適用于大規模數據集(大于1TB)的并行運算,適合數據被一次寫入和多次讀取的應用。通過運行MapReduce作業處理收費數據,統計出每個收費站及全網的出入口車流量。
本文所研究的是收費站短時交通流量的預測,即對下一決策時刻(t+1時刻)的收費站出入口流量作出短期實時預測。就交通流而言,一般以15min以內為短期,以小時和天為單位計算的預測為中期,以年為單位的為長期預測[13]。為了適應交通控制與交通誘導的實時性要求,本文實驗所選取的流量數據的采樣間隔為5min。
ARIMA模型全稱為自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model,ARIMA),該模型是由博克思(Box)和詹金斯(Jenkins)于20世紀70年代出提出的著名時間序列預測方法,所以又稱為Box-Jenkins模型或博克思-詹金斯法。
其中ARIMA(p,d,q)稱為差分自回歸移動平均模型,AR是自回歸,p為自回歸項;MA為移動平均,q為移動平均項數,d為時間序列成為平穩時所做的差分次數。所謂ARIMA模型,是指將非平穩時間序列轉化為平穩時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現值和滯后值進行回歸所建立的模型。ARIMA模型根據原序列是否平穩以及回歸中所含部分的不同,包括移動平均過程(MA)、自回歸過程(AR)、自回歸移動平均過程(ARMA)以及ARIMA過程。ARIMA模型的建模步驟如下:
步驟1平穩化檢驗:檢驗時間序列的平穩性,必須檢驗序列的均值和方差是否為常數,即序列的自相關函數是否與時間間隔有關,而與此間隔端點的位置無關。若不是常數,進行步驟2,否則進行步驟3。
步驟2差分運算:對序列進行d階差分變換或者其他變換(對時間序列進行自然對數差分變換比較普遍),使其滿足平穩性條件。
步驟3模式識別:計算原序列或者變換后的序列的樣本自相關函數和偏相關函數,憑借統計手段檢驗判斷其相關函數的截尾性、拖尾性和周期性,選擇AR(p)、ARMA(p,q)、MA(q)三種模型中的一種。

圖4 ARIMA模型建模步驟
步驟4參數估計:運用AIC準則確定模型的參數,并根據滯后多項式根的倒數判斷模型是否平穩,同時也要判斷模型的擬合效果和合理性。
步驟5預測及評價:利用所建立的模型進行預測,并評價模型的好壞。
采用傳統ARIMA模型進行短時交通流量預測時存在以下幾點不足:
1)傳統ARIMA模型是采用離線方式建立預測模型,無法根據實時檢測到的交通流量數據對模型參數進行調整,不能很好地適應不確定性強的短時交通流動態預測的要求。
2)該方法在應用于受隨機干擾因素影響大,不確定性強的短時交通流建模、預報的過程中,模型結構辨識和模型檢驗的過程比價繁瑣[14]。
針對傳統時間序列模型的不足,本文從模型識別和參數動態調整兩方面對傳統時間序列模型進行優化,提出一種改進的時間序列模型。
蘇聯科學家Kolmogorov證明:任何一個ARIMA(p,d,q)或ARIMA(0,d,q)過程可以用一個高階的ARIMA(p,d,0)過程表示[15]。ARIMA(p,d,0)模型結構,可以直接使用遞推最小二乘方法進行參數估計,而該方法具有算法簡單、估計精度高、收斂快、魯棒性強和便于在線應用的優點。因此,為了消除模型識別的不確定性,減輕模型識別的繁瑣,本文直接使用ARIMA(p,d,0)模型作為待選模型,只進行模型的定階和參數的估計,提高了算法的效率以及預測的時效性。
由于短時交通流量受隨機干擾因素影響大,具有高度的不確定性、非線性,因此本文所改進的ARIMA模型,每次在進行預測時,都要根據最新的采樣數據重新進行模型定階和參數估計,訓練出適合當前交通狀態的預測模型,實現動態預測。
改進的ARIMA模型建模步驟如下:
步驟1利用ADF單位根檢驗方法對原始流量序列進行平穩性檢驗。若原始流量序列不平穩,進行差分變換,直至新序列通過平穩性檢驗。
步驟2運用AIC準則確定模型的階數,即確定AR(p)模型中p的值,運用最小二乘法進行參數估計。
步驟3運用確定的模型進行交通流量的預測。
步驟4當有新的采樣數據產生時,重復步驟1~3,實現流量的動態預測。
本算法思想已經通過編程實現,自動化運行,效率高,保證了預測的時效性。
實驗使用CentOS 6.6版本的Linux操作系,JDK1.7,mysql-5.6.17。使用 Cloudrea Manager的CDH部署集群,安裝Hadoop、Hbase等組件,實現集群的監控和管理。集群的具體環境如下:集群包含六個節點,其中一個主節點,五個從節點,每個節點都是8G運行內存、100G的主機內存,Hadoop版本為 2.6.0,ZooKeeper版本為 3.4.6,Hbase版本為1.0.3。
實驗中采用的原始數據為河南省所有收費站2017年2月份和2017年4月份兩個月真實收費數據,通過運行MapReduce作業統計出每個收費站點每五分鐘的出口流量和入口流量。
抽取出2017年2月9日~11日和2017年4月18日~20日共計6天的流量結果進行預測模型的驗證,并選用絕對百分比誤差APE(absolute percentage error)、平均絕對百分比誤差MAPE(mean absolute percentage error)和絕對百分比誤差中位數MDAPE(median absolute percentage error)對預測結果效果進行評價。
APE計算公式為

MAPE計算公式為
其中xt為實測值;為預測值,N為預測次數。MDAPE為APE的中位數。
1)樣本數量的選擇
由于樣本量大小會影響序列的平穩性,會對模型的識別、參數的確定產生不同的結果,進而直接影響模型的預測效果,因此樣本序列不能隨意選取。長度較大的樣本序列往往其平穩性也較弱,利用平穩性較弱的樣本序列進行預測難以獲得較高的預測精度,因此樣本序列的長度不宜太大;同時樣本序列的長度也不宜太小,由于交通流量變化具有不確定性和隨機性,較少的樣本序列難以通過平穩性檢驗,而且無法反映交通流的變化趨勢,利用這樣的樣本序列進行流量預測可能會產生較大的預測誤差。
為了得到較優的樣本數量,通過選取不同的樣本量來分析樣本量對車流量預測的影響。選取樣本量S∈[50,800],對2017年4月20日河南省多個收費站每五分鐘(共計288個時間段)的出口流量進行了預測,以MAPE作為評價指標,預測效果如圖2。

圖2 不同樣本數量預測效果
分析圖2發現,當樣本量S較小時,對四個收費站4月20日當天288個時間段的車流量進行預測的MAPE值較高,隨著樣本數量的增加,MAPE先迅速減小然后趨于平穩。觀察得S∈[350,400]時四個收費站的MAPE都能取得較小值,即預測的精度較高,因此樣本量的最佳取值區間S∈[350,400]。考慮到樣本量大的序列更能反映交通流的變化趨勢,故可選擇上述最佳取值區間中的最大值作為最佳樣本量的取值,本文選定最佳樣本數量為400。
2)對比實驗
高速公路工作日與節假日車流量在波動規律以及流量變化方面均存在明顯差異故設置了工作日和節假日的對比實驗。對比實驗分為兩組,第一組實驗對2017年4月20日(工作日)的流量進行預測,第二組實驗對2017年2月11日(節假日)的流量進行預測。
(1)第一組實驗
分別利用改進前后的ARIMA模型對2017年4月20日每5min(共計288個時間段)全網出口流量進行預測,每次預測都選取預測區間前400個時間段的真實車流量數據作為樣本序列。預測效果和絕對百分比誤差分別如圖3、4所示。

圖3 2017.4.20全網流量預測結果

圖4 2017.4.20全網流量預測APE
改進前后兩種模型的各項評價指標如表1所示。

表1 第一組實驗兩種模型評價指標
觀察圖3發現,改進的ARIMA模型比傳統的ARIMA模型,其預測值更接近于真實的車流量數據;觀察圖4發現,改進的ARIMA模型比傳統的ARIMA模型,APE較小且比較穩定;觀察表1發現,改進的ARIMA模型比傳統的ARIMA模型MAPE減少了3.18%,MDAPE較小,運算時間也較短,說明改進后的ARIMA模型充分克服了傳統ARIMA模型的不足,具有較高的預測精度。
(2)第二組實驗
分別利用改進前后的ARIMA模型對2017年2月11日每5min(共計288個時間段)全網出口流量進行預測,每次預測都選取預測區間前400個時間段的真實車流量數據作為樣本序列。預測效果和絕對百分比誤差分別如圖5、6所示。

圖5 2017.2.11全網流量預測結果

圖6 2017.2.11全網流量預測APE
改進前后兩種模型的各項評價指標如表2所示。

表2 第二組實驗兩種模型評價指標
2017年2月11日為節假日,交通流較大。觀察圖5、6以及表2發現,改進的ARIMA模型比傳統的ARIMA模型具有更高的預測精度,說明改進的ARIMA模型不僅適用于工作日,同時適用于節假日,對不同的交通流狀況具有較好的適應性。
本文針對傳統ARIMA預測模型的不足,從模型識別和參數調整兩方面進行了優化,直接使用ARIMA(p,d,0)作為模型識別的結果,并對參數實現動態調整,提出一種改進的ARIMA預測模型。利用實測流量數據對改進前后的模型進行對比實驗,實驗表明,改進的ARIMA預測模型分別應用于工作日和節假日,都取得較好的預測效果,說明該算法對不同的交通狀況具有較好的適應性。