林蒙蒙,覃錫忠,賈振紅,祁欣學
(新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046)
智能交通系統是智能城市的重要組成部分,準確預測交通流在現代交通系統中具有重要意義。在目前的研究中,交通流預測多是采用歷史交通流來進行預測,然而交通是一個復雜的系統,會受到很多因素的影響,對此,有些學者將多因素引入,Wu等[1]通過挖掘周期性和道路空間特征,提出了一種基于深度神經網絡的交通流預測模型。Zheng等[2]考慮天氣條件和道路結構的影響,提出了一種基于深度嵌入學習的多因素交通流預測模型,并取得了很好的效果。在這基礎上,越來越多的學者將數據挖掘技術引入并結合多因素來預測交通流,Tang等[3]將聚類方法與時空相關性結合,對交通流進行預測。Mur?a等[4]提出了一種基于多因素多層聚類分析的概率模型,實現對機場交通流的預測,實驗結果表明,在交通流預測中,通過引入聚類算法,預測精度具有明顯的提升。然而在目前引入聚類的交通流預測模型中,在聚類時并未考慮到不同因素對交通流有著不同的影響程度,將其放在同一重要程度上進行聚類,這使得聚類結果和真實情況產生偏離。針對這一問題,本文引入時間序列因果分析方法,將前一時刻的占用率和車速作為下一時刻交通流的影響因素,分別對各因素和交通流進行因果分析,將因素對交通流的影響程度進行量化,從而根據每種因素的重要程度加權,再對交通流進行聚類,使得聚類結果更具客觀性和真實性。
本文采用時間序列因果分析方法來量化因素對交通流的重要程度。時間序列因果分析多應用于金融、醫學領域,Bekiros等[5]采用轉移熵來探索股票與市場之間的因果關系。Hu等[6]利用Copula格蘭杰方法對神經脈沖序列進行因果分析。其中,因果分析方法主要分為線性因果分析和非線性因果分析兩大類,由于交通流具有明顯的非線性特性,因此本文采用非線性因果分析。對于非線性時間序列因果分析方法,目前主要有3類,包括格蘭杰因果分析、基于狀態空間的因果分析、基于信息度量的因果分析。其中格蘭杰因果分析是參數化的,在非平穩情況下適用性較差,且只能定性分析;基于狀態空間的因果分析對滯后時間和嵌入維數具有很強的依賴性;而基于信息度量的因果分析具有非參數化、可定量分析的優點[7],因此,本文采用信息度量的分析方法,該方法主要包括轉移熵、條件熵、條件互信息以及它們的改進方法等,其中改進方法符號轉移熵(STE)具有無模型,對數據分布不做任何假設,且可直接應用于非平穩時間序列的優點[8,9],同時考慮到交通流的非線性和非平穩性,本文引入符號轉移熵對各因素和交通流進行因果分析,并用因果關系衡量各因素的重要程度。
在根據因果分析結果對各因素加權之后,需要對交通流進行聚類,K-Means作為最流行的聚類算法,與其它聚類算法相比,具有思想簡單,計算高效,聚類效果好的優點,因此得到廣泛應用。然而在K-Means算法中,初始類中心的隨機選擇對聚類結果會產生很大的影響[10],對此,本文采用K-Means++聚類算法,利用其盡可能遠的選擇初始類中心的思想,以此來代替對初始類中心的隨機選擇[11]。
對于預測模型,在現實世界中,時間序列很少有純粹的線性或非線性,通常既包含線性特征又包含非線性特征,且單一模型不可能在任何情況下都是最佳的,通過組合不同的模型,可以增加捕獲數據中不同模式的機會。同時,在實踐中往往很難確定所研究的時間序列是由線性或非線性的潛在過程產生的;因此,將線性模型與非線性模型相結合,可以有效地解決模型選擇問題[12]。對此,本文在聚類后,對于每一類交通流分別建立線性與非線性的組合模型。對于線性模型,由于LASSO模型具有特征選擇和稀疏性的特點[13],因此本文采用LASSO模型來捕捉線性特征。對于非線性模型,由于ELM具有高效的計算速度和較好的泛化能力[14]。本文采用ELM模型來學習非線性特征。最后利用ELM非線性聚焦機制,對線性模型和非線性模型進行結合,探索二者預測結果與最終預測結果之間潛在的非線性關系,從而產生最終預測。
因此,本文主要的貢獻如下:
(1)提出一種框架:根據對占用率和車速的聚類,針對每類交通流挖掘其線性與非線性特征,從而對每一種交通流產生特有的預測;
(2)同時在聚類中,由于考慮到每種因素對交通流的影響程度不同,本文引入非線性時間序列因果分析方法,將各因素與交通流因果分析的結果作為依據,對每種因素進行加權,使得聚類結果更具有客觀性和真實性。
本文引入的因素是前一時刻的車速和占用率,首先分別對車速和交通流、占用率和交通流進行因果分析,將因素對交通流的影響程度進行量化,按照相應的分析結果為各因素加權。其次根據加權后的車速和占用率對交通流進行聚類,同時利用分類器學習聚類過程,以便為驗證集和測試集進行準確分類。最后根據聚類結果,通過線性和非線性的學習以及采用非線性的結合方式,從而為每一類交通流建立特有的預測模型,最終產生預測結果。因此,本文框架如圖1所示,這是一個融合數據聚類、統計模型和機器學習的交通流預測模型。

