鄒宗民, 郝 龍, 李全杰, 陳宏俊, 康 樂
(1.山東高速建設管理集團有限公司, 濟南 250014; 2.中交第一公路勘察設計研究院有限公司, 西安 710075; 3.西安科技大學材料學院, 西安 710054)
隨著中國經濟的不斷發展,交通運營網絡也隨之繁榮,進而產生了大量的交通問題。其中,高速公路作為城市間的重要樞紐成為交通管制的重要關注對象之一。從當前交通流的分析中對高速公路交通進行滯后管制,這種被動式管理很難滿足時下交通流的快速發展,這使得從主動式管理角度出發的,基于歷史數據開展的交通流預測作為一種新的道路管理方式備受青睞[1]。短時交通流預測是用以預測分析在15 min內通過道路某斷面的車輛數[2]。從主動式管理的角度針對高速公路短期交通流的預測,有助于解決高速公路交通擁堵、合理安排最優出行路徑以及減少事故發生等,能夠為交通管理部門進行高速公路交通管控提供重要的決策依據。為此,中外學者就高速公路短時交通流預測問題相繼開展了大量研究。
主流的預測方法包括構建多元線性回歸、時間序列模型以及神經網絡模型等方式。交通流數據的非平穩性,導致其采用多元線性回歸方式的預測結果較為不理想。為此,以混沌理論、時間序列模型以及機器學習為主的預測方式在高速公路短時交通流預測方面得以廣泛應用[3]。張培林等[4]在判定交通流屬于混沌系統的基礎上,基于混沌理論實現了高速公路短時交通流預測,但其應用便捷度較低,需要在預測之前考察交通流是否屬于混沌系統。張平等[5]在基于信息熵刻畫高速公路車輛出發地和目的地(origin-destination, OD)規律的基礎上,實現了基于OD穩定模型的高速公路出口流量的精準預測。Kumar等[6]從交通流數據的周期性特征出發,基于差分整合移動平均自回歸模型(autoregressive integrated moving average model,ARIMA)模型實現了交通流的短期預測。梁軻等[7]針對海量交通流的預測問題,通過借助Map Reduce并行計算框架,實現了基于遺傳算法的K最近鄰算法的快速建模與預測。趙曉靜等[8]考慮到短時交通流的時變和非線性特性,在對數據進行經驗模態分解的基礎上,構建了基于維納濾波的高速公路短時預測模型。申貴成等[9]在考慮最優時滯因子的基礎上,創建了基于線性回歸和隨機森林為基學習的Adaboost集成預測器,實現了更高精度的短時交通流預測。王小凡等[10]通過遺傳算法優化所構建的小波神經網絡預測模型,實現了對高速公路日交通流量的預測。
伴隨著交通流數據的不斷積累,交通流預測正在逐步向數據驅動的視角轉型,隨之而來的各種神經網絡、機器學習方法相較之前的傳統建模分析方式,實現了更快高效、更精準的預測。在既有研究的基礎上,從數據驅動的角度出發,為解決小樣本交通流的短期預測,構建了基于粒子群算法優化的支持向量回歸預測模型,以期能夠較為準確地實現對于高速公路短時交通流的預測。
支持向量回歸算法(support vector regression, SVR)是支持向量機為解決回歸問題而演化的一種算法。其算法原理是尋找最優超平面以使得所有樣本點與最優超平面之間的偏差和最小。設一組樣本數據集為{ (xi,yi),i=1, 2, …,n},xi∈Rn為輸入量,yi∈R為輸出量。通過非線性映射關系φ(x)將樣本投射到高維線性空間中,即
f(x)=wφ(x)+b
(1)
式(1)中:w和b為待求解參數;f(x)為回歸函數返回的預測值。
為平衡算法的精度和效率,設置一定的偏差容忍度ε使算法具有一定的容錯能力,如圖1所示。為求解參數w和b,將該問題轉化為最優化問題進行求解。

(2)

