謝 宇,王麗清,徐永躍,姚寒冰
(云南大學 信息學院,云南 昆明 650091)
在短時交通流的預測研究方面,為了取得更精確的預測結果,有的采用在時間序列歷史數據上建立自回歸模型AR、移動平均模型MA,以及基于其上的各種組合和變形時間序列模型[1,2]的方法。也有采用基于相空間重構[3]、自適應遺傳粒子群優化—加權最小二乘支持向量機[4]、K近鄰[5]、神經網絡[6,7],以及深度學習的方法[8,9]等智能預測方法。其中,智能預測方法可更好地描述交通流中的非線性、不確定性,但又帶來大量數據獲取困難,數據去噪、清洗復雜,模型預測失效、算法效率低、計算性能不高等方面的問題。
另一方面,交通流的影響因素復雜而多樣,只基于單一因素、特征和模型預測,往往難以描述其它復雜外部環境因素或突發情況的影響,導致預測結果與現實情況的誤差增大。
因此,有了混合多種模型進行預測的方法[10-12]。例如:Huang等提出了基于支持向量回歸模型與高斯損失函數的短期交通流量預測方法[13]。也有采用建立基于K近鄰的交通擁堵指數預測模型,以適應天氣、節假日、重大活動對交通擁堵帶來的影響[14]?;蛘咴诮煌ㄖ笖禋v史基礎數據的基礎上,對引入天氣和工作日進行回歸分析完成短時交通指數的預測[15]。為解決交通流的時空特征,用卷積神經網絡CNN進行交通流特征提取,繼而結合向量回歸分類器SVR進行流量預測[16]。通過采集每周同一天的交通流數據,結合BP神經網絡和灰色預測模型,通過加權來作為最終預測值等[17]。這些方法,都一定程度結合了多種方法或模型,以適應更復雜的現實情況的變化。但一方面是數據獲取困難,所蘊含的數據相關性具有復雜的非線性,另一方面,對于外部因素,更多地從天氣、節假日等進行考慮,而缺乏基于交管部門特有數據的預測分析。
為了實現對主道路和關鍵卡口,更準確的未來短時路況預測,本文結合差分自回歸移動平均模型ARIMA與CART模型樹,基于所采集的道路卡口視頻實時數據、歷史流量數據,并引入同時段卡口道路管控系統中的突發事故事件數據、天氣數據、節假日/工作日數據,提出并實現了一個對多影響因素敏感的道路車流混合預測模型。
車流量具有高度非線性和不穩定性,導致使用數學統計模型,難以獲得精確的結果。機器學習模型中,人工神經網絡可以準確模擬復雜的非線性系統,但可解釋性不佳,計算速度較慢。
對于由于多種可能的不可控因素發生,所導致的車流預測準確度不高的問題,本文采用結合ARIMA和CART決策樹的方法,構建混合預測模型,在歷史車流數據基礎上,把天氣、節假日、突發事件發生等因素量化后,也作為預測模型的輸入參數,使車流的預測在具有較快計算速度的同時,也能更好地適應其它多種外部因素帶來的影響,以嘗試解決面對突發情況車流預測問題。
差分自回歸移動平均模型ARIMA的實現原理是對非平穩的時間序列,通過若干次差分使其成為平穩序列,以獲得精度較高的預測結果。自回歸差分移動平均模型(ARIMA(p,d,q))通常適用于長期趨勢明顯的序列,其建模的前提是時間序列的平穩性。如果不平穩,解決方法是采用預處理獲得平穩序列,對平穩序列得出預測結果,再做逆操作以取得最終預測結果。
ARIMA的建模過程如圖1所示。

