秦利南,董路熙
(北方工業(yè)大學城市道路交通智能控制技術北京市重點實驗室,北京 100144)
近年來,隨著軌道交通規(guī)模擴大,軌道交通網(wǎng)絡結構日益復雜,乘客數(shù)量劇增,軌道交通客流擁堵問題也越來越明顯.準確地把握軌道客流變化特性和不同區(qū)間的客流分布狀態(tài)是開展運營管理的基礎,研究快速有效的軌道客流預測算法,對于制定合理的軌道交通運營策略和緩解交通擁堵具有重要的意義.
近幾年,在軌道交通客流預測算法研究方面,鄒巍等[1]基于軌道交通短時間內客流隨機性較強的特點,設計了一種基于改進遺傳算法和小波神經(jīng)網(wǎng)絡的短時客流預測方法.劉巖等[2]基于卡爾曼濾波方法構造對應斷面列車客流短時預測模型,并用實際例子驗證了該預測模型的有效性.徐永實等[3]以城市軌道交通路線中客流量的實時分布為基礎,采用數(shù)學本質研究進站客流的變化情況,構建了站臺客流量與列車車內客流量的實時交互模型;楊靜等[4]針對客流的波動性分布特性,提出了小波ARMA組合預測模型;李潔等[5]基于廣珠城際鐵路的客流變化特征,構建了SARIMA客流預測模型,并用實際客流數(shù)據(jù)進行了模型有效性驗證;Bai等[6]基于ARIMA模型,提出適用于假日的回歸分析組合客流預測算法;Roos等[7]基于動態(tài)貝葉斯網(wǎng)絡,提出了一種基于時空鄰域的客流預測方法,并用來預測巴黎城市軌道交通短期客流;Yang等[8]提出了一種基于長短期記憶(ELF-LSTM)神經(jīng)網(wǎng)絡的改進模型,增強了嵌入在客流數(shù)據(jù)中的長時間相關性特征,并結合了短期特征來預測未來1 h始發(fā)地客流.
綜上所述,國內外研究人員在軌道交通客流預測方面已取得了較多的成果.在軌道交通客流預測過程中,當客流出現(xiàn)隨機波動較大時,傳統(tǒng)模型的預測精度經(jīng)常會受到較大的影響.基于此,本文在采用變點算法對客流數(shù)據(jù)構成的時間序列處理的基礎上,進一步應用小波變化對變點集進行去噪處理,最后利用ARMA-RBF算法對城市軌道客流進行了預測.
軌道交通的進出站客流數(shù)據(jù)具有一定的隨機性,客流數(shù)據(jù)往往呈現(xiàn)出連續(xù)變化的鋸齒形,直接用原始數(shù)據(jù)預測時,一些轉折點可能會被忽視,進而影響預測精度.變點算法可通過觀察函數(shù)值在某一時間點發(fā)生的質變,根據(jù)這些質變點將時間序列分成不同特性的時間段,從而提高了模型的擬合精度.
變點算法的思想是將時間序列進行劃分:如果第1個右斜率不為零的點為正,則是峰曲線;如果第1個右斜率不為零的點為負,則是谷曲線,觀察右斜率序列中正負號的變化來確定波峰和波谷.經(jīng)過計算波的平均值與方差以及觀察函數(shù),在客流時間序列中進行變點搜索.將變點集用{b(w)}表示,利用變點算法可獲取時間序列中的{b(w)}.
對整體序列中均值和方差的計算如式(1)(2)所示:
(1)
(2)
凸(凹)波中均值和方差的計算式如(3)(4)所示:
(3)
(4)
式中{lj}為峰曲線上的谷點(或谷曲線的峰點).
變點算法搜索變點具體步驟如下.
步驟1將客流數(shù)據(jù)繪制成曲線;
步驟2設最小變點的觀察函數(shù)值為控制參數(shù),觀察函數(shù)如下:
(5)
(6)
式中{b(w)}為曲線上的J個變點集,且b(0)=xl1=x1.
步驟3若搜索點的觀察函數(shù)值大于控制參數(shù)時,該搜索點保留;
步驟4觀察函數(shù)值小于控制參數(shù),該點不是真實變點,則轉到步驟3;
步驟5若w=j完成搜索,算法結束.
軌道交通進出站客流數(shù)據(jù)在經(jīng)變點算法處理后,得到變點集,其中有部分變點數(shù)據(jù)屬于噪聲干擾,假如用這些數(shù)據(jù)建立客流預測模型,會影響預測結果的準確性.因此,本文基于小波變化[9]對數(shù)據(jù)進行二次處理,保證數(shù)據(jù)的有效性.
小波變化具有多分辨分析的特點,能聚焦到客流數(shù)據(jù)的任意細節(jié)進行多分辨率的時頻域分析,有效地去除客流數(shù)據(jù)中的噪聲.小波變化如式(7)所示:
(7)
式中:a為尺度;b為平移量;x(t)為客流數(shù)據(jù);ω(t)為基本小波;ωa,b(t)為基本小波的一族函數(shù).
小波函數(shù)的頻率由a確定,時段由b確定,a與b由具體小波基函數(shù)確定,不必標定.具體步驟為:
步驟1輸入原始客流數(shù)據(jù);
步驟2小波變換多尺度分解,小波基函數(shù)主要有haar小波、db小波、sym小波、coif小波4種;
步驟3各尺度小波系數(shù)去噪,用不同層數(shù)進行處理;
步驟4分別計算信噪比,并進行結果對比,選擇小波基函數(shù),輸出最后的客流數(shù)據(jù).
1.3.1 ARMA算法
ARMA算法(自回歸滑動平均算法)[10]是研究客流時間序列曲線的重要方法,適用于處理平穩(wěn)的時間序列曲線,由AR算法(自回歸模型算法)與MA算法(移動平均算法)“混合”構成.
假設時間序列yt滿足:
yt=θ0+θ1yt-1+θ2yt-2+…+θpyt-p+εt+
η1εt-1+η2εt-2+…+ηqεt-q
(8)
則稱時間序列yt服從(p,q)階ARMA算法.
式中:θi為自回歸系數(shù);p為自回歸算法的階數(shù);εt為零均值白噪聲序列;ηi為q階移動平均算法的系數(shù).
1.3.2 RBF神經(jīng)網(wǎng)絡算法
RBF神經(jīng)網(wǎng)絡(Radial Basis Function)又稱徑向基神經(jīng)網(wǎng)絡[11],屬于前饋網(wǎng)絡,有結構簡單、學習速度快、在非線性數(shù)據(jù)處理中映射能力強等特點;RBF神經(jīng)網(wǎng)絡屬于3層神經(jīng)網(wǎng)絡:輸入層、隱層和輸出層;各層之間的變換關系不同:從輸入層到隱層的變換是非線性的,而從隱層到輸出層變換是線性的.流程圖見圖1.
圖1 RBF神經(jīng)網(wǎng)絡流程圖
假設輸入層有n個客流數(shù)據(jù)輸入,隱層有m個計算節(jié)點,則對于每1個輸入信號,隱層會產生1個m維空間向量,這向量由徑向基函數(shù)組成;ω是隱層與輸出層連接的系數(shù),最后輸出y,為單輸出,見式(9):
(9)
式中:σ為徑向基函數(shù)寬度;ci為徑向基函數(shù)中心.
1.3.3 ARMA-RBF組合預測算法
經(jīng)變點算法、小波去噪處理后的城市地鐵客流數(shù)據(jù)屬于非平穩(wěn)時間序列,通過差分計算將非平穩(wěn)時間序列轉變成平穩(wěn)時間序列,并用ARMA模型預測,但ARMA模型不能預測客流數(shù)據(jù)中的非線性.本文構建ARMA-RBF組合客流預測算法,降低模型的預測誤差.具體步驟如下.
步驟1輸入二次處理后的客流數(shù)據(jù).
步驟2檢驗平穩(wěn)性,計算自相關函數(shù)與偏自相關函數(shù)的值并繪制圖形,若圖形具有拖尾性,則屬于平穩(wěn)時間序列,轉到步驟4;若圖形無拖尾性,則屬于非平穩(wěn)時間序列,轉到步驟3.
步驟3差分計算,將非平穩(wěn)時間序列轉變成平穩(wěn)時間序列.
步驟4假設客流時間序列yt由線性Lt和非線性Nt構成,即:
yt=Lt+Nt
(10)
步驟5確定p、q,利用AIC準則確定ARMA算法的階數(shù).
步驟6針對地鐵客流時間序列中的線性部分,采用ARMA模型進行客流預測,預測結果為t,令具有非線性特征的預測誤差為et:
et=yt-t
(11)
步驟7將et隨機分成2部分:75%的誤差作為訓練集,25%作為測試集.
步驟8利用K-means聚類確定徑向基函數(shù)中心,用平均法確定徑向基函數(shù)寬度,從而確定RBF算法.
步驟9采用訓練集對RBF算法訓練后,用RBF對測試集的結果進行預測.
步驟10令RBF的預測值為t,則預測結果如下:
t=t+t
(12)
為預測地鐵客流數(shù)據(jù)的變化情況,采集北京地鐵4號線新街口、平安里與西四地鐵站連續(xù)2周06:00—22:00的進出站客流數(shù)據(jù),以5 min為間隔統(tǒng)計數(shù)據(jù),同一天內新街口、平安里與西四地鐵站的進站客流數(shù)據(jù)及出站客流數(shù)據(jù)統(tǒng)計見圖2.
圖2 進出站客流數(shù)據(jù)
圖3 變點算法
選取同一天3個車站的進站客流數(shù)據(jù)為例進行研究.基于變點算法對進出站客流數(shù)據(jù)進行預處理,得到的變點集根據(jù)狀態(tài)不同分為4個模式區(qū)間,分別為08:15—10:00,10:00—16:40,16:40—19:40,19:40—次日08:15,體現(xiàn)了正常的早晚高峰時間階段,驗證了變點算法的可信度(圖3).
經(jīng)過變點算法處理之后,基于小波變化對數(shù)據(jù)進行去噪處理,分別用haar小波、db小波、sym小波、coif小波4種對數(shù)據(jù)去噪,并在這些小波變化的基礎上進行多層數(shù)分解處理.
用haar小波去噪,如圖4所示.
用db小波去噪,并進行多層分解,如圖5所示.
用sym小波去噪,并進行多層分解,如圖6所示.
用coif小波去噪,并進行多層分解,如圖7所示.
對4種小波函數(shù)及不同分解層數(shù)下的小波變化,分別計算信噪比,結果見表1、表2.
SNR=10×lg(powersignal/powernoise)
(13)
信噪比越大,去噪效果越好.在db小波函數(shù)分解層數(shù)為4時,信噪比最大.因此,本文采用小波基函數(shù)db4對原始客流數(shù)據(jù)進行去噪處理.
圖4 haar小波變化
經(jīng)變點算法、小波去噪處理后,檢驗時間序列的平穩(wěn)性,分別計算自相關函數(shù)值與偏自相關函數(shù)值并繪制圖8.
通過圖8可明顯看出,自相關函數(shù)從1.0下降至0.0并在鄰近波動,且波動幅度逐漸減??;偏自相關函數(shù)從1.0衰減到0.0后,并在鄰近震蕩,且無限向0.0靠近;兩者都具有拖尾性,屬于平穩(wěn)時間序列,滿足ARMA算法的適用條件,因此可用ARMA算法對客流進行預測.
圖5 db小波變化
圖6 sym小波變化
圖7 coif小波變化
圖8 平穩(wěn)性檢驗圖
表1 信噪比對比一
表2 信噪比對比二
基于AIC準則對ARMA模型的階數(shù)進行確定.
通過實驗計算,當p=2,q=3時,AIC取得最小值,因此ARMA算法的階數(shù)確定為ARMA(2,3).
用ARMA-RBF、ARMA、RBF 3種算法對進出站客流數(shù)據(jù)進行預測(圖9),分別計算絕對百分比誤差并進行比較(表3~表5).
絕對百分比預測誤差占比統(tǒng)計如下:
經(jīng)計算得出,在<10%的誤差范圍內,ARMA-RBF組合預測算法的平均絕對百分比預測誤差為93.9%、RBF算法為59.37%和ARMA算法為73.9%.
由表3~表5可知,ARMA-RBF組合預測算法的預測誤差最小,RBF算法的預測誤差最大,ARMA算法的預測誤差介于兩者之間.結果表明,ARMA-RBF算法的預測結果比較理想,優(yōu)于單一模型的預測效果.因此,可用于提高城市軌道交通系統(tǒng)進出站客流的預測精度.
圖9 MAPE值對比
表3 新街口MAPE值對比表 %
表4 平安里MAPE值對比表 %
表5 西四MAPE值對比表
為了使城市軌道交通客流能有效進行預測,針對非線性部分,本文用變點算法在客流時間序列中尋找變點,并基于小波變化對變點集進行去噪處理,提高數(shù)據(jù)的有效性,在此基礎上基于ARMA模型和RBF神經(jīng)網(wǎng)絡算法,構建了ARMA-RBF客流預測算法.以實際客流數(shù)據(jù)進行驗證,結果表明,在誤差范圍小于10%時,ARMA-RBF算法預測平均精度為93.9%,分別比ARMA模型和RBF模型高31.95%、36.77%,表明了本文所提方法的有效性,對軌道交通客流預測具有一定的參考意義.