(3)
式中:Lε[f(xi)-yi]為損失函數;C為懲罰因子,C>0,通過調整對邊界外數據誤差的懲罰程度來控制模型的精度。
通過引入拉格朗日函數得到對偶模型進行求解,可得最終的模型解形式為

(4)


ζi為超出ε的量;Loss為損失值圖1 支持向量回歸算法原理圖Fig.1 Schematic diagram of support vector regression
為實現對于高速公路短時交通流的精確預測,考慮到其的非線性特征,在小樣本數據量下構建基于粒子群優化的支持向量回歸模型。主要從樣本數據采集與預處理、數據集劃分、預測步長確定(即滑動窗口寬度)、粒子群優化初始參數設置以及模型訓練與測試等方面實現建模,具體的建模框架如圖2所示。具體的實現步驟如下。

ω1、ω2、ωN分別表示各個輸入變量x1、x2、xN對應的權重參數圖2 基于PSO-SVR算法的短時交通流預測框架Fig.2 Short-term traffic flow prediction framework based on PSO-SVR algorithm
步驟1確定數據采集方式。設定數據采集頻率t以獲取高速公路實時交通流數據,并將其轉換為標準車當量數。
步驟2確定原始數據的預處理方式。對采集到的原始數據進行相應的數據預處理,主要包括基于箱線圖法的數據異常值識別,基于線性內插的數據異常值、缺失值填充以及為提高模型的收斂能力而進行的歸一化處理,從而得到樣本數據。
步驟3基于滑動窗口法進行數據劃分。為進行模型訓練與測試,首先取獲取數據集的80%為訓練集,剩余20%為測試集。為實現建模過程中最大化利用樣本數據,將其分別采用時間窗口的方式進行劃分(圖3),其中,窗口寬度(width)表示當前時刻的交通流與過去多久的數據信息相關,即預測步長。

t為采樣時刻;n為樣本數量圖3 滑動窗口法獲取樣本數據Fig.3 Sliding window method to obtain sample data
步驟4確定擬優化參數。數據準備好之后,建立核函數為RBF(radial basis function)的SVR預測模型,其中,懲罰因子C和核函數參數g需要進行參數尋優。
步驟5確定粒子群優化的相關初始參數取值。基于粒子群算法進行參數(C、g)尋優時,首先需要設置粒子群相關參數初始值,主要包括種群規模m,學習因子c1和c2,并通過試驗法確定C和g的取值范圍。
步驟6確定粒子群尋優的適用度函數,即目標函數。將均方誤差(mean squared error,MSE)作為其優化的適用度函數。
步驟7粒子更替尋優。粒子在運動過程中不斷與歷史最優位置對比(即兩組參數取值所得適應度計算),同時將所有粒子與全局歷史最優位置對比,以得到新的局部和全局最優位置。當所更替得到的最優位置能夠滿足所設定的標準,則將此時的參數組合作為最優參數組合用于SVR模型訓練,反之,當達到最大迭代次數但仍未滿足標準要求時,則重新進行參數尋優。
步驟8將尋優得到的最優參數組合代入SVR預測模型中,基于20%的測試數據進行模型測試,并對測試結果和實測數據進行反歸一化。
步驟9將均方誤差(MSE)和相關系數(R2)作為模型性能的評價指標。基于既有研究,將模型的評價標準設定為MSE<6,R2>0.9。
R2=

(5)
式中:f(xi)為預測值;yi為實測值;MSE越小、指標R2越大,說明模型預測性能越好。
為驗證所構建的粒子群優化-支持向量回歸(particle swarm optimization-support vector regression, PSO-SVR)預測模型的實踐適用性,依托京臺高速濟南西收費站斷面(圖4)的實際交通流數據加以預測分析。