圖1 ARIMA建模過程
對數據平穩性的檢測大多采用單位根檢驗法ADF。檢驗后,假設存在這樣的單位根,那么這段時間序列就是非平穩的,需要通過參數d進行差分處理,處理后再次判斷其平穩性[18]。這樣,將ARIMA(p,d,q)模型轉化為ARMA(p,q)模型,用于后面建模[19]。
通過計算自相關函數(ACF)和偏自相關函數(PACF)可以確定模型的p、q參數值。判別時根據表1完成。
拖尾即k大于p后在0附近波動,但不會恒等于0。出現截尾,則是在大于k后值快速趨近于0。因此,從表1中看出, PACF和ACF中,同時出現拖尾,就可在確定參數p、q的情況下,用ARMA模型完成建模[20]。

表1 不同模型與ACF和PACF的關系
根據表1可以根據ACF圖和PACF圖的具體情況選用的模型確定時間序列模型數后,用最小二乘法完成參數計算。
分類回歸樹CART(classification and regression tree)是由Leo Breiman等提出用于分類或回歸的算法,也是數據挖掘領域內的常用算法之一。其本質是對特征空間的二元劃分,它既可以用于創建分類樹,也可以用于創建回歸樹、模型樹,因而被廣泛應用。
構建時,首先才用二分法完成切分,然后遍歷數據集中的所有特征,選出最優特征,作為數據集分割的判斷依據。因此,特征選擇和剪枝是CART的關鍵。在特征選擇時可采用Gini系數完成判斷。
Gini系數可以用來度量數據的雜亂度,若數據集樣本的系數值越大,則不確定性越大,雜亂度越高,即選為特征。其計算公式如式(1)[21]所示
(1)
其中,D表示數據集全體樣本,n為樣本總數,pi表示每種樣本出現的概率
ΔGini(X)=Gini(D)-GiniX(D)
(2)
在進行特征選擇時,用式(2)計算以特征X劃分后,數據不純度減小的程度,取值最大的X,可得到最優切分。
CART算法核心除了特征選擇外,剪枝是算法的另一個關鍵步驟。CART使用代價復雜度剪枝算法。剪枝時使用的損失函數為式(3)
Cα(T)=C(T)+α|T|
(3)
其中,T為任意子樹,C(T)為預測的誤差,|T|為葉子節點總數。α用于衡量擬合程度和復雜度。
剪枝中,當α從0逐漸增大到達某個閾值α1時,可找到使損失函數值Cα1(T1)最小的子樹T1,存入列表L。然后,再增大α到某個閾值αp時,找到使損失函數值Cαp(Tp)最小的子樹Tp,以此類推,直到α足夠大到子樹T成為根節點,此時從存儲子樹的列表L中通過交叉驗證選出最優子樹,完成剪枝[22]。
本文采用CART模型樹將多屬性因素融入車流量的預測,構造車流預測混合模型。由于模型樹有分段線性建模的優勢,其每個葉節點包含一個線性方程,并且模型樹的葉子節點除線性方程外,也可以是其它的機器學習模型。也因此,模型樹的采用使得本混合預測模型擁有了更強的適應性和更高的預測準確度。
混合預測模型的基本思想是:在基于歷史車流量的預測數據基礎上,用模型樹引入更多的外在影響因素參與最終的預測,提高預測結果對多種外部影響因素的敏感性,提高預測結果的準確度[22]。
多因素混合預測模型的框架如圖2所示。

