羅向龍,郭 凰,廖 聰,韓 靜,王立新
1.長(zhǎng)安大學(xué) 信息工程學(xué)院,西安710064
2.中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,西安710043
隨著我國(guó)經(jīng)濟(jì)的快速增長(zhǎng),交通基礎(chǔ)設(shè)施建設(shè)的步伐越來(lái)越快,但是公路里程的增加很難滿足汽車增長(zhǎng)速度和人們的出行需求,導(dǎo)致道路交通堵塞問(wèn)題日益嚴(yán)重。智能運(yùn)輸系統(tǒng)(intelligent transportation systems,ITS)成為全世界所公認(rèn)的解決交通擁堵問(wèn)題的有效手段。短時(shí)交通流預(yù)測(cè)問(wèn)題是ITS研究的關(guān)鍵技術(shù)之一,及時(shí)準(zhǔn)確的交通流預(yù)測(cè)可為出行者提供精準(zhǔn)可靠的動(dòng)態(tài)路徑誘導(dǎo),有效提高出行效率,成為國(guó)內(nèi)外研究的熱點(diǎn)[1]。
短時(shí)交通流預(yù)測(cè)模型和方法概括起來(lái)主要包括基于統(tǒng)計(jì)方法的模型、智能模型、組合模型三類?;诮y(tǒng)計(jì)方法的模型主要以自回歸滑動(dòng)平均(autoregressive moving average,ARMA)及改進(jìn)的時(shí)間序列模型為代表。王曉全等[2]利用差分自回歸滑動(dòng)平均(autoregressive integrated moving average,ARIMA)模型對(duì)北京城市快速路二環(huán)的交通流進(jìn)行預(yù)測(cè);李曉磊等[3]利用季節(jié)性差分自回歸滑動(dòng)平均(seasonal autoregressive integrated moving average,SARIMA)模型對(duì)港口船舶交通流進(jìn)行預(yù)測(cè)?;诮y(tǒng)計(jì)方法的短時(shí)交通流預(yù)測(cè)模型理論成熟,應(yīng)用簡(jiǎn)單,但其主要針對(duì)線性平穩(wěn)數(shù)據(jù),對(duì)于受多種因素影響的非線性的交通流數(shù)據(jù),其預(yù)測(cè)結(jié)果精度不高[4]。隨著機(jī)器學(xué)習(xí)的迅速崛起,出現(xiàn)以人工神經(jīng)網(wǎng)絡(luò)[5](artificial neural network,ANN)、支持向量機(jī)(support vector machine,SVM)等為代表的智能模型。Chen等[6]對(duì)人工蜂群(artificial bee colony,ABC)算法進(jìn)行改進(jìn),改變雇傭蜜蜂搜索策略,提高全局搜索能力,進(jìn)一步利用徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)對(duì)交通流進(jìn)行預(yù)測(cè)。Feng 等[7]建立自適應(yīng)多內(nèi)核SVM 模型,內(nèi)核函數(shù)由高斯內(nèi)核函數(shù)和多項(xiàng)式內(nèi)核函數(shù)組成,依據(jù)實(shí)時(shí)輸入的交通流數(shù)據(jù)變化趨勢(shì)對(duì)兩個(gè)內(nèi)核函數(shù)的權(quán)重實(shí)時(shí)更新,利用交通流數(shù)據(jù)時(shí)空相關(guān)性實(shí)現(xiàn)預(yù)測(cè)。智能模型參數(shù)設(shè)置較困難,且預(yù)測(cè)結(jié)果容易陷入局部最優(yōu),從而使其應(yīng)用受到限制。為了進(jìn)一步提高交通流數(shù)據(jù)預(yù)測(cè)精度,越來(lái)越多的組合預(yù)測(cè)模型也出現(xiàn)在人們的視野中。劉劍等[8]利用核主成分分析法對(duì)輸入的交通流數(shù)據(jù)預(yù)處理,利用SVM 對(duì)不同工作日的交通流進(jìn)行預(yù)測(cè)。田瑞杰等[9]利用時(shí)間序列模型ARMA 和ARIMA 對(duì)路段不同時(shí)刻檢測(cè)速度進(jìn)行預(yù)測(cè),進(jìn)一步利用反向傳播神經(jīng)網(wǎng)絡(luò)對(duì)二者預(yù)測(cè)結(jié)果加權(quán)融合,實(shí)現(xiàn)最終預(yù)測(cè)。Luo等[10]利用離散傅里葉變化(discrete Fourier transform,DFT)算法將交通流數(shù)據(jù)分解為共同趨勢(shì)和殘余分量,共同趨勢(shì)由極致外推法預(yù)測(cè),殘余分量通過(guò)支持向量回歸(support vector regression,SVR)模型實(shí)現(xiàn)預(yù)測(cè)。組合模型同樣受交通數(shù)據(jù)自身特性和組合方法的影響而不具有普適性。
近年來(lái)隨著深度學(xué)習(xí)[11]、大數(shù)據(jù)處理[12]等新技術(shù)的浪潮的出現(xiàn),基于深度學(xué)習(xí)的交通流預(yù)測(cè)方法成為研究的熱點(diǎn)[13]。Zhang等[14]利用一種共軛梯度算法對(duì)深度信念網(wǎng)絡(luò)(deep belief network,DBN)的參數(shù)進(jìn)行微調(diào),利用遺傳算法尋找DBN 在不同時(shí)間下的最優(yōu)超參數(shù),對(duì)改進(jìn)的模型進(jìn)行預(yù)測(cè)性能測(cè)試。羅文慧等[15]利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)進(jìn)行交通流數(shù)據(jù)特征提取,將提取特征通過(guò)SVR 實(shí)現(xiàn)預(yù)測(cè)。Kang等[16]將觀測(cè)的流量、速度、占有率同時(shí)作為交通流量預(yù)測(cè)的輸入,利用時(shí)空相關(guān)性,通過(guò)長(zhǎng)短期記憶(long short-term memory,LSTM)循環(huán)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,該方法克服循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)中存在的梯度消失和梯度爆炸問(wèn)題,提高預(yù)測(cè)精度。Wu 等[17]利用注意力模型(attention model)決定歷史交通流數(shù)據(jù)的重要程度,利用CNN 挖掘數(shù)據(jù)的空間相關(guān)性,利用RNN挖掘數(shù)據(jù)的時(shí)間特征。Luo等[18]利用KNN 計(jì)算得到與測(cè)試站點(diǎn)最相關(guān)的K個(gè)鄰近站點(diǎn),構(gòu)造合適的數(shù)據(jù)集代入LTSM模型中,實(shí)現(xiàn)目標(biāo)站點(diǎn)的預(yù)測(cè)。由于深層結(jié)構(gòu)模型復(fù)雜,涉及到大量的超參數(shù),網(wǎng)絡(luò)訓(xùn)練過(guò)程非常耗時(shí),很難滿足交通流序列預(yù)測(cè)的實(shí)時(shí)性需求;此外,為了獲得更高的精度,深層結(jié)構(gòu)不斷疊加層數(shù),導(dǎo)致深層結(jié)構(gòu)的理論分析變得非常困難。
為了克服深度學(xué)習(xí)存在的問(wèn)題,2018年,陳俊龍等[19]提出了寬度學(xué)習(xí)系統(tǒng)(broad learning system,BLS)。寬度模型因結(jié)構(gòu)簡(jiǎn)單,運(yùn)算速度快,逐漸被應(yīng)用到圖像分類[19]、時(shí)間序列預(yù)測(cè)[20]等領(lǐng)域中。本文在寬度模型的基礎(chǔ)上,利用交通流數(shù)據(jù)的時(shí)空相關(guān)性,提出了一種KNN-BLS 組合模型短時(shí)交通流預(yù)測(cè)方法。利用KNN算法篩選與預(yù)測(cè)路段時(shí)空相關(guān)性高的K個(gè)路段,選取的K個(gè)路段交通流數(shù)據(jù)作為BLS模型的輸入分別進(jìn)行預(yù)測(cè),并對(duì)預(yù)測(cè)結(jié)果進(jìn)行加權(quán)融合實(shí)現(xiàn)誤差修正,以均方根誤差為最小時(shí)對(duì)應(yīng)K值的結(jié)果作為最終的預(yù)測(cè)值。美國(guó)加利福尼亞州交通局PeMs(performance measurement system)交通數(shù)據(jù)庫(kù)實(shí)測(cè)的交通流數(shù)據(jù)的測(cè)試結(jié)果表明,提出的方法預(yù)測(cè)誤差平均降低46.56%,同時(shí)運(yùn)算效率提高99%以上,是一種有效的短時(shí)交通流預(yù)測(cè)方法。
寬度學(xué)習(xí)算法是一種新的機(jī)器學(xué)習(xí)算法,該算法的核心思想是將原始數(shù)據(jù)通過(guò)特征提取產(chǎn)生映射特征,進(jìn)一步形成特征節(jié)點(diǎn),并將映射特征通過(guò)廣義擴(kuò)展生成增強(qiáng)節(jié)點(diǎn),依據(jù)輸出與連接的特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)之間的連接權(quán)重,得到整個(gè)網(wǎng)絡(luò)的輸出,典型的寬度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 寬度學(xué)習(xí)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of BLS model
對(duì)于輸入數(shù)據(jù)X,通過(guò)隨機(jī)權(quán)重、偏置和激活函數(shù)?映射形成第i個(gè)特征Zi,每個(gè)特征包含l個(gè)節(jié)點(diǎn),共產(chǎn)生p個(gè)映射特征;組合所有特征形成增強(qiáng)節(jié)點(diǎn)的輸入Zp,通過(guò)隨機(jī)權(quán)重、偏置和激活函數(shù)ξ對(duì)其進(jìn)行映射形成第j個(gè)增強(qiáng)節(jié)點(diǎn)Hj,共有q個(gè)增強(qiáng)節(jié)點(diǎn);組合所有特征和增強(qiáng)節(jié)點(diǎn)構(gòu)成模型的輸入[Zp|Hq];最后通過(guò)與輸出Y之間的連接權(quán)重Wq得到網(wǎng)絡(luò)的輸出。
通過(guò)圖1 可以發(fā)現(xiàn),和深度學(xué)習(xí)模型相比,寬度模型不需要利用梯度下降算法進(jìn)行多次迭代,而是計(jì)算輸入層與輸出層的偽逆,得到連接權(quán)重,進(jìn)一步得到網(wǎng)絡(luò)輸出,從而有效減少了運(yùn)算量。
KNN算法是一種度量空間中歷史點(diǎn)與當(dāng)前點(diǎn)相似程度的算法,由于它運(yùn)算速度快,操作簡(jiǎn)單,廣泛應(yīng)用于不同研究領(lǐng)域。其核心思想是計(jì)算不同狀態(tài)點(diǎn)之間的距離,找到與當(dāng)前點(diǎn)最相近的K個(gè)歷史點(diǎn)。常用的計(jì)算距離的方法,包括歐式距離、哈夫曼距離、馬氏距離等。由于歐式距離反映的是整體相似性,本文中采用歐氏距離進(jìn)行交通流數(shù)據(jù)的空間相關(guān)性的選擇。
其中,Si表示第i個(gè)檢測(cè)路段的交通流數(shù)據(jù),So表示預(yù)測(cè)路段的交通流數(shù)據(jù),si(j)和so(j)分別表示第i個(gè)檢測(cè)路段和預(yù)測(cè)路段在j時(shí)刻采集到的交通流數(shù)據(jù)。
假定給定的公路網(wǎng)包含M個(gè)斷面,第m個(gè)檢測(cè)路段在不同天的交通流數(shù)據(jù)表示為Sm,由于交通流數(shù)據(jù)具有很強(qiáng)的時(shí)間相關(guān)性,以連續(xù)D周同一天不同路段采集到的交通流量S作為測(cè)試數(shù)據(jù),即:
通過(guò)式(9),分別計(jì)算第m個(gè)檢測(cè)路段與預(yù)測(cè)路段前D-1周交通流數(shù)據(jù)的歐氏距離dm,篩選與預(yù)測(cè)路段最相關(guān)的K組路段,分別記作Xk,其中,k=1,2,…,K。
對(duì)于選擇的K個(gè)路段,分別構(gòu)建BLS 模型的訓(xùn)練輸入TRk_input、輸出TRk_output和測(cè)試輸入Tk_input,如式(10)~(12)所示,其中,τ表示預(yù)測(cè)步長(zhǎng)。
將式(10)和(11)代入式(1)~(6)中,得到連接權(quán)重Wk∈?(pl+q)×1:
將式(12)代入式(1)~(5)中,并根據(jù)式(13)的連接權(quán)重對(duì)預(yù)測(cè)路段的交通流量分別進(jìn)行預(yù)測(cè),得到以第k個(gè)路段為輸入的預(yù)測(cè)結(jié)果∈?N×1:
對(duì)不同的K組預(yù)測(cè)結(jié)果進(jìn)行加權(quán),以均方根誤差最小時(shí)對(duì)應(yīng)K值的加權(quán)值作為最終的交通流預(yù)測(cè)結(jié)果:
其中,加權(quán)系數(shù)ck表示第k組檢測(cè)路段均方根誤差的倒數(shù)占比,K1,K2,…,Ki,…,K表示選擇的路段個(gè)數(shù),且Ki≤M。
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)自美國(guó)加利福尼亞州交通局PeMs(performance measurement system)交通數(shù)據(jù)庫(kù)實(shí)測(cè)的交通流數(shù)據(jù)。實(shí)驗(yàn)中選用不同43個(gè)斷面在2018年2月5 日至2018 年3 月25 日連續(xù)七周采集到的周三的交通流數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),將前六周數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),第七周數(shù)據(jù)作為測(cè)試數(shù)據(jù),數(shù)據(jù)采樣周期為5 min,即M=43,D=7,N=288。
均方根誤差(root mean square error,RMSE)是評(píng)價(jià)交通流預(yù)測(cè)性能最常用的指標(biāo),本文采用RMSE作為評(píng)價(jià)指標(biāo),計(jì)算公式如式(16)所示:
本次實(shí)驗(yàn)運(yùn)行環(huán)境及參數(shù)配置:電腦CPU 為2.60 GHz,內(nèi)存為8.00 GB,編程語(yǔ)言為Python3.7。實(shí)驗(yàn)中經(jīng)過(guò)反復(fù)測(cè)試設(shè)置BLS 模型每個(gè)特征包含節(jié)點(diǎn)個(gè)數(shù)l=5,映射特征共有p=6,增強(qiáng)節(jié)點(diǎn)個(gè)數(shù)q=41,激活函數(shù)為tansig,預(yù)測(cè)步長(zhǎng)為τ=6。預(yù)測(cè)結(jié)果如圖2所示,從圖2中可以看出,預(yù)測(cè)結(jié)果很好地反映出交通流序列的變化趨勢(shì),尤其在早高峰和晚高峰時(shí)期,預(yù)測(cè)結(jié)果很好地反映了交通流量的波動(dòng)性,表明了提出的KNN-BLS模型進(jìn)行短時(shí)交通流預(yù)測(cè)的有效性。
圖2 預(yù)測(cè)結(jié)果和真實(shí)值Fig.2 Predicted and real traffic flow
為了進(jìn)一步評(píng)價(jià)提出的KNN-BLS 模型的性能,本文與四種常見(jiàn)的模型ARIMA、小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network,WNN)、LSTM、KNN-LSTM分別進(jìn)行對(duì)比分析,不同模型參數(shù)設(shè)置如下:ARIMA模型自回歸階數(shù)p=3,滑動(dòng)平均階數(shù)q=5,差分階數(shù)d=1;WNN 模型學(xué)習(xí)率設(shè)為0.01,迭代次數(shù)為800次,輸入層、隱藏層、輸出層的個(gè)數(shù)分別為6、6、1,學(xué)習(xí)步長(zhǎng)為6;LSTM 模型學(xué)習(xí)率設(shè)為0.01,使用的激活函數(shù)為tanh,模型層數(shù)為3層,迭代次數(shù)設(shè)為500 次;KNN-LSTM 模型中LSTM 模型參數(shù)設(shè)置同上,K的取值為3。
不同模型預(yù)測(cè)結(jié)果和性能分別如圖3 和表1 所示。從圖3 和表1 中可以看出,ARIMA 模型的預(yù)測(cè)性能最差,WNN 模型的性能相對(duì)深度模型較差,LSTM、KNNLSTM和KNN-BLS三種模型都比較準(zhǔn)確地反映了真實(shí)的交通流量的變化,KNN-BLS 模型更能捕捉到交通流數(shù)據(jù)細(xì)節(jié)的波動(dòng)性。相比于ARIMA、WNN、LSTM、KNN-LSTM 模型,KNN-BLS 模型預(yù)測(cè)的RMSE 分別下降98.55%、79.06%、7.857%、0.767 2%。同時(shí)可以看出,在相同的實(shí)驗(yàn)配置條件下,KNN-BLS 的運(yùn)行時(shí)間大幅度下降,甚至優(yōu)于線性模型ARIMA;雖然預(yù)測(cè)誤差與深度學(xué)習(xí)模型LSTM 及KNN-LSTM 幾乎相當(dāng),但是運(yùn)行速率提高99%以上,表明KNN-BLS 模型可在保證預(yù)測(cè)精度的同時(shí),大幅度減少運(yùn)算時(shí)間,是一種有效的短時(shí)交通流預(yù)測(cè)方法。
圖3 不同模型預(yù)測(cè)結(jié)果Fig.3 Prediction result of different models
表1 不同模型預(yù)測(cè)性能Table 1 Prediction performances of different models
本文對(duì)交通流數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),為了充分利用交通流數(shù)據(jù)的時(shí)空相關(guān)特性,通過(guò)KNN 方法選取路網(wǎng)中與預(yù)測(cè)路段相關(guān)的路段進(jìn)行分析,相關(guān)路段的個(gè)數(shù)成為影響預(yù)測(cè)模型的重要參數(shù)。為了分析不同路段個(gè)數(shù)K對(duì)預(yù)測(cè)結(jié)果的影響,實(shí)驗(yàn)中取不同K值分別進(jìn)行模型預(yù)測(cè),并分別計(jì)算預(yù)測(cè)的RMSE。圖4 給出了不用時(shí)空相關(guān)的路段數(shù)與預(yù)測(cè)RMSE 的關(guān)系,從圖4 中可以看出,預(yù)測(cè)的RMSE 隨著K的增大存在上下波動(dòng),當(dāng)K=17時(shí),對(duì)應(yīng)的RMSE 達(dá)到最小值。因此,本文在實(shí)驗(yàn)中選擇的相關(guān)路段數(shù)目為17,均位于目標(biāo)路段上下游附近,其中上游12 個(gè),下游5 個(gè),說(shuō)明預(yù)測(cè)路段的預(yù)測(cè)結(jié)果會(huì)受到相鄰路段空間分布位置及數(shù)目的影響,且上游影響更大一些,與實(shí)際情況比較吻合。
圖4 不同K 值預(yù)測(cè)的RMSEFig.4 RMSE predicted by different K values
本文結(jié)合交通流數(shù)據(jù)的時(shí)空相關(guān)特性,提出基于KNN-BLS的短時(shí)交通流預(yù)測(cè)模型,利用PeMs數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),將預(yù)測(cè)結(jié)果與ARIMA、WNN、LSTM、KNN-LSTM 模型進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明KNN-BLS模型可降低預(yù)測(cè)誤差,將預(yù)測(cè)誤差平均降低46.56%,是一種有效的短時(shí)交通流預(yù)測(cè)方法。同時(shí),與深度模型相比,寬度模型在保證預(yù)測(cè)精度的前提下,縮短預(yù)測(cè)時(shí)間,將運(yùn)行速率提高99%以上,是一種結(jié)構(gòu)簡(jiǎn)單、預(yù)測(cè)速度快的短時(shí)交通流預(yù)測(cè)方法。
為了更好地挖掘交通流數(shù)據(jù)的時(shí)間依賴性,在未來(lái)研究工作中,考慮在寬度系統(tǒng)中應(yīng)用一些循環(huán)系統(tǒng),更深層次研究交通流數(shù)據(jù)的時(shí)序特征。同時(shí),由于交通流數(shù)據(jù)受天氣、交通事故、道路施工、節(jié)假日等諸多因素影響,在未來(lái)研究工作中,應(yīng)考慮到上述因素,進(jìn)一步提高預(yù)測(cè)精度。