圖4 濟南西高速路口Fig.4 Jinan west highway intersection
在濟南收費站斷面取連續11 d的交通流數據用于建模預測,數據均來自山東省交通廳信息處。研究截取的樣本數據在時間上跨度為2019年10月20日—2019年10月30日。按照t=10 min的頻率進行數據采集,并對經過車輛按照《城市道路工程設計規范》(CJJ37—2012)換算為標準車當量數(passenger car unit,pcu),換算標準如表1所示。同時,采用1.2節中步驟2所涉及的數據預處理方法對該樣本數據集進行處理,上述預處理之后的樣本數據容量為1 500,其實際的交通流波動情況如圖5所示。
為提高模型收斂速度,對預處理之后的樣本數據進行歸一化處理[11],將樣本數據歸一化至[0,1]區間內,相應的數學表達式為

表1 車輛換算標準

圖5 11 d的交通流波動圖Fig.5 Traffic flow fluctuation chart for 11 days

(6)
式(6)中:X為歸一化后的數據;x為原始數據;xmin、xmax分別為原始數據的最小值、最大值。
模型訓練與測試所使用的計算機配置和軟件環境為處理器為 Intel i5-7200,內存為8.0 GB;系統是Windows 10(64位);程序語言版本為Python 3.7.8;集成開發環境為Anaconda包中的Spyder 4.0.1版本。
在進行模型訓練時,首先對獲取到的歸一化之后的數據進行數據集劃分。根據1節預測框架中的步驟3,按8∶2的比例劃分數據集,即可得到訓練集容量為1 200,測試集為300。取窗口寬度為10,即采用過去10個時刻的交通流數據預測下一時刻,如式(7)所示,最終得到的訓練集容量為1 190,測試集容量為290。
yt=f(yt-1,yt-2,…,yt-10)
(7)
式(7)中:yt為當前時刻的交通流。

圖6 粒子群優化迭代過程Fig.6 Particle swarm optimization iterative process
數據劃分完成后,采用1 190訓練數據基于1.2節預測框架步驟3~步驟7進行高速公路短期交通流的PSO-SVR預測模型的構建與訓練。在進行粒子群參數優化時,將種群規模設定為m=40,學習因子c1=1.5和c2=1.8,并通過試驗法確定C的取值范圍為[100,300],g的取值范圍為[10,20]。粒子群優化SVR模型參數組合(C,g)的過程如圖6所示,可以看出當迭代次數大于98時,模型均方誤差(MSE)趨于穩定,即模型訓練至最優狀態,此時可得到最優的參數組合(179.21,12.98)。
模型訓練完成后,采用最優的參數組合(179.21,12.98)構建PSO-SVR預測模型,并基于Step8利用290組測試數據進行模型預測效果評估,將預測結果采用式(8)進行反歸一化,得到最終的預測值。
x=X(xmax-xmin)+xmin
(8)
為評價所建立預測模型(PSO-SVR)的可靠性,從測試集預測結果是否滿足預測標準和PSO-SVR預測模型與反向傳播(back propagation, BP)、ARIMA模型的預測結果對比兩個角度加以評價。PSO-SVR預測模型的預測結果如圖7所示,相應的MSE=4.187,MSE<6,說明PSO-SVR預測模型在測試集上的預測結果偏差較小,能夠滿足實際需求。相應的R2=0.978,大于0.9說明預測值和實測值的擬合度較高,如圖8所示。
在構建PSO-SVR預測模型的基礎上,基于該案例建立相應的BP、ARIMA模型,將其預測結果與PSO-SVR預測模型進行對比(表1),結果表明PSO-SVR預測精度最高,BP次之,ARIMA預測結果較差,這也反映出高速公路短期交通流預測問題屬于典型的非線性回歸問題,支持向量回歸算法在小樣本下解決這類問題具有很強的適用性。

圖7 測試集預測結果Fig.7 The test set predicts results

圖8 預測集預測結果與真實值擬合Fig.8 The predicted results of the prediction set fit with the real value

表2 模型預測結果對比
就高速公路短期交通流預測問題提出基于PSO-SVR的預測模型,并依托實際交通流數據加以佐證。其預測結果表明PSO-SVR模型能夠較為準確的進行短期交通流預測,與BP、ARIMA模型的預測結果對比進一步說明,該模型在解決高速公路短期交通流預測問題方面的優越性,能夠豐富交通流預測的理論體系。