孫 敏 彭 磊 李慧云
1(中國科學(xué)院深圳先進(jìn)技術(shù)研究院 深圳 518055)
2(南昌航空大學(xué) 南昌 330063)
近年來,隨著經(jīng)濟(jì)的快速發(fā)展,市民使用小汽車的數(shù)量也快速上升,這使得大城市停車難的問題越來越嚴(yán)重,同時(shí)也加劇了城市交通的擁堵。研究報(bào)告顯示,擁擠交通中有 30% 是由尋找停車位的汽車造成[1]。而在尋找車位的同時(shí),也增加了不必要的尾氣排放。因此,當(dāng)前全國各地都在積極開展城市級停車誘導(dǎo)系統(tǒng)的建設(shè)工作。
停車誘導(dǎo)系統(tǒng)通過給車輛提供停車場位置和可用車位數(shù)量等相關(guān)信息,幫助車輛快速停車,緩解停車難問題[2-4]。在停車誘導(dǎo)系統(tǒng)中,可用車位預(yù)測是非常重要的一部分,車輛需要在距離目的地一定距離時(shí)知道:當(dāng)他到達(dá)目的地時(shí),周邊停車場可用的車位數(shù)量??捎密囄活A(yù)測技術(shù)可以避免出現(xiàn)車輛到達(dá)停車場入口時(shí)才發(fā)現(xiàn)滿位而無法停放的情況,同時(shí)起到引導(dǎo)車輛停往車位更寬松的停車場的作用。顯然,可用車位預(yù)測是一個(gè)典型的時(shí)間序列預(yù)測問題。當(dāng)前可以采用自回歸積分移動平均模型(Autoregressive Integrated Moving Average Model,ARIMA)、小波神經(jīng)網(wǎng)絡(luò)等實(shí)現(xiàn)精準(zhǔn)的短時(shí)預(yù)測。但需要指出的是,該類方法的高精度是建立在一個(gè)基本條件上,即預(yù)測步數(shù)量足夠少,一般是 1~3 個(gè)預(yù)測步長。如果預(yù)測步數(shù)量增加,那么預(yù)測精度將出現(xiàn)大幅下降。
由于城市交通環(huán)境的復(fù)雜性,往往在車輛啟動時(shí)就需要了解目的地周邊當(dāng)前停車場的可用車位情況,并預(yù)測當(dāng)車輛到達(dá)時(shí)的可用車位情況。這個(gè)時(shí)間長度一般會超過 30 min。如果直接使用當(dāng)前的預(yù)測技術(shù),一般是將預(yù)測步的時(shí)間周期調(diào)整變長,如 10 min 為一個(gè)預(yù)測步。這樣雖然可將30 min 調(diào)整成 3 個(gè)預(yù)測步,但由于每 10 min 給出一個(gè)預(yù)測值,實(shí)際上 30 min 僅能給出 3 個(gè)預(yù)測值。顯然,這個(gè)結(jié)果嚴(yán)重丟失了該時(shí)間區(qū)間內(nèi)更為詳細(xì)的車位變化特征,對停車誘導(dǎo)系統(tǒng)的誘導(dǎo)精度帶來很大的負(fù)面影響。
目前對可用停車位的實(shí)時(shí)預(yù)測,常見的方法主要分為兩類:一類是以 ARIMA 為代表的傳統(tǒng)時(shí)間預(yù)測模型[5],另一類是神經(jīng)網(wǎng)絡(luò)預(yù)測方法[6,7]。其中,傳統(tǒng)時(shí)間序列預(yù)測模型主要通過將時(shí)間序列數(shù)據(jù)分解,對于不平穩(wěn)序列則還需要通過差分等手段將非平穩(wěn)時(shí)間序列轉(zhuǎn)換為平穩(wěn)時(shí)間序列,從而實(shí)現(xiàn)預(yù)測[8,9]。這種預(yù)測容易受模型參數(shù)的影響,有效性會逐漸降低。神經(jīng)網(wǎng)絡(luò)方法主要通過先對海量數(shù)據(jù)進(jìn)行迭代訓(xùn)練,再擬合數(shù)據(jù)特征,進(jìn)而實(shí)現(xiàn)預(yù)測。相關(guān)研究中,Sun 等[10]和 Yong等[11]研究通過誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)模型來預(yù)測車位占有率,雖然實(shí)現(xiàn)了停車位預(yù)測,但魯棒性差,而且計(jì)算時(shí)需消耗大量的時(shí)間;后來有研究人員[12-14]利用小波神經(jīng)網(wǎng)絡(luò)能很好地?cái)M合非線性復(fù)雜系統(tǒng)特性,雖對可用停車位進(jìn)行短期預(yù)測,預(yù)測速度和穩(wěn)定性也都得到了很大的提高,但也只是單點(diǎn)預(yù)測;Zheng 等[15]通過使用回歸樹、神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)建立組合模型,實(shí)現(xiàn)停車位連續(xù)變化狀態(tài)的預(yù)測,但隨著實(shí)時(shí)數(shù)據(jù)的增加,動態(tài)組合模型切換運(yùn)算所付出的時(shí)間成本也很昂貴。
以上所提到的方法均不能很好地解決可用停車位波動區(qū)間預(yù)測的問題。其中,大部分方法側(cè)重于點(diǎn)的預(yù)測,雖有少部分方法考慮區(qū)間范圍內(nèi)的變化與趨勢,但計(jì)算時(shí)間成本也很高。
針對這一問題,本文提出了一種預(yù)測方法——模糊長短期記憶神經(jīng)網(wǎng)絡(luò)(Fuzzy Long Short-Term Memory Network Prediction On Parking Spaces,F(xiàn)LOPS),可以在較長預(yù)測時(shí)間周期內(nèi)保持?jǐn)?shù)據(jù)變化特征,并適用于較大時(shí)間跨度(>30 min)條件下的高精度預(yù)測。該方法由 3 個(gè)主要步驟構(gòu)成:(1)基于模糊信息?;?Fuzzy Information Granulation,F(xiàn)IG)方法對停車場歷史數(shù)據(jù)進(jìn)行海量關(guān)鍵信息提取[16],構(gòu)造預(yù)設(shè)預(yù)測周期的特征集;(2)構(gòu)造特征集的長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory Network,LSTM),并對未來 1~3 個(gè)預(yù)測步進(jìn)行特征集預(yù)測;(3)基于 3 次樣條插值對得到的特征集預(yù)測結(jié)果進(jìn)行插值重構(gòu),由此得到預(yù)測時(shí)間周期內(nèi)的停車位連續(xù)變化結(jié)果。
對可用停車位的連續(xù)變化狀態(tài)預(yù)測,包括可用停車位數(shù)目變化預(yù)測和停車高峰的時(shí)間預(yù)測。本文主要分為 3 個(gè)部分:(1)基于模糊信息粒化的數(shù)據(jù)變換,獲取時(shí)間序列數(shù)據(jù)對應(yīng)的特征數(shù)據(jù)集;(2)基于 LSTM 神經(jīng)網(wǎng)絡(luò)的區(qū)間預(yù)測模型,預(yù)測可用停車位數(shù)目的變化特征;(3)基于 3 次樣條插值的重構(gòu)算法,獲得可用泊位的連續(xù)變化狀態(tài)。
可用泊位是一個(gè)隨時(shí)間變化而不斷變化的數(shù)據(jù)。面對一個(gè)如此巨大的非線性時(shí)間序列數(shù)據(jù),本文通過做壓縮將關(guān)鍵信息提取出來,獲得對應(yīng)的特征數(shù)據(jù)集合。在本文中,使用基于模糊信息?;?FIG)方法對可用停車位的時(shí)間序列重構(gòu)及粒化。其中,模糊信息?;菍A繑?shù)據(jù)進(jìn)行關(guān)鍵信息提取的有效方法。對時(shí)間序列進(jìn)行模糊信息粒化主要分為 2 個(gè)過程:
(1)將時(shí)間序列分割成若干個(gè)小子序列,作為操作窗口;
(2)對產(chǎn)生的每一個(gè)窗口進(jìn)行模糊化,生成一個(gè)個(gè)模糊集,即模糊信息粒。
處理后的數(shù)據(jù)樣本能夠保持原樣本數(shù)據(jù)特征,得到一系列更小的樣本區(qū)間,便于后續(xù)進(jìn)行數(shù)據(jù)的計(jì)算。
停車場的時(shí)間序列數(shù)據(jù)X,如公式(1)所示。
數(shù)據(jù)變換得到具有模糊信息的特征矩陣,用于預(yù)測可用停車位數(shù)目變化特征,本文考慮有記憶模式的預(yù)測模型,這能將之前時(shí)刻的數(shù)據(jù)關(guān)聯(lián)起來具有更好的效果。
長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),是做時(shí)間序列分析的常用方法。它能夠克服傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)在反向傳播中遇到的梯度爆炸和衰減的缺點(diǎn),并通過在隱藏層加入記憶單元,將時(shí)間序列的短長期相互關(guān)聯(lián)起來,控制有關(guān)信息的刪除與存儲,以此構(gòu)成記憶網(wǎng)絡(luò)。本文的記憶單元結(jié)構(gòu)如圖 1 所示,主要由輸入門、輸出門、遺忘門和存儲單元組成。其中,門是一種讓信息選擇式通過的方法,其含有sigmoid 函數(shù),以決定存儲單元狀態(tài)中哪些部分需要輸出,并經(jīng)過 tanh 函數(shù)得到想要輸出的數(shù)據(jù)。
圖1 長短期記憶神經(jīng)網(wǎng)絡(luò)記憶單元Fig. 1 Structure of memory unit of long short-term memory network
在本文中,LSTM 預(yù)測模型包含多個(gè) LSTM記憶單元。其中,選擇“Min-Max Normalization”進(jìn)行數(shù)據(jù)歸一化處理;選擇“adam”作為優(yōu)化器;選擇“mean squared error” 作為損失函數(shù)。特征矩陣X和為模型輸入,其中可用泊位數(shù)量變化的預(yù)測由矩陣X來實(shí)現(xiàn),而峰值時(shí)間的預(yù)測由矩陣來實(shí)現(xiàn)。利用 LSTM 隱藏層迭代計(jì)算得到,未來第k+1 個(gè)?;翱诘目捎貌次粩?shù)量變化Pk+1=(startk+1, lowk+1, upk+1, endk+1)和對應(yīng)的峰值時(shí)刻算法流程如下:
?
LSTM 神經(jīng)網(wǎng)絡(luò)模型預(yù)測得到 startk+1、lowk+1、upk+1、endk+1和(其中 startk+1和endk+1是第k+1 個(gè)?;翱趦?nèi)的起始點(diǎn)和終止點(diǎn)對應(yīng)的可用停車位數(shù)量,對應(yīng)的=60T)預(yù)測特征數(shù)據(jù)之后,便得到可用停車位數(shù)目的變化特征。這些特征數(shù)據(jù)在數(shù)值分布上是離散的,插值就是通過這些離散的數(shù)據(jù),去確定某一類已知函數(shù)的參數(shù)或?qū)ふ夷硞€(gè)近似函數(shù),使得到的近似函數(shù)與已知數(shù)據(jù)有較高的擬合程度,最后求取“斷鏈”處的模擬值,實(shí)現(xiàn)曲線重構(gòu)。
因此,為將這些特征數(shù)據(jù)重構(gòu)得到預(yù)測區(qū)間內(nèi)可用停車位數(shù)目的連續(xù)變化狀態(tài),本文采用 3次樣條插值進(jìn)行相應(yīng)數(shù)據(jù)處理。這是因?yàn)?,與更高次樣條相比,它只需較少的計(jì)算和存儲,且較穩(wěn)定,在靈活性和計(jì)算速度之間進(jìn)行了合理的折中。插值重構(gòu)過程具體如下:
(1)對第k+1 個(gè)粒子窗口內(nèi)的時(shí)間進(jìn)行升序排列、劃分區(qū)間,并確定對應(yīng)時(shí)刻的可用停車位數(shù)值。
其中,
本文選擇廣東省深圳市羅湖區(qū)寶琳珠寶中心地上停車場的停車數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),統(tǒng)計(jì)時(shí)間為 2016年7月3日至7月5日,原始可用停車位數(shù)據(jù)如圖 2 所示。其中,數(shù)據(jù)的采樣頻率為每分鐘記錄一次未占用停車位的數(shù)據(jù),因此每天會有 1 440 個(gè)數(shù)據(jù)點(diǎn)。
圖2 2016.07.03—2016.07.05 停車曲線Fig. 2 Sample parking curve from 3 to 5 July 2016
根據(jù) FIG 理論,本文將時(shí)間粒度T設(shè)定為30 min,即選擇每 30 個(gè)點(diǎn)作為一個(gè)?;翱?,則每天對應(yīng) 48 個(gè)?;翱?。在每個(gè)粒化窗口內(nèi)建立模糊集,模糊?;蟮慕Y(jié)果如圖 3 所示。其中,圖中每條柱體都是由特征數(shù)據(jù) start、low、up 和 end 四個(gè)值構(gòu)成;空心柱體表示在這個(gè)時(shí)間段內(nèi),可用停車位數(shù)量是增加的;實(shí)心柱體則表示在這個(gè)時(shí)間段內(nèi)可用停車位減少。在每一個(gè)?;翱谥?,可用泊位數(shù)都是在最大值 up 和最小值 low 之間波動,同時(shí)數(shù)據(jù)量也由每天的 1 440個(gè)降低到 192(48×4)個(gè)。由此,便獲得可用停車位的模糊特征數(shù)據(jù),用于預(yù)測可用停車位數(shù)目變化特征。
預(yù)測可用停車位數(shù)目變化特征數(shù)據(jù)是建立在LSTM 神經(jīng)網(wǎng)絡(luò)的模型基礎(chǔ)上。神經(jīng)網(wǎng)絡(luò)有很多參數(shù)需要設(shè)置,如何調(diào)整模型的超參數(shù)以及如何設(shè)置模型的結(jié)構(gòu)以聚合最佳參數(shù)是非常重要的。本文分兩次實(shí)現(xiàn)對未來停車位的數(shù)目變化預(yù)測和峰值時(shí)間預(yù)測。其中,用于停車位數(shù)目變化預(yù)測的網(wǎng)絡(luò),輸入層和輸出層的神經(jīng)元個(gè)數(shù)都為 4,隱藏層LSTM 的神經(jīng)元個(gè)數(shù)為 10。而用于峰值時(shí)間預(yù)測的網(wǎng)絡(luò),輸出層神經(jīng)元個(gè)數(shù)為 2,其他層不變。首先,利用 2016.07.03—2016.07.05 的停車特征數(shù)據(jù)訓(xùn)練 LSTM 神經(jīng)網(wǎng)絡(luò),也就是經(jīng)過 FIG 變化后的X、矩陣,網(wǎng)絡(luò)訓(xùn)練次數(shù)為 100 次,當(dāng)超過訓(xùn)練次數(shù)則終止訓(xùn)練;然后,將訓(xùn)練好的網(wǎng)絡(luò)模型保存,并利用該模型對可用停車位變化特征數(shù)據(jù)預(yù)測。
本文使用 2016.07.06 的數(shù)據(jù)進(jìn)行測試,把前3 個(gè)時(shí)刻的特征數(shù)據(jù),即可用停車位數(shù)目變化以及峰值時(shí)間數(shù)據(jù)作為輸入,迭代預(yù)測下一個(gè)時(shí)刻的特征數(shù)據(jù),實(shí)驗(yàn)結(jié)果如圖 4 所示。圖 4 中,曲線反映了實(shí)際停車位數(shù)目變化與預(yù)測值的對比情況,start、up、low、end 整體預(yù)測的平均絕對誤差為 2.26。
圖3 2016 年7月6號模糊粒化結(jié)果圖Fig. 3 Fuzzy information granulation result picture in July 6th 2016
預(yù)測得到下一時(shí)刻可用停車位的特征數(shù)據(jù),這只是其中 4 個(gè)點(diǎn)對應(yīng)的可用停車位和出現(xiàn)的時(shí)間。為了讓用戶清楚地知道未來 10 min 內(nèi)目標(biāo)停車場可用停車位的連續(xù)變化,本文用 3 次樣條插值算法,重構(gòu)出可用停車位的連續(xù)變化狀態(tài)曲線。如圖 5 所示,每 10 min 是一個(gè)預(yù)測區(qū)間,在 17:00—17:30 共有三個(gè)區(qū)間,每個(gè)區(qū)間插值得到預(yù)測時(shí)間段內(nèi)可用停車位的連續(xù)變化狀態(tài)。
圖4 特征數(shù)據(jù)集的預(yù)測結(jié)果Fig. 4 Prediction result on feature data
圖5 特征數(shù)據(jù)集重構(gòu)Fig. 5 Feature data reconstruction
圖5 中曲線“original”為真實(shí)的可用停車位情況。從圖 5 對比可以看到,當(dāng)時(shí)間步長都為10 min 時(shí),使用 LSTM 神經(jīng)網(wǎng)絡(luò)預(yù)測只能得到一個(gè)點(diǎn),且區(qū)間的變化趨勢只能把各點(diǎn)直接相連;而本文提出的區(qū)間變化趨勢預(yù)測模型 FLOPS,不僅能知道區(qū)間內(nèi)每個(gè)點(diǎn)的可用停車位信息情況,而且精確度比 LSTM 好,同時(shí)還能知道區(qū)間內(nèi)何時(shí)出現(xiàn)停車高峰,能夠讓用戶掌握更多的停車信息。接下來,對二者進(jìn)行均方根誤差對比,結(jié)果如圖 6 所示。結(jié)合特征數(shù)據(jù)重構(gòu)對比圖(圖 5)和誤差分析圖(圖 6)不難發(fā)現(xiàn),F(xiàn)LOPS 和 LSTM 對區(qū)間端點(diǎn)的預(yù)測都比較準(zhǔn)確,但在時(shí)間步長相同時(shí),LSTM 網(wǎng)絡(luò)對區(qū)間內(nèi)的值的預(yù)測效果明顯不足,均方根誤差波動很大,單獨(dú)使用 LSTM 網(wǎng)絡(luò)的平均均方根誤差(RMSE)為 6.57,而 FLOPS 的平均均方根誤差為 2.86。
同樣地,LSTM 網(wǎng)絡(luò)要實(shí)現(xiàn)區(qū)間趨勢的預(yù)測,需要付出更多預(yù)測步的代價(jià),預(yù)測結(jié)果如圖7 所示。從圖 7 可以看到,在預(yù)測周期為 10 min時(shí),F(xiàn)LOPS 方法與 LSTM 的預(yù)測準(zhǔn)確度近似,但 FLOPS 只需 1 步就可以預(yù)測區(qū)間趨勢,計(jì)算消耗 0.054 s;而 LSTM 需要 10 步才能完成區(qū)間預(yù)測,且需要 1 min 才給出一個(gè)預(yù)測值,計(jì)算消耗 0.56 s,具體的計(jì)算代價(jià)如圖 8 所示。因此,在預(yù)測準(zhǔn)確度相近的情況下,本文所提出的FLOPS 具有更好的計(jì)算性能優(yōu)勢。
現(xiàn)階段對停車場泊位預(yù)測的研究,主要集中在傳統(tǒng)的時(shí)間序列預(yù)測方法和神經(jīng)網(wǎng)絡(luò)模型。在 Yu 等[9]研究中,ARIMA 模型對可用停車位的預(yù)測,均方根誤差為 4.47,本文提出的方法FLOPS 均方根誤差為 2.86;Sharma 等[13]用小波神經(jīng)網(wǎng)絡(luò)做可用停車位的預(yù)測,系統(tǒng)均方根誤差為 3.08;且小波神經(jīng)網(wǎng)絡(luò)模型完成一天的預(yù)測計(jì)算消耗 13.3 s,而本方法 FLOPS 計(jì)算消耗時(shí)間為 8.9 s。因此,本文提出的將 LSTM 網(wǎng)絡(luò)應(yīng)用于可用泊車位的預(yù)測方法,不僅提高了預(yù)測的精度,還提高了計(jì)算速度,具有較大的實(shí)際應(yīng)用價(jià)值。本文的不足之處是,未根據(jù)不同用車時(shí)間對停車數(shù)據(jù)進(jìn)行更細(xì)的劃分,如工作日和非工作日時(shí)市民用車情況大不同,可針對二者細(xì)分預(yù)測模型,這樣應(yīng)該可以進(jìn)一步提高模型的預(yù)測準(zhǔn)確度。
圖6 LSTM 和 FLOPS 誤差結(jié)果對比Fig. 6 RMSE comparison of LSTM and FLOPS
圖7 重構(gòu)結(jié)果對比Fig. 7 Comparison of reconstructed results
圖8 計(jì)算時(shí)間代價(jià)Fig. 8 Computer overhead comparison
本文提出了一種可以在較長預(yù)測時(shí)間周期內(nèi)保持?jǐn)?shù)據(jù)變化特征的預(yù)測方法,適用于較大時(shí)間跨度(>30 min)條件下的高精度預(yù)測。該方法使用模糊信息粒化的思想獲取特征數(shù)據(jù)集,通過 LSTM 網(wǎng)絡(luò)對特征數(shù)據(jù)集進(jìn)行預(yù)測,而后再結(jié)合 3 次樣條插值將特征數(shù)據(jù)集重構(gòu)整個(gè)預(yù)測區(qū)間停車位的連續(xù)變化狀態(tài)。從仿真結(jié)果可以看出,該方法在相同預(yù)測時(shí)間步的可用車位預(yù)測上,比傳統(tǒng)預(yù)測方法具有更高的精度;在保持相近預(yù)測精度的條件下,比傳統(tǒng)預(yù)測方法具有更高的計(jì)算效率。在未來的工作中,我們會考慮更多維度因素,如天氣、大型活動等突變因素對停車帶來的影響,以進(jìn)一步提高預(yù)測準(zhǔn)確度。