圖1 基于因果分析的交通流組合預測模型
因此,首先對車速和交通流、占用率和交通流進行因果分析,從而分別得到車速和占用率對交通流的影響程度。由于符號轉移熵非線性、無模型、適用于非平穩的優點,將其作為因果分析方法,應用到交通流的因果分析中具有明顯的優勢。
符號轉移熵是在秩上定義的轉移熵,它與傳統轉移熵的區別在于,傳統轉移熵是定義在樣本向量上的。符號轉移熵的主要思想是計算通過引入其它因素,使得時間序列不確定度減少的量。
其中,τ為抽樣間隔,m為嵌入維數。因為本文引入的是前一時刻的因素,因此設置τ=1。

利用符號的相對頻率估計序列的聯合概率
(1)
(2)
(3)
(4)

從而得到熵
(5)

(6)
因此得到符號轉移熵STE
(7)
算法1:STE
輸入:交通流Y,車速V,占用率W,重構序列組數N,嵌入維度m
輸出:權值
(1) Fort=1,…,N
(2) 對Y, V, W進行重構;
(4) End for
(5) Forj=1,…, m!
(6) Forn=1,…, m!
(7) Forr=1,…, m!
(8) 根據式 (1), 式 (2), 式 (3), 式 (4) 計算概率;
(9) End for
(10) End for
(11) End for
(12) 根據式 (5), 式 (6) 計算熵;
(13) 根據式 (7) 計算STE, 得到STEV→Y, STEW→Y;
在進行因果分析得到車速和占用率對交通流的影響程度之后,將車速和占用率根據因果分析結果進行加權。首先,本文采用Min-Max歸一化,將因素數據映射至0-1之間的數值。然后再將因果分析結果進行歸一化處理,得到車速和占用率對應的權值
(8)
對車速和占用率進行加權
V′(t)=wV·V(t)
(9)
其中,V(t)表示一個因素經過Min-Max歸一化后的數據。
K-Means++聚類是一種常用的方法,它可以依據概率選擇初始類中心,根據每個數據點到中心的距離進行聚類。K-Means++對于傳統K-Means的改進主要在于盡可能遠地選擇初始類中心,以此來克服初始中心點隨機選取可能導致聚類性能較差的缺點。
對于給定數據集X={x1, x2,…, xn}, 隨機選擇一個點作為第一個初始類中心c1。根據概率式(10),選擇概率最高時所對應的xi為下一個類中心
(10)

