摘要
在智慧城市的建設中,出租車需求預測是一個及其重要的問題。準確的預測需求能夠幫助城市預分配交通資源,提前避免交通擁堵,從而緩解交通壓力,同時降低出租車空載率,提高出租車司機收入。傳統的出租車需求預測往往基于時序預測技術(time series forcasting techniques),無法對復雜的非線性時空關系進行建模。深度學習技術的突破為交通預測問題帶來了曙光,但是現存的深度學習網絡架構,往往只單一考慮了時間關系或者空間關系,沒有把兩者結合起來進行建模。
本文提出了 DMVST-Net(Deep Multi-View Spatial-Temporal Network),同時對時間關系和空間更新進行建模。更具體地,該模型同時從三個角度出發(分別是 temporal view, spatial view,semantic view),綜合考慮了出租車需求在路網上分布的時空關系,并利用語義信息,對相似區域的時空模式進行了建模。
值得一提的是,本文運用圖網絡 和 Local CNN 的方法,對由數萬路段組成的大型道路交通網,進行了特征提取,這一舉措,將圖網絡的運用拓寬到一個新的層次,使得大型交通網的建模有了新的解決思路。
主要貢獻
1、提出了一個多視角模型,該模型同時考慮了 spatial,temporal 和 semantic 信息。
2、提出了 Local CNN 的方法,用于捕獲區域的局部特征,該特征受到所捕獲區域鄰近區域的影響。
3、基于不同區域之間的時空模式的相似性,構建了一個 region graph,用于表達區域特征的語義信息。
4、利用滴滴出行的出租車訂單數據進行實驗,驗證了模型的有效性和先進性
模型架構(DMVST-Net)
在介紹模型之前,先用通俗易懂的語言介紹一下論文的主要思路,先用一個易理解的例子來說明:
小明想預測整個廣州市對出租車的使用需求,可是掐指一算,整個廣州市有幾萬條道路,簡單的用一維向量去表示它的話,會丟失空間關系;用圖網絡去構建交通網的話,得到的圖尺寸相當大,瞅瞅自己只有四塊 GPU,怕是帶不動;轉念一想啊,好多前輩都是用一個個規則的格網來表示城市的不同區域,再用 CNN 時空圖像處理的方法建模,可是前輩們做了呀,這可咋整呢。于是小明想了一個辦法:我用傳統的格網去表示城市區域,每個格網的值就代表這個區域出租車的需求量,但是我分別對每個格網構建一個CNN網絡。我再用圖網絡的方法,把城市中每個格網給連接起來,這樣不就能夠表示每個格網(城市區域)之間的聯系了嗎?
模型架構(DMVST-Net)
給小明同學鼓個掌,下面就是小明同學提出的模型。
DMVST-Net 分為三個部分,分別是 Spatial View,Temporal View 和 Semantic View。
Spatial View:Local CNN
什么是Local CNN呢?舉個例子,如下圖所示,我要對 (a)提取特征,最常見的一種方式是把(a)這整張圖像送入到CNN中,進行卷積運算;而另一種方式就是把(a)分塊,把劃分后的每一小塊分別送入到CNN中,也就是每次只對(b)進行卷積運算,最后把每個部分的結果進行綜合,這就是 Local CNN。
提出該方法的動機是地理學第一定律——near things are more related than distant things。舉個例子,相比于湖北省和河北省的人民,湖北省和湖南省的人民生活習慣要更相似,這是因為他倆靠的近。小明同學在這里把廣州市分成了20 x 20個區域,每個區域是0.7km x 0.7km,用7 x 7的二維圖像來表示每一個區域,圖像中每個像素點的灰度值代表出租車的需求量。每張圖像可以用 表示,其中 S=7 。經過K個卷積層后得到?,進行 flatten 操作得到?,最后進行降維得到?具體公式如下:
? ? ?
? ? ?
最終我們Spatial View的輸出是 ? ? ?。
TemporalView:LSTM
小明同學在這里學習了牛頓的思想:“站在巨人肩膀上”。在該部分,小明同學直接利用了傳統的時序預測利器——LSTM。LSTM 網絡是一種特殊的 RNN 網絡,該網絡的全稱是 Long Short-Term Memory network(長短期記憶網絡)。LSTM 網絡可以說是為時序預測所量身打造的,該網絡不僅能夠捕獲近期的時間關系,還能記憶長期的時間模式,由于遺忘機制的引入,可以使得 LSTM 網絡對長時序列也有較好的處理能力。在這里,我們不做推導,直接把公式放出來,有興趣的朋友們可以參見文末的相應鏈接【4】。
值得注意的是這里的 LSTM 網絡的輸入是其中??是 Spatial View 的輸出,而?是天氣、節假日等元數據特征,表示的是聯合操作。最終我們 Temporal View 的輸出是 。
SemanticView:StructuralEmbedding
接下來到了我們最期待的一步,如何利用圖網絡的方法,構建城市各個區域的關系網絡,從而給我們的深度學習任務提供更高層次的特征。首先,小明同學根據一個直覺:具有相同功能的地點應該具有相似的出租車需求模式,然而具有相同功能的地點在空間上不一定相鄰。舉個栗子,北京海淀區的一處 CBD 和朝陽區的一處 CBD 在很大程度上功能相似,但是這倆個地方隔得老遠,可是卻可能有著相似的出租車需求模式。基于這個直覺,小明同學構建了區域和區域之間的全連接網絡 ,?代表節點(即區域,總數為 20 x 20),代表每兩個節點的邊,為相似性矩陣,代表節點 i 和 j 的相似性。
那么問題來了,這個相似性基于什么特征衡量呢?用什么方法去衡量呢?
我們的小明同學非常的聰明,他將每個節點的需求序列進行整合,計算每周的平均需求量,作為節點的特征,然后采用了動態時間規整(DTW)【5】的方法來衡量節點之間的相似性。
? ? ?
為了將每個節點的特征進行壓縮,并同時維持網絡的結構信息,小明同學又采用了graph embedding 的方法,將每個節點的特征壓縮到更低的維度。為了構建一個端到端的神經網絡模型,小明同學又將壓縮后的特征送入到一個全連接層,最后得到了Semantic View 的輸出 ? ? ?。
請注意,這里的代表的是節點 i 的語義特征,也就是說,Semantic View提取整個網絡的特征,但是只把單個節點所學習到的特征送到主體模型中。
模型綜合
最后就是模型綜合部分了,簡單的講,就是把Spatial View,Temporal View 和 Semantic View 這三個部分的輸出結果給聯合起來,再通過一些神經網絡層進一步提取特征,最后與真實值計算Loss,通過優化算法不斷訓練模型,最終得到一個較優的結果。這里簡單列一下公式:
三個部分特征的綜合:? ? ??
輸出函數設計:? ? ??
誤差函數設計:
這里的 Loss Function 設計比較有趣,該公式由兩部分組成,第一部分是均方誤差(MSE),第二部分是平均絕對百分誤差(MAPE),MSE更多的和大值相關,而MAPE對大值和小值一視同仁,引入MAPE能夠避免訓練過程被大值的樣本所主導。
模型訓練算法
在這里,直接把算法貼出來,算法的主要思想就是每個區域的需求預測都使用相同的網絡結構,但是每個區域對應的網絡有著不同的參數,對所有的網絡結構都進行訓練,直到滿足停止條件。這里的算法不是重點,就不再敘述了,有興趣的朋友可以看一下原文。
實驗
數據集
在這里,將文章的數據集描述進行了整理,方便大家快速閱讀
評價矩陣
主要結果
小明同學將自己的模型和當前的主流模型進行了對比,其中包括 Historical average,ARIMA,Ordinary least square regression,Ridge regression,Lasso,Multiple layer perceptron,XGBoost,ST-ResNet。
從表中可以看出,DMVST-Net的效果在兩種評價指標上均為最優,證明了模型的有效性和先進性。
除此之外,小明同學還計算了各模型從工作日到休息日,相關誤差的增長(RIE):
可以看到DMVST-Net的RIE最小,證明了模型魯棒性很高
分別展示了周一到周日各天的預誤差結果:
可以看到DMVST-Net每天的預測誤差(MAPE)都比其他模型小。
最后討論了LSTM輸入序列長度對模型結果的影響,及Local CNN輸入圖像尺寸的影響。
結語
這篇文章的作者說,該文的最大貢獻在于從三個視角考慮了城市出租車的需求模式,提出了DMVST-Net,然而這種多視角的建模方式,早就老生常談了。反到是對于圖網絡的巧妙運用,才成就了這篇論文:利用區域作為節點構圖,而不是采用路段作為節點構圖,不僅避免了城市尺度下圖網絡過大的問題,而且很好的利用圖網絡的特性,構建了不同區域之間的聯系,從而提取了各區域的語義特征。這種大而化小的思想值得我們去學習,在圖網絡尚未解決計算復雜性的今天,或許這種小trick更加有利于加速產學研結合,將圖網絡應用到更多的地方!
-
智慧城市
+關注
關注
21文章
4262瀏覽量
97289 -
rnn
+關注
關注
0文章
89瀏覽量
6886
原文標題:交通圖網絡太大太復雜,沒法處理?DMVST-Net巧妙處理
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論