包恒彬,馬玉鵬,楊奉毅,韓云飛
(1.中國科學(xué)院新疆理化技術(shù)研究所新疆民族語音語言信息處理實驗室,烏魯木齊 830011;2.中國科學(xué)院大學(xué),北京 100049)
加油站流量可反映城市的能源消耗及經(jīng)濟水平,對加油站的客流量進行準確預(yù)測可幫助相關(guān)部門及企業(yè)制定更符合各站點實際需求的選址、運營以及調(diào)配策略,還可為需要加油的顧客提供推薦信息,以幫助其尋找排隊時間最短的加油站[1]。
目前,針對加油站短時客流量預(yù)測的研究尚少,而加油站客流數(shù)據(jù)是一種典型的時空數(shù)據(jù),這種時空特性使得加油站客流量預(yù)測問題與交通領(lǐng)域的其他問題具有概念上的相似性。早期研究通常采用如差分自回歸移動平均(Autoregressive Integrated Moving Average,ARIMA)模型[2]及其改進方法來解決該類預(yù)測問題,而后期結(jié)合復(fù)雜特征工程與傳統(tǒng)機器學(xué)習(xí)模型的方法被應(yīng)用到該領(lǐng)域。然而,這些傳統(tǒng)的時間序列模型或機器學(xué)習(xí)模型具有較大局限性,不能有效捕捉復(fù)雜的非線性時間與空間依賴的關(guān)系。
近年來,由于深度學(xué)習(xí)憑其優(yōu)異的端到端學(xué)習(xí)能力而在解決自然語言處理、計算機視覺等領(lǐng)域任務(wù)時取得顯著效果[3],因此研究人員逐漸將循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[4]和卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)[5]應(yīng)用到交通領(lǐng)域預(yù)測問題中。RNN 可對時間序列數(shù)據(jù)進行復(fù)雜建模并提取數(shù)據(jù)中的時間依賴關(guān)系,CNN 通過在像素級矩陣中不斷進行卷積操作來捕捉數(shù)據(jù)間的空間相關(guān)性。同時,結(jié)合RNN 與CNN 構(gòu)成一個復(fù)雜深度神經(jīng)網(wǎng)絡(luò)模型以克服傳統(tǒng)方法的局限性,使得整個模型具有強大的時空數(shù)據(jù)多維非線性關(guān)聯(lián)處理能力。將CNN 應(yīng)用于大規(guī)模時空數(shù)據(jù)時需要進行特殊的預(yù)處理操作,目前主流的處理方法是將使用網(wǎng)格矩陣表示的時空數(shù)據(jù)轉(zhuǎn)換為圖像,以學(xué)習(xí)數(shù)據(jù)中的空間依賴關(guān)系。但該方法不適用于站點級的預(yù)測問題,且當(dāng)網(wǎng)格設(shè)置較大時,同一網(wǎng)格會覆蓋多個站點,無法滿足所需的預(yù)測粒度。反之,如果網(wǎng)格尺寸小到只包含一個站點,則構(gòu)成的巨大圖像矩陣與冗余零元素將大幅增加計算量。
因為加油站客流數(shù)據(jù)在時間維度上具有以天為單位的周期性,所以結(jié)合最近幾小時內(nèi)的短期序列與過去幾天的周期性序列,可以更準確地對數(shù)據(jù)時序依賴進行建模。然而,實際中加油站客流數(shù)據(jù)并不具有嚴格意義上的周期性,例如雖然每日的周期趨勢大致相同,但是客流高峰出現(xiàn)的時段并不固定,且在一定范圍內(nèi)發(fā)生漂移,這種現(xiàn)象被稱為周期性數(shù)據(jù)中的時間漂移。因此,僅對過去幾天相同時段的周期性序列進行建模顯然忽略了時間漂移所帶來的影響。
受交通預(yù)測領(lǐng)域研究的啟發(fā),本文結(jié)合加油站客流數(shù)據(jù)特征,提出利用路網(wǎng)矩陣對站級客流數(shù)據(jù)進行建模,并使用基于注意力機制的時空網(wǎng)絡(luò)(Attention Mechanism-based Spatial Temporal Network,AMSTN)模型同時捕獲數(shù)據(jù)的空間與時間維度依賴關(guān)系,從而對加油站客流量進行預(yù)測。采用該模型對數(shù)據(jù)內(nèi)空間與時間維度的關(guān)聯(lián)關(guān)系分別進行建模,利用局部CNN捕獲站點間的空間依賴關(guān)系,再采用多個長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[6]建模短期與長期時間依賴性,并引入注意力機制修正時間漂移問題對長期預(yù)測結(jié)果的影響,以提高預(yù)測結(jié)果的準確性。
加油站客流量預(yù)測問題與交通領(lǐng)域的相關(guān)預(yù)測問題具有相似性。本質(zhì)上,交通預(yù)測的目標是預(yù)測某時間某位置的相關(guān)指標值,例如出租車需求量、區(qū)域客流量等,而這些指標的形成過程是相似的。因此,交通預(yù)測領(lǐng)域的相關(guān)研究工作可為加油站客流預(yù)測問題提供參考。交通預(yù)測領(lǐng)域中的現(xiàn)有模型大致可以分為基于傳統(tǒng)機器學(xué)習(xí)方法的預(yù)測模型和基于深度學(xué)習(xí)的預(yù)測模型。
交通預(yù)測問題的主要研究對象是時空序列數(shù)據(jù),它是一種特殊的時間序列數(shù)據(jù),早期研究主要根據(jù)數(shù)據(jù)的時間維度進行預(yù)測,采用經(jīng)典的時間序列預(yù)測方法依賴于特征工程和特征選擇來獲得較好的預(yù)測特征。傳統(tǒng)的交通客流預(yù)測方法可以分為參數(shù)方法與非參數(shù)方法。其中,參數(shù)方法包括基于ARIMA 及其改進方法[7-9],非參數(shù)方法包括K-近鄰(K-Nearest Neighbor,KNN)非參數(shù)回歸法[10]、歷史平均法(Historical Average,HA)與向量自回歸法(Vector Autoregressive,VAR)[11]等。然而,基于ARIMA及其改進方法的模型依賴于不間斷的輸入序列,不適用于分析缺少數(shù)據(jù)的時間序列。HA 方法不能有效捕捉交通數(shù)據(jù)的動態(tài)變化(如周期性特征)。VAR方法可以捕捉相關(guān)時間序列之間的線性相關(guān)性,但忽略了預(yù)測值之間的相關(guān)性。由于上述方法僅考慮了時序特征,因此不能捕捉到數(shù)據(jù)間復(fù)雜的非線性時空依賴關(guān)系。
受圖像識別領(lǐng)域的研究啟發(fā),現(xiàn)有的深度學(xué)習(xí)預(yù)測模型多數(shù)將同時段的預(yù)測量按空間位置建模為類似于圖像的數(shù)據(jù)矩陣,并按時間順序組織各時段的數(shù)據(jù)矩陣,為預(yù)測模型保留數(shù)據(jù)中豐富的空間與時間維度信息。文獻[12]利用基于CNN 的網(wǎng)絡(luò)模型捕捉空間依賴,并采用殘差神經(jīng)網(wǎng)絡(luò)對城市人群流動進行預(yù)測。文獻[13-14]使用基于RNN 的模型來建模時序依賴關(guān)系。雖然上述研究均明確對空間依賴或時序依賴進行建模,但它們都沒有同時考慮空間與時間兩種維度間的依賴關(guān)系。因此,文獻[15-17]嘗試結(jié)合CNN 與LSTM 的優(yōu)勢同時建模交通數(shù)據(jù)的空間和時間依賴性。文獻[16]通過將卷積LSTM 單元與注意力機制相結(jié)合來增強代表性數(shù)據(jù)對每一步預(yù)測的影響權(quán)重。文獻[17]采用局部CNN、LSTM 和語義圖嵌入分別集成空間、時間和語義多個角度進行區(qū)域級出租車需求量預(yù)測。文獻[18]提出門控機制和周期注意機制,使模型具有同時捕獲靜態(tài)與動態(tài)時空依賴的能力。
針對加油站領(lǐng)域預(yù)測的相關(guān)工作較少,文獻[19]利用出租車GPS 數(shù)據(jù),通過出租車在加油站的等待時間來估計加油站內(nèi)的排隊長度,并預(yù)測此時加油站內(nèi)的客流量及銷量。文獻[20]將城市劃分為網(wǎng)格空間,并結(jié)合多種深度學(xué)習(xí)網(wǎng)絡(luò)建模區(qū)域內(nèi)的時間、空間與語義三種維度的相關(guān)性,從而對區(qū)域級的油品銷量進行預(yù)測。然而在加油站級客流量預(yù)測問題中,客流數(shù)據(jù)間的站級復(fù)雜非線性空間與時間依賴關(guān)系也是影響預(yù)測結(jié)果準確性的重要因素,而以上研究都沒有進行相關(guān)的分析建模。因此,本文提出使用路網(wǎng)矩陣建模站級客流數(shù)據(jù),并通過AMSTN 模型處理數(shù)據(jù)間復(fù)雜空間與時間維度依賴關(guān)系,實現(xiàn)對加油站級客流量的準確預(yù)測。
將加油站站點集合定義為S={s1,s2,…,sM},時間間隔集合為T={t1,t2,…,tn},每個時間間隔t的長度為30 min。本文對客流記錄、客流量及路網(wǎng)矩陣進行定義,并在此基礎(chǔ)上對加油站級客流量預(yù)測問題進行形式化定義與描述。
定義1(客流記錄)用三元組(o.t,o.s,o.uid)表示一條客流記錄,其中,o.t、o.s和o.uid 分別為記錄時間戳、加油站唯一編碼與顧客唯一編碼。
定義2(客流量)用表示站點s在時間間隔t內(nèi)的客流量,=|{o:o.t∈T?o.s∈S}|,|o|表示集合的基數(shù)。
定義3(路網(wǎng)矩陣)用Bt表示時間間隔t內(nèi)所有站點客流量構(gòu)成的路網(wǎng)矩陣。
路網(wǎng)矩陣大小為a×b,a、b分別為包含加油站的橫向街道數(shù)與縱向街道數(shù),將站點根據(jù)空間分布對應(yīng)到路網(wǎng)矩陣的相近節(jié)點,節(jié)點值為一個站點在該時間間隔內(nèi)的客流量(s∈S),無對應(yīng)站點的節(jié)點值始終為0。
定義4(加油站級客流量預(yù)測問題)以路網(wǎng)矩陣的形式給定各加油站歷史客流量{Bt|t∈T},并預(yù)測t+1 時刻各站點的客流量(s∈S)。
本節(jié)將詳細介紹本文提出的AMSTN 模型,該模型結(jié)合CNN、LSTM 與注意力機制同時捕獲加油站客流數(shù)據(jù)中存在的空間與時間維度相關(guān)性。圖1展示了AMSTN 模型的總體架構(gòu),時空數(shù)據(jù)首先輸入到用于處理站點間空間依賴的CNN,CNN 提取出空間關(guān)聯(lián)后,將輸出分別輸入到提供短期時序預(yù)測的短期LSTM 網(wǎng)絡(luò),以及引入了注意力機制修正時間漂移影響后提供長周期時序預(yù)測的長期LSTM 網(wǎng)絡(luò),結(jié)合2 個時序網(wǎng)絡(luò)的輸出得到網(wǎng)絡(luò)的最終預(yù)測結(jié)果。
圖1 AMSTN 模型架構(gòu)Fig.1 Architecture of AMSTN model
CNN 通過持續(xù)的卷積操作可有效提取像素矩陣內(nèi)的空間相關(guān)性,受此啟發(fā),本文使用CNN 提取站點間的空間依賴關(guān)系。采用路網(wǎng)矩陣對一個時間間隔內(nèi)所有站點的客流記錄進行建模,然后將該矩陣作為一維灰度圖像輸入到AMSTN 模型的CNN 組件中進行學(xué)習(xí)。但對整個矩陣直接應(yīng)用CNN 會考慮大量的距離較遠且相關(guān)性較弱的站點,削弱了CNN 對站點間強相關(guān)性的學(xué)習(xí)能力,從而影響整體預(yù)測性能。因此,本文使用局部CNN[18]僅對當(dāng)前預(yù)測站點臨近的局部范圍采用CNN 網(wǎng)絡(luò)提取站點間空間維度的依賴關(guān)系。
在一個時間間隔t內(nèi),以路網(wǎng)矩陣中一個節(jié)點i為中心,提取其周圍D×D范圍內(nèi)所有節(jié)點的流量值,得到D×D大小的一維圖像,并將其作為該節(jié)點的輸入樣本∈?D×D×1。圖2 以路網(wǎng)矩陣中數(shù)值為6的節(jié)點為中心,取D=3 構(gòu)造樣本,位于矩陣邊界的節(jié)點周圍使用0 補全。
圖2 D=3 時構(gòu)造的樣本Fig.2 Sample constructed when D=3
局部CNN 將提取出的原始輸入作為輸入到K層卷積層,使用二維卷積提取空間依賴,且每一層卷積公式為:
其中,k(k∈K)為卷積層數(shù),*為卷積操作,使用ReLU作為激活函數(shù),Wk和bk是需要學(xué)習(xí)的參數(shù)。在卷積操作后使用全連接網(wǎng)絡(luò)將提取到的空間關(guān)聯(lián)信息處理為LSTM 網(wǎng)絡(luò)輸入。
LSTM 網(wǎng)絡(luò)對輸入的隱狀態(tài)向量,采用轉(zhuǎn)移函數(shù)來解決RNN 網(wǎng)絡(luò)在處理長序列時可能出現(xiàn)的梯度消失和梯度爆炸問題,從而達到在時序數(shù)據(jù)建模中具有更好的性能。本文使用一個LSTM 網(wǎng)絡(luò)學(xué)習(xí)短期時序依賴,根據(jù)預(yù)測時間點前L個時間間隔的短期時序數(shù)據(jù)給出短期預(yù)測結(jié)果,網(wǎng)絡(luò)輸入的短期序列及LSTM 網(wǎng)絡(luò)的簡化轉(zhuǎn)移公式可表示為:
短期LSTM 網(wǎng)絡(luò)僅處理預(yù)測時間點前幾個時間間隔的短期時序依賴,忽略了以天為周期的長期時序依賴。然而僅增加序列輸入長度會增大梯度消失的風(fēng)險,削弱模型直接捕獲長期時序依賴的能力。因此,本文使用與預(yù)測時間點相同時間的過去連續(xù)P日的數(shù)據(jù)構(gòu)成長期序列(如P=2,代表昨天和前天的同一時間),將其作為長期LSTM 網(wǎng)絡(luò)輸入來捕獲長期依賴進行預(yù)測,輸入序列可表示為:
僅提取如式(5)所示的過去相同時間點序列進行長期時序依賴學(xué)習(xí),忽略了周期性數(shù)據(jù)中的時間漂移問題。加油站客流數(shù)據(jù)雖然每日的趨勢大致相同但并不具有嚴格意義上的周期性。圖3 以某站點連續(xù)5 天的客流數(shù)據(jù)及客流高峰出現(xiàn)時間為例,展示了站點客流高峰出現(xiàn)時間會在一定時間范圍內(nèi)漂移的現(xiàn)象,這種時間漂移現(xiàn)象在加油站客流量時序數(shù)據(jù)中普遍存在。其中,圖3 中的每個時間間隔為30 min。
圖3 時間漂移現(xiàn)象示例Fig.3 Example of time drift phenomenon
本文通過引入注意力機制來修正時間漂移的影響,并得到最終的長期LSTM網(wǎng)絡(luò)輸入序列。如圖1所示,采樣過去P天中預(yù)測時間點前后共有Q個時間間隔的歷史數(shù)據(jù)作為長期網(wǎng)絡(luò)的輸入樣本。例如,如果預(yù)測的時間間隔是上午10:00—10:30,則需提取預(yù)測時間的前后1小時范圍數(shù)據(jù)作為輸入(即上午9:00—11:30,此時Q=5),使用LSTM提取每天的時序信息用于學(xué)習(xí)不同時刻對當(dāng)天最終向量表示的貢獻權(quán)重,應(yīng)用的注意力機制及權(quán)重分配公式如下所示:
其中,為站點i在第p日預(yù)測時間點t的最終向量,為注意力貢獻權(quán)重,s為貢獻評分函數(shù),vT、WH、WX與bX為學(xué)習(xí)的參數(shù),表示站點i在第p日q時段的向量,為站點i在第p日q時段的CNN 網(wǎng)絡(luò)輸出。基于注意力機制的LSTM 網(wǎng)絡(luò)組件的輸入序列及預(yù)測網(wǎng)絡(luò)可表示為:
其中,為網(wǎng)絡(luò)修正時間漂移現(xiàn)象影響后給出的長期預(yù)測。
其中,Wf、bf為學(xué)習(xí)的參數(shù),輸出結(jié)果在[?1,1]內(nèi),將結(jié)果反歸一化得到站點i在t+1 時刻的預(yù)測值。
本文以某市屬行政區(qū)內(nèi)所有加油站從2019-02-12—2019-04-02 共50 天的客流量數(shù)據(jù)作為數(shù)據(jù)集。數(shù)據(jù)集的前40 天用于訓(xùn)練與驗證模型,后10 天用于評估模型性能。
將該行政區(qū)域構(gòu)造成大小為11×11 的路網(wǎng)矩陣作為輸入,并將站點按照在路網(wǎng)中的空間分布對應(yīng)到路網(wǎng)矩陣的近似節(jié)點。使用30 min 作為數(shù)據(jù)處理的時間間隔得到各站點客流量數(shù)據(jù),并對所有客流量數(shù)據(jù)進行最大-最?。∕ax-Min)歸一化處理,處理后的數(shù)據(jù)分布在[0,1]。訓(xùn)練數(shù)據(jù)集的80%用于訓(xùn)練,20%用于驗證。根據(jù)學(xué)術(shù)界及工業(yè)界經(jīng)驗,在測試模型性能時過濾客流量等于0 的樣本不參與評估[18]。
本文提出的 AMSTN 模型使用 Python、TensorFlow1.14.0 和Keras2.3.1 實現(xiàn),并在真實加油站客流數(shù)據(jù)集上驗證了該模型的預(yù)測能力。實驗中AMSTN 模型具體超參數(shù)設(shè)置如表1 所示。
表1 AMSTN 模型的超參數(shù)設(shè)置Table 1 Hyper-parameter setting of AMSTN model
實驗使用均方誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)與平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)3 個標準評價指標對實驗結(jié)果進行評價。3 個評價指標的計算方法如式(13)~式(15)所示:
HA 模型使用各時段的歷史客流平均值作為預(yù)測,LSTM 網(wǎng)絡(luò)是一種改進的RNN 模型,其可以處理時間序列數(shù)據(jù)中的順序依賴性,雙向長短期記憶(Bi-LSTM)網(wǎng)絡(luò)由前向LSTM 與后向LSTM 組合而成,其可同時從前后兩個方向?qū)r間序列進行建模。實驗對HA、LSTM、Bi-LSTM 與本文模型的預(yù)測效果進行對比,結(jié)果如表2 所示,表中的數(shù)據(jù)是10 次實驗結(jié)果的平均值。從表2 可以看出:在本文選擇的數(shù)據(jù)集上,LSTM 與Bi-LSTM 模型的預(yù)測能力一般,雖然相比HA 模型在RMSE 與MAE 指標上有一定提升,但MAPE 結(jié)果表現(xiàn)略差,這是因為MAPE 指標對數(shù)據(jù)中的較低值更敏感,而僅考慮時序特征的方法更傾向于擬合數(shù)據(jù)中的較高值,所以出現(xiàn)RMSE 與MAE 指標提升而MAPE 下降的現(xiàn)象;3 個評價指標均驗證了本文所提AMSTN 模型預(yù)測能力均優(yōu)于其他3 種對比模型,與HA 模型相比,本文模型在RMSE 與MAE 指標上分別提高了22.89% 與21.39%。
表2 4 種模型的評價指標結(jié)果對比Table 2 Comparison of evaluation index results of four models
HA、LSTM 與本文模型對同一個站點連續(xù)兩天的預(yù)測結(jié)果如圖4 所示。其中,Ground Truth 為該站點兩天內(nèi)的實際客流量,且經(jīng)過Max-Min 歸一化處理,每個時間間隔為30 min。從圖4 可以看出,本文模型相較于其他模型更貼近實際結(jié)果,且具有最佳的預(yù)測能力。
圖4 本文模型與其他模型的預(yù)測結(jié)果對比Fig.4 Comparison of prediction results between the proposed model and other models
移除AMSTN 模型中部分組件的消融實驗結(jié)果如表3 所示。其中:表3 中的AMSTN-S 模型是在本文模型的基礎(chǔ)上移除注意力機制的長期LSTM 組件,僅使用局部CNN 組件與短期LSTM 組件提取數(shù)據(jù)中的空間依賴與短期時序依賴關(guān)系;AMSTN-L 模型是在本文模型的基礎(chǔ)上移除短期LSTM 組件,僅使用局部CNN 組件與基于注意力機制的長期LSTM組件提取數(shù)據(jù)的空間依賴、長期時序依賴以及長期時序依賴中的時間漂移。
表3 消融實驗結(jié)果對比Table 3 Comparison of ablation experiment results
從表3 可以看出:AMSTN-S 與AMSTN-L 模型的預(yù)測性能相比本文模型均有一定程度的下降,這是因為數(shù)據(jù)中的短期時序依賴、長期時序依賴和時間漂移因素共同提升了本文模型的預(yù)測準確性,而AMSTN-S 與AMSTN-L 模型在預(yù)測時分別遺失了部分時間維度依賴關(guān)系;AMSTN-S 模型的預(yù)測能力優(yōu)于AMSTN-L 模型,這說明在預(yù)測時數(shù)據(jù)中的短期時序依賴相較于長期時序依賴和時間漂移對最終預(yù)測結(jié)果的影響更大。
為了考察空間CNN 輸入樣本大小與短期LSTM網(wǎng)絡(luò)輸入時序長度2 個重要超參數(shù)對AMSTN 模型的性能影響,本文進行不同超參數(shù)設(shè)置的對比實驗,結(jié)果如圖5 所示。從圖5(a)可以看出:隨著D值的增大,本文模型的預(yù)測性能呈下降趨勢,當(dāng)D=3 時輸入樣本大小為3×3,此時本文模型的預(yù)測性能最佳;當(dāng)空間輸入大小接近整個矩陣大小時,模型預(yù)測能力顯著降低,這可能是因為過多弱關(guān)聯(lián)數(shù)據(jù)削弱了本文模型中CNN 組件捕獲與保存空間強關(guān)聯(lián)關(guān)系的能力。從圖5(b)可以看出:不同輸入長度對預(yù)測性能的影響較大,當(dāng)輸入序列長度為6 時,AMSTN模型的預(yù)測性能最佳;隨著輸入序列長度的增大,模型預(yù)測能力逐漸穩(wěn)定,但整個模型的訓(xùn)練時間明顯增加。
圖5 不同超參數(shù)對本文模型預(yù)測性能的影響Fig.5 Effect of different hyper-parameters on the prediction performance of the proposed model
針對加油站級客流量預(yù)測問題,本文提出一種基于時空注意力機制的深度神經(jīng)網(wǎng)絡(luò)預(yù)測模型。該模型通過路網(wǎng)矩陣對站級時空數(shù)據(jù)進行建模,并采用結(jié)合多個深度網(wǎng)絡(luò)組件的模型處理站點間復(fù)雜的時空依賴關(guān)系。實驗結(jié)果表明,該模型可對各站點的客流量進行準確預(yù)測。本文模型通過舍棄空間距離較遠的數(shù)據(jù)輸入來保障其預(yù)測性能,然而少量空間距離較遠的站點間也可能存在強關(guān)聯(lián)性。因此,下一步將從多源數(shù)據(jù)中提取少量的遠距離強關(guān)聯(lián)性站點關(guān)系,并將其與本文模型相融合,以進一步提升模型預(yù)測準確性。