算法2:K-Means++
輸入:數據集X,類簇個數k,迭代終止閾值δ,迭代次數T
輸出:聚類結果
(1) 從X隨機選擇第一個初始中心c1;
(2) Fori=2,…, k
(3) For xi∈XC
(4) 按照式(10)計算概率;
(5) End for
(6) 選擇概率最大的xi作為下一個類中心ci;
(7) End for
(8) Fort=1,…, T
(9) For x∈XC
(10) Fori=1,…, k
(11) 計算D(x)2;
(12) End for
(13) 將x劃分至距離最近類中心所在類中;
(14) End for
(15) Fori=1,…, k
(16) c′i=ci;
(17) 按照均值更新類中心;
(18) End for
(20) If ΔJ<δ
(21) 輸出聚類結果;
(22) Break
(23) End if
(24) End for
在對交通流進行聚類之后,將其分成了若干類,然后對于每一類交通流分別建立特有的組合預測模型,并且使用分類器對聚類過程進行學習,以便在實驗中為驗證集和測試集進行準確分類。對于每一類交通流的組合預測模型,本文將線性模型和非線性模型進行組合。由于LASSO模型具有特征選擇和稀疏性的特點,本文使用它來捕捉線性關系;而非線性部分,利用ELM計算速度快和泛化能力強的優點來學習非線性關系。最后對于線性與非線性的組合部分,本文采用ELM模型來探索線性預測與非線性預測之間的非線性關系,從而產生最終的預測。

(11)
其中,yi為當前交通流,xij為歷史交通流,λ為超參數。對于LASSO的求解,本文采用python scikit-learn庫中的LassoLarsCV算法,該算法使用最小角回歸方法對損失函數進行優化,同時利用交叉驗證來獲得合適的超參數λ。
在過去的幾年里,極限學習機由于其非常快的訓練速度和良好的泛化能力,已經成為一個越來越重要的研究課題。ELM是在傳統單隱層前饋的基礎上改進的一種快速神經網絡,具有良好的泛化性能。由于輸入權重是隨機分配的,輸出權重是解析獲得的,因此在學習過程中不需要調整這些參數。對于N個任意樣本 (Xi,ti), 其中Xi=[xi1,xi2,…,xin]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm。 具有L個隱層節點的神經網絡輸出可表示為
(12)
其中,βi為輸出權值,g(·)為激活函數,Wi為輸入權值,bi為第i個隱藏節點的偏置,oj為神經網絡輸出。
令神經網絡輸出以0誤差逼近樣本期望tj
(13)
即
(14)
其矩陣形式表示為
T=Hβ
(15)
其中

(16)
當Wi,bi被隨機確定后,H也被確定,因此
(17)
其中,H+=(HTH)-1HT,H+是H的Moordee-Penrose廣義逆矩陣。因此可得到輸出權值為
(18)
在聚類之后,需要使用分類器來學習聚類過程,從而為驗證集和測試集準確地分類,進而通過組合模型得到最終的實驗結果。由于在聚類的過程中,很容易出現某一類別的交通流所對應的數據量遠遠少于其它類別,從而影響驗證集和測試集無法正確分類,導致預測精度的降低。針對這一情況,本文采用決策樹進行學習,決策樹在數據不平衡的情況下可以保持很好的分類效果,因此本文利用該模型來學習聚類過程并對驗證集和測試集進行分類。
對于線性與非線性模型的組合方法,考慮到以往的混合預測在本質上都是線性組合,而線性組合往往忽略了單個預測因子與最終預測結果之間的非線性項的重要性。為了克服線性組合的不足,進一步提高預測精度、泛化能力和穩定性,本文采用非線性聚焦機制。考慮到ELM在計算速度和泛化性能方面的優勢,利用其對線性與非線性模型進行非線性組合,探索不同的單一方法與最終預測結果之間潛在的非線性關系,從而得到最終預測。
本文采用加州運輸性能測量系統PeMS收集的來自美國洛杉磯的數據,PeMS提供的數據庫包含了加利福尼亞州重要道路的交通流數據。同時該數據以每5 min為間隔收集一次,因此需要將其整理為以每15 min為間隔的數據集。由于在工作日的交通管理更重要,因此本文收集了2017年1月到12月的所有工作日的數據,共251天,其中包括交通流、占用率和車速的數據。并且按照3∶1∶1的比例,將數據集劃分成訓練集、驗證集和測試集。
為了評價該模型的預測性能,采用的指標為:平均絕對誤差MAE和平均絕對百分比誤差MAPE
(19)
(20)
在對模型進行評估之前,需要先確定5個關鍵的超參數,包括嵌入維數m,聚類簇數k,遲滯l,非線性預測ELM的隱層節點數n1,非線性組合ELM的隱層節點數n2。本文使用交叉驗證的方法對超參數進行優化,首先在驗證集上進行多次實驗,根據MAPE指標來評估預測精度,從而確定出各超參數的范圍。因此本文確定出m=2,k的范圍是11到13,l的范圍是8到12,n1的范圍是25到30,n2的范圍是10到15。然后通過網格搜索的方式來尋找最優超參數。表1為本文最終選取的最優超參數。