圖2 混合模型框架設計
(1)基于ARIMA生成預測車流數據1
使用自回歸時序模型ARIMA,基于從交管部門采集得到的歷史車流數據,進行序列擬合,預測并生成未來時間的車流量預測數據1。
(2)引入其它多因素影響因子
這些影響因子包括路口實時車流、天氣、節假日、突發事件。具體描述如下:
1)路口車輛檢測
基于交管局在城市道路口安置的攝像頭實時抓拍的圖片,采用TensorFlow object detection API進行圖片中車輛數目的自動檢測(對于設置有流量監測的路口直接引入實時流量監測數據)。綜合平衡網絡、性能和結果準確性,采取30 s一次的間隔,拍攝5次,得到的數量總和作為下步預測的其中一個影響因子。
2)天氣數據
通過互聯網提供的公共天氣預報數據,獲取未來一段時間的天氣特征,并根據天氣晴朗到惡劣程度按數值范圍10~50進行量化。
3)雙休和節假日
雙休和節假日信息通過查詢日歷,計算出雙休、調休和節假日的具體日期,按工作日、周末雙休、法定節假日將日期特征分為3類,分別按數值10~50范圍完成量化。
4)事件影響系數
事件影響系數用于表示事件對車流的影響程度,默認為1,表示沒有特殊事件發生;當發生事件時,基于歷史車流數據,將事件發生時間段的車流量均值,與日常時間段車流量均值相比,作為該事件的影響系數。
該數據來源于交管部門系統記錄的特殊突發事件,包括事故、施工等。
(3)基于CART模型樹和事件影響系數得出最終預測結果
使用CART模型樹,將預測數據1與所得到的所有外部影響數據通過決策樹與回歸方程進行融合,輸出第二次預測的車流量值,該二次預測結果值即是考慮了多種復雜影響因子的最終預測結果。
根據模型設計思想框架圖,預測的實現步驟如下[22]:
(1)從交管部門所采集的車流數據中,將24小時數據以15 min為單位,切分為96個時間點,得到某段時間的車流量時間序列,記為
T[i]=[time[i],RealData[i]]
其中,time[i]為時間點,RealData[i]為對應的time[i]時刻的實際車流量,i為序號;
(2)將T[i]中的time[i]與RealData[i]作為自回歸時序模型ARIMA的輸入,預測的得到Δt內的車流量數據Predict1[i],加入到T[i]序列中,得到
T[i]=[time[i],RealData[i],Predict1[i]]
(3)交通道路監控攝像頭拍攝的抓拍圖片進行車輛檢測,得到車輛數值,或根據提供的過車流量監測數據得到變量CarNum[i];從天氣預報數據中提取需要預測的未來時間段Δt內的天氣數據,量化后得到Weather[i];按工作日、周末雙休日而非國家法定節假日、國家法定節假日進行數據量化后得到Holiday[i];
依次把車流監測數據CarNum[i]、天氣Weather[i]、節假日數據Holiday[i]加入T[i]中,得到
T[i]=[time[i],RealData[i],Predict1[i],CarNum[i],
Weather[i],Holiday[i]]
(4)基于以上步驟得到的數據集T[i],將其中的特征變量Predict1[i],CarNum[i],Weather[i],Holiday[i]作為自變量,RealData[i]作為因變量,輸入到CART算法模型樹中。樣本數據見表2,訓練得到模型樹每個葉子節點的回歸方程參數,回歸方程如下
Predict2[i]=A0+A1×Predict1[i]+A2×
CarNum[i]+A3×Weather[i]+A4×Holiday[i]
使用得到的模型樹進行預測,得到二次預測值Predict2[i];
(5)檢索交管部門系統中的事故、路段施工等事件信息,對事件影響范圍內的關聯路口,提取預先計算設定的對應事件影響系數,將步驟(4)得到的二次預測值Predict2[i]乘以該事件影響系數,再作為最終預測的車流量數值。

表2 實驗樣本部分數據
為了驗證多因素混合預測模型預測效果,采用的實驗數據為:時間區間2018年9月至2019年1月,該時間段內多因素特征包括:日常工作日、突降暴雨天氣(2018-11-28)、元旦節假日、圍擋事件發生時段(2018-12-18)的典型路段過車流量監測數據和視頻圖像數據(圖3~圖5),共約280萬條過車數據。

圖3 天氣變化突降暴雨時道路部分過車數據

圖4 元旦時道路部分過車信息

