王竹榮,薛偉,牛亞邦,崔穎安,孫欽東,黑新宏
(西安理工大學(xué)計算機科學(xué)與工程學(xué)院,陜西 西安 710048)
近年來,智能交通系統(tǒng)(ITS,intelligent transportation system)迅速發(fā)展[1]。停車誘導(dǎo)信息系統(tǒng)(PGIS,parking guidance information system)是ITS 中不可缺少的組成部分,泊位占有率預(yù)測是其中一項重要技術(shù)。根據(jù)國際停車協(xié)會(IPI,International Parking Institute)的一項調(diào)查,超過30%的汽車在公路上尋找停車位,而這些巡航汽車在城市地區(qū)造成了高達40%的交通堵塞[2]。研究數(shù)據(jù)顯示,在公路的車流量中,泊車車輛占道路車流量的12%~15%。尋找車位的過程會增加30%的燃油消耗[3]。泊位占有率預(yù)測和泊位信息共享對停車場的日常運行、調(diào)度規(guī)劃以及交通運行狀態(tài)具有重要影響。泊位占有率預(yù)測已經(jīng)引起學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。例如,谷歌地圖基于用戶調(diào)查和軌跡數(shù)據(jù)[4]預(yù)測全市范圍內(nèi)的停車困難程度;百度地圖基于環(huán)境上下文特征(如興趣點、地圖查詢等),估計全市范圍內(nèi)的實時停車位可用信息[5]。上述方法是對某一區(qū)域的停車難度進行預(yù)測和分級,這可能導(dǎo)致對于單個停車場的泊位占有率預(yù)測結(jié)果不準(zhǔn)確。
現(xiàn)有的泊位占有率預(yù)測方法主要為基于統(tǒng)計學(xué)的預(yù)測方法和基于機器學(xué)習(xí)的預(yù)測方法?;诮y(tǒng)計學(xué)的預(yù)測方法雖然計算較為簡單,時間復(fù)雜度較低,但是預(yù)測精度不高且穩(wěn)定性較差。例如,Dunning 等[6]提出建立一個停車場數(shù)據(jù)收集以及泊位預(yù)測的PGIS,利用差分整合移動平均自回歸模型進行泊位占有率預(yù)測,實驗結(jié)果表明該模型的預(yù)測效果并不穩(wěn)定,僅能預(yù)測占有率相對平穩(wěn)的時間段,在出現(xiàn)波峰或者波谷的時間段預(yù)測效果較差。Caliskan 等[7]利用PGIS 采集的車輛抵達停車場的時間和停車場泊位占有率等歷史數(shù)據(jù),使用連續(xù)時間齊次馬爾可夫與排隊論預(yù)測方法進行泊位占有率預(yù)測。Chen 等[8]對泊位占有率預(yù)測展開研究,結(jié)合泊位占有率的外在影響因素,利用通用代數(shù)建模系統(tǒng)(GAMS,the general algebraic modeling system)進行建模求解,泊位占有率預(yù)測精度有一定提升。Rajabioun等[9]和Klappenecker等[10]通過數(shù)學(xué)方法進行泊位占有率預(yù)測,該方法依賴于參數(shù)控制,具有很強的樣本依賴性,雖然降低了計算的時間復(fù)雜度,但穩(wěn)健性較差。Richter 等[11]通過分析停車場的泊位歷史數(shù)據(jù),對泊位數(shù)據(jù)時間和空間進行聚類,來選擇最優(yōu)的時空特征,預(yù)測準(zhǔn)確性進一步提高。為解決基于統(tǒng)計學(xué)泊位占有率預(yù)測方法的不足,基于機器學(xué)習(xí)的泊位占有率預(yù)測方法近幾年大量涌現(xiàn)。楊兆升等[12]將BP(back propagation)神經(jīng)網(wǎng)絡(luò)應(yīng)用到泊位占有率預(yù)測問題中。陳群等[13]利用相空間重構(gòu)對泊位數(shù)據(jù)進行預(yù)處理,并利用Elman 神經(jīng)網(wǎng)絡(luò)泊位預(yù)測方法進一步提升模型預(yù)測精度。Blythe 等[14]和季彥婕等[15]提出基于小波變換的泊位預(yù)測模型,然后利用啟發(fā)式算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,提出粒子群優(yōu)化的小波神經(jīng)網(wǎng)絡(luò)停車場泊位預(yù)測模型。陳海鵬等[16]采用小波變換和 ELM(wavelet transform with extreme learning)相結(jié)合的方法進行泊位的短時預(yù)測,所提模型在不降低預(yù)測精度的情況下,提升了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率。韓印等[17]提出基于灰色?小波神經(jīng)網(wǎng)絡(luò)的有效泊位預(yù)測算法。
綜上分析可知,基于統(tǒng)計學(xué)的泊位預(yù)測方法在時間復(fù)雜度方面具有優(yōu)勢,但是預(yù)測精度相對較低且樣本依賴性強。與之相比,基于機器學(xué)習(xí)的泊位預(yù)測方法的預(yù)測精度大幅提升,適合時間跨度較長的泊位預(yù)測場景要求。
泊位占有率預(yù)測是一種具有典型時間序列特征的時間序列預(yù)測問題。隨著深度學(xué)習(xí)在圖像處理和自然語言領(lǐng)域的發(fā)展,很多新的神經(jīng)網(wǎng)絡(luò)模型和方法被用于時間序列預(yù)測問題,如Seq2seq 模型結(jié)合殘差網(wǎng)絡(luò)[18]、深度神經(jīng)網(wǎng)絡(luò)結(jié)合統(tǒng)計學(xué)方法的ARMAM(autoregressive moving average model)[19]、基于注意力機制的長短時記憶網(wǎng)絡(luò)[20]、基于時間注意力學(xué)習(xí)的多視野時間序列預(yù)測方法[21]、基于時間模式的神經(jīng)網(wǎng)絡(luò)[22-23]、基于DTW(dynamic time warping)的直覺模糊時間序列預(yù)測模型[24]和利用直覺模糊多維取式推理建立的高階模型[25]。其他的模型介紹如下。自注意力機制轉(zhuǎn)移網(wǎng)絡(luò)模型[26]通過矩陣控制序列權(quán)重的學(xué)習(xí)方式學(xué)習(xí)特征信息,主要適用于自然語言處理問題,是目前自然語言處理研究和應(yīng)用最為廣泛的模型。自注意力機制的卷積模型[27]通過改變自注意力機制結(jié)構(gòu),將原有的注意力用于計算全局的隱含層向量權(quán)重,此模型利用卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)獲取局部信息,將時間復(fù)雜度從O(n2)降低到O(n(logn)2),加快了運算速度?;谏鐣⒁饬Φ男腥塑壽E預(yù)測模型提高了預(yù)測的可解釋性和預(yù)測精度[28]。何堅等[29]提出了綜合考慮多維時空因果關(guān)系的泊位占有率預(yù)測技術(shù)和方法。梅振宇等[30]對泊位占有率序列的復(fù)雜性度量方法進行了分析。
從長遠發(fā)展角度考慮,PGIS 不僅要及時地為用戶提供的泊位信息,還應(yīng)對未來一段時間的泊位需求信息做出預(yù)估,給予用戶更長時間進行出行規(guī)劃。因此,泊位的中長期預(yù)測研究是必要的。目前,對泊位占有率中長期預(yù)測的研究相對較少,現(xiàn)有的預(yù)測方法主要以傳統(tǒng)的迭代計算為主,預(yù)測效果較差。深度學(xué)習(xí)方法提供了處理多元時間序列的預(yù)測新思路。對泊位的中長期預(yù)測方法進行研究,在增加預(yù)測步長的前提下,提升預(yù)測精度及預(yù)測序列的穩(wěn)定性指標(biāo)成為必要工作。
本文主要工作如下。1)提出了一種高效的時間序列預(yù)測模型。所提模型以sequence-to-sequence 為整體框架,以雙向長短時記憶(BiLSTM,bi-directional long short-term memory)網(wǎng)絡(luò)[31]為模型的編碼器和解碼器的內(nèi)部結(jié)構(gòu),通過一維CNN 提取多變量的局部特征作為模型的注意力機制,捕獲泊位預(yù)測問題特征的時間模式信息。2)將所提模型用于預(yù)測泊位占有率數(shù)據(jù)預(yù)測,測試結(jié)果及對比分析表明,所提帶有注意力機制的神經(jīng)網(wǎng)絡(luò)模型有較強的非線性特征提取能力,與 LSTM(long short-term memory)網(wǎng)絡(luò)模型相比預(yù)測精度較高,有較強的穩(wěn)健性和穩(wěn)定性。
sequence-to-sequence 模型實現(xiàn)了從一個序列到另一個序列的轉(zhuǎn)換。Google 曾用 sequence-tosequence 模型加注意力機制來實現(xiàn)翻譯功能。sequence-to-sequence 模型突破了傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)模型輸入輸出序列大小固定的限制。sequence-to-sequence 由編碼器(encoder)和解碼器(decoder)兩部分組成,能有效提取輸入數(shù)據(jù)的特征。停車場泊位數(shù)據(jù)具有典型的時間序列特征,通過歷史數(shù)據(jù)預(yù)測未來停車場占有率,符合序列到序列模型的時間數(shù)據(jù)序列特征。因此,本文利用sequence-to-sequence模型結(jié)合時間模式的注意力機制進行泊位占有率預(yù)測。
本文采用sequence-to-sequence 編解碼器結(jié)構(gòu)作為泊位預(yù)測模型,其中編碼器和解碼器采用BiLSTM 網(wǎng)絡(luò)。編碼器端將不定長序列輸出為定長序列,由于輸入序列較長,解碼器端難以獲得有效的數(shù)據(jù)信息。因此,本文引入注意力機制,增強局部數(shù)據(jù)特征學(xué)習(xí)能力,保留BiLSTM 編碼器對輸入序列的輸出,通過CNN 獲得多變量的時間模式信息,并存儲上下文信息。通過對模型進行訓(xùn)練,根據(jù)學(xué)習(xí)特征信息,將輸入序列與模型輸出關(guān)聯(lián)起來,并對相關(guān)性高的序列分配較高的學(xué)習(xí)權(quán)重,用輸出序列提取高度相關(guān)的有用特征。解碼器將結(jié)合編碼器輸出信息及注意力機制存儲的時間模式信息,輸出預(yù)測目標(biāo)序列。
BiLSTM 是雙向LSTM,由前向LSTM 與后向LSTM 組合而成,它們用來建模上下文信息,具有更強的長期信息記憶能力。
BiLSTM 的單元結(jié)構(gòu)如圖 1 所示,其中(x1,x2,…,xm)為輸入序列,LSTML為前向LSTM,LSTMR為后向LSTM,hLm為前向LSTM 隱藏狀態(tài)向量,hRm為后向LSTM 隱藏狀態(tài)向量,ht為BiLSTM 的隱藏狀態(tài)向量。BiLSTM 的隱藏狀態(tài)需要結(jié)合前向和后向2 個方向的隱藏狀態(tài)。
BiLSTM 的隱藏狀態(tài)向量為
BiLSTM 是由2 條LSTM 鏈?zhǔn)浇Y(jié)構(gòu)組成,而LSTM 的內(nèi)部結(jié)構(gòu)可參見文獻[32-33]。
BiLSTM 中的單向LSTM 描述如下。每一個步長t與其對應(yīng)的輸入序列為X={x1,x2,…,xw}(w為滑動窗口大?。?,網(wǎng)絡(luò)內(nèi)部單元中包括輸入門it、遺忘門ft、輸出門ot和隱含層ht。狀態(tài)單元ct通過控制it、ft和ot來控制數(shù)據(jù)的記憶及遺忘,如式(2)~式(9)所示。
圖1 BiLSTM 單元結(jié)構(gòu)
其中,Wi、Wf、Wo、表示輸入過程的權(quán)重參數(shù),Ui、Uf、Uo、Uc表示狀態(tài)轉(zhuǎn)移權(quán)重參數(shù),b i、bf、bo、bc表示偏差參數(shù),表示候選記憶細胞,tanh(?)表示雙曲正切函數(shù),·表示點乘。
sigmoid 函數(shù)σ(x)為一個logistic 函數(shù),它可以將一個實數(shù)映射到(0,1)。tanh(?)是雙曲正切函數(shù),它可以將數(shù)值縮放到(?1,1)。三類門限控制單元共同控制信息進入和離開記憶細胞,輸入門it調(diào)節(jié)進入記憶細胞的新信息,遺忘門ft控制記憶細胞中保存的信息,輸出門ot定義輸出信息。LSTM 的門結(jié)構(gòu)使時間序列上的信息形成一個有效的依賴關(guān)系。
sequence-to-sequence 模型在處理序列任務(wù)時,對輸入序列或輸出序列的長度沒有限制,可執(zhí)行不定長輸入和不定長輸出。sequence-to-sequence 模型結(jié)構(gòu)如圖2 所示。
圖2 sequence-to-sequence 模型結(jié)構(gòu)
圖2 中,sequence-to-sequence 模型由編碼器、上下文向量vt和解碼器組成。編解碼器通常是多層的RNN 或LSTM 結(jié)構(gòu),本文選擇BiLSTM 網(wǎng)絡(luò)作為編碼器和解碼器網(wǎng)絡(luò)。上下文向量vt包含了x1,x2,…,xm隱含層編碼信息。對于時間t,將編碼器隱含層ht、解碼器之前時刻的輸出yt?1、之前時刻的隱含層狀態(tài)st?1以及vt輸入解碼器。最后得到解碼器的隱含層狀態(tài)st,解碼器對輸出值進行預(yù)測。
sequence-to-sequence 編解碼器結(jié)構(gòu)模型計算式如式(10)和式(11)所示。
其中,x和y分別為sequence-to-sequence 編碼器端輸入序列和解碼器端最終輸出預(yù)測值。
編碼器輸入端是x和上一個時間步的隱藏狀態(tài)ht?1,輸出端是當(dāng)前時間步的隱藏狀態(tài)ht,即
對原始時間序列使用BiLSTMBlockCell 處理,得到每個時間步的隱藏狀態(tài)hi(hi為列向量),每個hi維度為m,w是滑動窗口長度,得到的隱藏狀態(tài)矩陣。隱藏狀態(tài)矩陣的行列向量意義如下。
1) 行向量代表單個變量在所有時間步的狀態(tài),即同一變量的所有時間步構(gòu)成的向量。
2) 列向量代表單個時間步狀態(tài),即同一時間步下的所有變量構(gòu)成的向量。
所提模型中利用一維CNN 學(xué)習(xí)時間序列數(shù)據(jù)的時間模式信息,即TPA(temporal pattern attention)作為網(wǎng)絡(luò)的局部特征學(xué)習(xí)方式[23]。TPA 機制結(jié)構(gòu)如圖3 所示。圖3 中最左側(cè)箭頭表示對變量的處理,每一行表示一個變量的時間序列數(shù)據(jù)。通過卷積計算獲得該變量在卷積核范圍內(nèi)的時間模式矩陣,評分函數(shù)計算時間模式矩陣的分值,并通過sigmoid 函數(shù)將分值歸一化,獲得注意力權(quán)重α,結(jié)合時間模式矩陣及注意力權(quán)重計算得到上下文向量vt。將encoder 中的上下文向量vt及隱藏狀態(tài)ht,與decoder 中的隱藏狀態(tài)st進行連接,并通過輸出層及softmax 函數(shù)來計算輸出預(yù)測值。
以下詳細描述TPA 機制在所提模型中的作用機理。
首先,利用一維CNN 進行卷積計算。
卷積配置為k個濾波器(filter),卷積核(kernel)尺寸為1×T(T代表注意力所覆蓋的范圍,通常令T=w),將上述kernel 沿隱藏狀態(tài)矩陣H的行向量計算卷積,提取該變量在該卷積核范圍attn_length內(nèi)的時間模式矩陣如式(13)所示。
圖3 TPA 機制結(jié)構(gòu)
對上述學(xué)習(xí)到的時間模式進行評分,時間模式的評分函數(shù)f為
注意力權(quán)重αi為
對HC的每一行做加權(quán)求和,得到上下文向量vt為
其中,αi為時間模式矩陣HC的第i行注意力權(quán)重,為時間模式矩陣HC的第i行。
將上下文向量vt與encoder 的隱藏狀態(tài)ht傳入decoder。將encoder 的隱藏狀態(tài)ht、上下文向量vt與decoder 隱藏狀態(tài)st連接,如式(17)所示。
其中,Wv為權(quán)值參數(shù)。
decoder 通過接收前一個輸出序列yt?1以及decoder 的上一個時間步的隱藏狀態(tài)st?1和上下文向量vt計算當(dāng)前隱藏狀態(tài)st,如式(18)所示。
最后,結(jié)合decoder 當(dāng)前時間步隱藏狀態(tài)st及上下文向量vt,通過輸出層及softmax 函數(shù)來計算輸出yt,如式(19)所示。
softmax 函數(shù)是一個概率函數(shù),max 表示取大概率最大值,它的作用是將所有輸出映射到(0,1),softmax 最大值作為最終的輸出。
假設(shè)有一個數(shù)組Y,數(shù)組長度為k,yi表示Y中的第i個元素,那么元素yi的softmax 值為
泊位占有率預(yù)測過程如圖4 所示。首先,獲取目標(biāo)停車場歷史停車數(shù)據(jù)信息;然后,對數(shù)據(jù)進行清洗及預(yù)處理,對基于注意力機制的sequence-to-sequence泊位預(yù)測模型進行訓(xùn)練;最后,將訓(xùn)練好的預(yù)測模型進行泊位預(yù)測?;谧⒁饬C制的sequence-to-sequence 泊位占有率預(yù)測算法流程如圖5 所示。
圖4 泊位占有率預(yù)測過程
圖5 基于注意力機制的sequence-to-sequence 泊位占有率預(yù)測算法流程
基于注意力機制的sequence-to-sequence 泊位占有率預(yù)測算法如算法1 所示。
算法1基于注意力機制的sequence-to-sequence泊位占有率預(yù)測算法
1) 輸入原始數(shù)據(jù);
2) 對數(shù)據(jù)進行清洗及預(yù)處理,包括缺失數(shù)據(jù)填充、剔除無用數(shù)據(jù)、數(shù)據(jù)標(biāo)準(zhǔn)化和歸一化;
3) 進行特征相關(guān)性計算和檢驗;
4) 劃分訓(xùn)練集和測試集;
5) 建立基于sequence-to-sequence 泊位預(yù)測模型結(jié)構(gòu);
6) 構(gòu)建TPA 機制層;
7) 用訓(xùn)練集訓(xùn)練基于注意力機制的sequence-to-sequence 泊位預(yù)測模型及結(jié)構(gòu)參數(shù),得到訓(xùn)練好的預(yù)測模型;
8) 通過將測試集輸入訓(xùn)練好的預(yù)測模型得到預(yù)測結(jié)果。
本文采用均方根誤差(RMSE,root mean squared error)和平均絕對誤差(MAE,mean absolute error)對所建模型的預(yù)測結(jié)果進行度量。RMSE 和MAE 計算式如式(21)和式(22)所示。
其中,n表示樣本數(shù),di表示一組測量值與真實值的偏差,xi表示真實值,表示預(yù)測值。
MAE 范圍為[0,+∞),當(dāng)預(yù)測值與真實值完全吻合時MAE=0,為完美模型,誤差越大,MAE 越大。RMSE 描述所有預(yù)測結(jié)果的偏離程度,而MAE 在對預(yù)測結(jié)果進行評價時,可克服誤差相互抵消的問題,因此對于實際預(yù)測誤差大小的反映更為準(zhǔn)確。
本文測試數(shù)據(jù)來自加州大學(xué)歐文分校(UCI,University of California Irvine)的停車場數(shù)據(jù)庫UCI,該數(shù)據(jù)集包括伯明翰市某區(qū)域內(nèi)29 個停車場從2016 年10 月4 號至2016 年12 月19 號之間的36 285 條數(shù)據(jù)。數(shù)據(jù)信息包含停車場ID、停車時間、停車場的泊位數(shù)、已有車輛。本文使用數(shù)據(jù)集中包括BHMBCCMKT01 在內(nèi)的28 個停車場的停車數(shù)據(jù)作為實驗測試數(shù)據(jù)。
所提模型選取泊位入駐數(shù)、天氣、節(jié)假日、工作日作為模型的4 個特征。首先對數(shù)據(jù)集中數(shù)據(jù)缺失值進行臨近均值填充,然后對數(shù)據(jù)集進行歸一化處理。對每個單個停車場數(shù)據(jù)集進行劃分,其中80%為訓(xùn)練集,20%為測試集。
本文測試分為兩部分,第一部分測試所提模型的結(jié)構(gòu),并通過消融實驗,重點測試所提模型帶有注意力機制和不帶注意力機制的數(shù)據(jù)及對比分析;第二部分測試所提模型對停車場數(shù)據(jù)的測試結(jié)果及對比分析。
本文采用sequence-to-sequence 編解碼器結(jié)構(gòu)來預(yù)測泊位占有率,采用BiLSTM 結(jié)構(gòu)進行編解碼操作,然后通過BiLSTM 層數(shù)優(yōu)化模型參數(shù)。最初實驗的學(xué)習(xí)率設(shè)置為0.01,衰減率設(shè)置為0.5,隱含層節(jié)點的數(shù)量設(shè)置為64,CNN 設(shè)置4 個濾波器,卷積核大小為1 × 18。將數(shù)據(jù)集輸入網(wǎng)絡(luò)進行訓(xùn)練,測試編碼器和解碼器不同層數(shù)BiLSTM 網(wǎng)絡(luò)的RMSE 變化情況。
本文分別對單層、雙層、三層、四層及五層BiLSTM 進行測試,并記錄各自的RMSE 變化過程。測試結(jié)果表明,當(dāng)模型經(jīng)過多次迭代RMSE 趨于穩(wěn)定時,采用單層、四層BiLSTM 結(jié)構(gòu)的訓(xùn)練RMSE較大,經(jīng)過雙層、三層及五層BiLSTM 結(jié)構(gòu)訓(xùn)練RMSE 相對較小且三層為最小。因此,本文選擇編碼器解碼器內(nèi)部BiLSTM層數(shù)為RMSE最小的三層BiLSTM。在深度學(xué)習(xí)中,模型通過訓(xùn)練從數(shù)據(jù)樣本中學(xué)習(xí)所有樣本的變化規(guī)律,容易導(dǎo)致過擬合或欠擬合。通過增加模型訓(xùn)練迭代的次數(shù),可以克服模型擬合不足的現(xiàn)象。對于過擬合的處理,對神經(jīng)單元以一定概率斷開dropout,dropout 通過概率斷開神經(jīng)網(wǎng)絡(luò)之間的連接,減少每次訓(xùn)練時實際參與計算的模型的參數(shù)量,從而減少了模型的實際容量,來防止過擬合。需要注意的是,在測試時,dropout 會恢復(fù)所有的連接,保證模型測試時具有更強的泛化特性,使預(yù)測結(jié)果具有更好的多樣性。本文中dropout 概率設(shè)置為0.5。
以下實驗將利用所提模型分別對單個停車場BHMBCCMKT01和總體28個停車場的泊位占有率進行仿真測試。
3.3.1單個停車場數(shù)據(jù)測試分析及對比實驗
本節(jié)首先進行所提預(yù)測模型有注意力機制和無注意力機制在不同步長下對單個停車場數(shù)據(jù)執(zhí)行預(yù)測的誤差對比分析,然后給出不同預(yù)測模型對單個停車場數(shù)據(jù)的預(yù)測精度的對比。
當(dāng)訓(xùn)練sequence-to-sequence 模型時,使用迭代預(yù)測,并且通過選擇模型的參數(shù)來獲得實驗結(jié)果。sequence-to-sequence 泊位預(yù)測模型參數(shù)如表1 所示,輸出步長為36,編碼器端BiLSTM 隱含神經(jīng)元的個數(shù)E_hidden 和解碼器端BiLSTM 隱含神經(jīng)元個數(shù)D_hidden 均為64,學(xué)習(xí)率Learning_rate 為0.001,遺忘率 Drop_rate 為 0.75,輸入特征數(shù)Input_dim 為4,迭代次數(shù)Epoch 為1 000,輸入數(shù)據(jù)長度Time_step 為18。
表1 sequence-to-sequence 泊位預(yù)測模型參數(shù)
表2 為所提模型有注意力機制和無注意力機制對數(shù)據(jù)集BHMBCCMKT01 的預(yù)測值與真實值對比,圖6 和圖7 為相應(yīng)預(yù)測值與真實值對比曲線。圖8 為所提模型有注意力機制和無注意力機制下泊位預(yù)測MAE 隨步長變化的曲線。
由表2 數(shù)據(jù)可知,有注意力機制的預(yù)測數(shù)據(jù)平均誤差為6.75,無注意力機制的預(yù)測數(shù)據(jù)平均誤差為17.75。對比圖6 和圖7 可以看出,注意力機制在所提模型中具有重要作用。從圖8 可以看出,所提模型無注意力機制時,其MAE 隨步長的增加上升較快;而有注意力機制時,其MAE 隨步長的增加上升較慢。
當(dāng)利用所提預(yù)測模型預(yù)測未來36 個目標(biāo)步長的停車場泊位占有率時,其對應(yīng)的真實值為194,而預(yù)測值為178,其誤差為16,預(yù)測結(jié)果可以滿足實際預(yù)測精度要求。綜上分析可知,所提模型在步長取較大值時預(yù)測結(jié)果的誤差相對穩(wěn)定,模型可達到較好的預(yù)測效果。
3.3.2多個停車場數(shù)據(jù)測試分析
使用28 個停車場作為實驗數(shù)據(jù),并對每一個停車場數(shù)據(jù)集按4:1 進行數(shù)據(jù)劃分,然后進行模型訓(xùn)練和測試。使用基于注意力機制的sequence-tosequence 預(yù)測模型同LSTM 預(yù)測模型進行對比分析。表3為泊位占有率預(yù)測最小MAE,顯示了sequenceto-sequence 泊位占有率預(yù)測模型以及LSTM 泊位預(yù)測模型在數(shù)據(jù)集上的總體效果。LSTM 預(yù)測模型的預(yù)測步長為10,sequence-to-sequence 預(yù)測步長為36,從表3 中可以看出,sequence-to-sequence 泊位預(yù)測模型在28 個停車場的數(shù)據(jù)集測試中,有23 個預(yù)測結(jié)果的MAE小于或等于LSTM泊位預(yù)測模型。sequence-to-sequence 泊位預(yù)測模型MAE 的中位數(shù)(median)為0.021,LSTM 泊位預(yù)測模型MAE 的中位數(shù)為0.025。sequence-to-sequence 泊位預(yù)測模型MAE 的平均值(mean)為0.024,LSTM 泊位預(yù)測模型MAE 的平均值(mean)為0.028。sequenceto-sequence 泊位預(yù)測模型MAE 的最大值(max)為0.059,LSTM 預(yù)測模型MAE 的最大值(max)為0.078。sequence-to-sequence 預(yù)測模型MAE 最小值(min)為0.010,LSTM 泊位預(yù)測模型最小值(min)為0.008 6。從整體來看,sequence-to-sequence 泊位預(yù)測模型預(yù)測結(jié)果MAE 的中位數(shù)、平均值、最大值均優(yōu)于LSTM 泊位預(yù)測模型。
表2 所提模型有注意力機制與無注意力機制的預(yù)測值與真實值對比(步長=36)
圖6 sequence-to-sequence 有注意力機制模型預(yù)測值與真實值對比曲線
圖7 sequence-to-sequence 無注意力機制模型預(yù)測值與真實值對比曲線
圖8 所提模型有注意力機制和無注意力機制MAE 隨步長變化的曲線
表3 泊位占有率預(yù)測的最小MAE 對比數(shù)據(jù)
如圖9 所示,sequence-to-sequence 泊位預(yù)測模型預(yù)測結(jié)果的MAE 更為集中且相對更小。因此,sequence-to-sequence 泊位預(yù)測模型預(yù)測精度整體優(yōu)于LSTM 泊位預(yù)測模型且更為穩(wěn)定。
圖9 sequence to sequence 模型與LSTM 模型MAE 箱線圖分布
綜上所述,基于注意力機制的sequence-tosequence 泊位預(yù)測模型在泊位預(yù)測中,在增加了預(yù)測步長的前提下預(yù)測精度和穩(wěn)定性均有提升。
本文以泊位占有率的預(yù)測作為研究對象,提出了一種基于注意力機制的sequence-to-sequence 模型對泊位占有率問題進行求解,為了提高泊位占有率的預(yù)測精度,在模型中將天氣、工作日、節(jié)假日等特征作為泊位占有率的融合特征,使模型的泛化能力更強,精度更高。在本文的預(yù)測模型中,利用時間模式注意力機制捕獲數(shù)據(jù)的局部特征,利用sequence-to-sequence 模型多輸入多輸出的特性,使模型的擬合能力更強。通過對模型的訓(xùn)練和參數(shù)調(diào)整,對測試集進行測試,使用RMSE 和MAE 對模型預(yù)測結(jié)果進行評估,結(jié)果表明,所提模型表現(xiàn)出更好的預(yù)測效果。將所提模型與LSTM 模型的泊位占有率預(yù)測算法得到的預(yù)測數(shù)據(jù)進行比較,驗證了所提模型和方法的有效性。在未來工作中,將對存在奇異點和噪聲數(shù)據(jù)集的處理進行研究,并考慮泊位占有率的空間特征關(guān)聯(lián)信息,設(shè)計處理更為復(fù)雜情形的預(yù)測模型,致力于模型的理論分析和可解釋性,進一步提高預(yù)測精度,并推廣預(yù)測模型的應(yīng)用前景。