表1 基于因果分析組合模型的最優超參數
首先利用符號轉移熵對占用率和交通流、車速和交通流進行因果分析并為各因素加權,通過實驗得到占用率和車速的權值見表2。

表2 占用率和車速的權值
從表2可以看出,占用率的權值更大,這意味著相比于車速,前一時刻占用率對下一時刻交通流的影響程度更大,這與實際情況相吻合。當前一時刻車道占用率較大時,也意味著此時車道較為擁堵,說明交通流量很大,因此,在下一時刻的車流量很大程度上依然會保持較大的狀態。而當前一時刻車速較小時,并不一定意味著當前車道擁堵和交通流量很大,因為很有可能是受到其它因素的影響,例如天氣因素,降雨或降雪的天氣條件下,會使得路面濕滑,從而導致行車速度減慢,而此時的交通流量可能很大也可能很小,因此在下一時刻的交通流量也會呈現多種可能性。所以,與實驗結果一致,占用率和交通流之間的因果關系強于車速與交通流之間的因果關系。
為了驗證本文線性與非線性的組合框架以及引入因果分析加權的有效性,選取了整合自回歸移動平均模型ARIMA、支持向量SVM、多層感知器MLP、ELM、LASSO以及不加因果分析的組合預測模型與本文提出的基于因果分析的組合模型進行對比。其中,ARIMA的參數設置為(5,1,8),MLP共兩層,第一層節點數為130,第二層節點數為143。圖2表示了各模型的預測結果,并分別與實際采集的交通流數據進行了比較,以2017年10月19日的交通流為例。結果表明,大部分模型均能較好的擬合真實交通流數據,其中,基于因果分析的組合模型擬合程度最高,而ARIMA和SVM模型的擬合程度較差。表3對各模型的預測精度進行了對比,同時為了減少隨機初始化對預測結果的影響,分別對每種模型進行了10次實驗,最后取其平均值作為最終的預測精度。
從表3可以明顯看出,與圖2結果基本一致,對于MAE和MAPE,ARIMA模型的預測精度最低,SVM模型效果也較差,ELM模型和MLP模型較LASSO模型而言更略勝一籌。同時因果分析組合模型和不加因果分析的組合模型均優于以上5種模型,說明本文提出的線性與非線性組合模型框架對預測精度的提高具有很大的幫助。另外,由圖2(f)和圖2(g)可知,基于因果分析的組合預測模型要更優于不加因果分析的組合預測模型,其中,因果分析組合模型的MAE降低了12.2%,MAPE降低了11.5%,這說明本文在聚類時,考慮到各因素對交通流的重要程度不同,將因果分析方法符號轉移熵引入交通流預測中,使得預測精度得到了非常明顯的提升。綜合來講,本文提出的基于因果分析的組合預測模型在交通流的預測中具有很大的優勢。

圖2 原始數據與模型預測對比(間隔15 min)

表3 不同模型的MAE和MAPE對比
本文引入交通流參數占用率和車速作為交通流的影響因素,首先對交通流進行聚類,對于每一類建立線性與非線性相結合的組合預測模型。并且在聚類時,為了解決每種因素對交通流影響程度不同的問題,引入符號轉移熵進行時間序列因果分析,將各因素對交通流的影響程度進行量化,并根據分析結果,為各因素加權。實驗結果表明,該模型能夠有效地提高交通流的預測精度,且優于傳統的預測模型。
由于交通是一個復雜的系統,在實際中交通流會受到很多因素的影響,而本文僅考慮到車速和占用率對交通流的影響,因此在接下來的研究中,將更多地關注其它因素特征,例如天氣、空間信息等。