圖5 突發事件發生部分圍擋時道路部分過車數據
為了評估本文混合模型的最終效果,采用均方根誤差RMSE(root mean square error)作為評價指標,對比分析模型預測結果與實際值之間的偏差。均方根誤差計算公式如下
為了驗證模型的不同預測效果,基于所提供的真實測試數據,分別對一般工作日、突降暴雨、元旦節假日、圍擋事件發生時間段的車流預測進行了對比,并結合預測結果圖和誤差,對ARIMA模型與本文的多因素混合模型的預測結果進行了比較和分析。
實驗結果如下:比較如圖6和圖7可知:兩種模型在工作日突降暴雨的情況下,模型預測結果與真實車流數據曲線之間,具有較好的一致性,預測結果接近于真實值。
比較如圖8和圖9可知:在元旦法定節假日時段,兩種模型所得到的車流預測曲線,與真實車流曲線之重合度較高。

圖6 工作日時段ARIMA模型預測車流數據與真實數據對比

圖7 工作日時段混合模型預測車流數據與真實數據對比

圖8 元旦時段ARIMA模型預測車流數據與真實數據對比

圖9 元旦時段混合模型預測車流數據與真實數據對比
在橫坐標為35的位置存在車流量的波峰,相對來說,混合模型的預測結果比ARIMA模型預測結果更接近真實車流值。但在橫坐標小于20和大于40的區間,混合模型預測的結果相對來說抖動較大,而ARIMA模型預測的結果較為平滑。分析原因是在節假日的因子量化中采用了經驗值估計的方法,帶來一定誤差影響。
比較如圖10、圖11可知:在道路圍擋施工等事件發生時,由于事件的突發性,ARIMA模型預測曲線保留了沒有事件發生時段的車流量走勢,因此誤差較大。而混合模型預測車流曲線,由于在結果中引入了突發事件影響因子,因此預測結果明顯更接近于真實車流曲線。

圖10 道路施工時段ARIMA模型預測車流數據與真實數據對比

圖11 道路施工時段混合模型預測車流數據與真實數據對比
對兩種模型預測值的在3種狀態下的誤差對比分析見表3。

表3 均方根誤差對比
從上述實驗結果可知,在工作日天氣突變情況下,兩種方法的預測結果差異不大(圖6和圖7),ARIMA模型與混合預測模型的預測效果接近,混合預測值較平緩,對于天氣影響的敏感反應方面不明顯,分析原因應該是對于工作日出行天氣不是主要影響因素,天氣原因造成道路封閉或交通中斷事件發生更可能引起車流的顯著變化。
在元旦等節假日,混合模型預測值在車流高峰時比ARIMA預測值更接近真實值,但抖動較大。
在圍擋特殊事件發生時,混合模型預測值由于引入影響因子,比ARIMA預測結果誤差小,預測更準確。
總的來說,ARIMA模型的預測依據是預測時間之前時間段的車流趨勢,忽略了事件帶來的影響,而混合模型在時序模型的基礎上,加入了各種因素的變化影響,基于模型樹葉子回歸方程再次對預測數據進行計算和修正,降低了均方根誤差,使得預測結果更貼近于真實值。
本文提出的基于ARIMA和CART模型樹的混合預測模型,在時序預測結果數據上,通過模型樹將天氣變化、節假日、突發事件等復雜環境中的多重影響因素量化后,引入到預測模型,使預測結果更能適應復雜、多變的外部環境帶來車流規律變化大的情況。
研究成果將有助于交管部門充分挖掘和應用所掌握的數據,依托先進信息技術方法,開展道路交通管理科研,輔助交管部門進行科學決策,增強對道路的交通協調與控制能力,提高道路通行效率。
根據研究和實驗驗證,從預測結果比較圖和均方根誤差分析,混合預測模型與ARIMA模型相比,混合預測模型在節假日或者突發偶發事件中,可以獲得更好的預測結果。
但是,由于在研究中采用了組合模型,數值傳遞次數的增加可能導致數據計算偏差累積,此外也帶來了計算復雜性的提升。下步的研究一方面是對影響因子的量化和算法做進一步的改進和優化,另一方面將增加對傳入數據的優化處理環節,以進一步提高預測準確性。