在智慧城市的建设中,出租车需求预测是一个及其重要的问题。准确的预测需求能够帮助城市预分配交通资源,提前避免交通拥堵,从而缓解交通压力,同时降低出租车空载率,提高出租车司机收入。传统的出租车需求预测往往基于时序预测技术,无法对复杂的非线性时空关系进行建模。深度学习技术的突破为交通预测问题带来了曙光,但是现存的深度学习网络架构,往往只单一考虑了时间关系或者空间关系,没有把两者结合起来进行建模。
本文提出了 DMVST-Net,同时对时间关系和空间更新进行建模。更具体地,该模型同时从三个角度出发(分别是 temporal view, spatial view,semantic view),综合考虑了出租车需求在路网上分布的时空关系,并利用语义信息,对相似区域的时空模式进行了建模。
值得一提的是,本文运用图网络 和 Local CNN 的方法,对由数万路段组成的大型道路交通网,进行了特征提取,这一举措,将图网络的运用拓宽到一个新的层次,使得大型交通网的建模有了新的解决思路。
简单来说,本文综合了时间、空间、语义三个方面预测需求量。
空间:local CNN,强调了邻近空间相似,较远的位置参与训练之间会有负作用
时间:使用传统LSTM
语义:使用“区域图”的边来表达区域对之间需求模式的相似性,用图嵌入的方法作为环境特征参与训练
这是DMVST-Net的架构图。 (a).空间组件使用一个局部CNN来捕获附近区域之间的空间依赖性。局部CNN包括几个卷积层。最后使用全连接层来得到低维表示。 (b).时间视图采用了一个LSTM模型,该模型从空间视图中获取表示形式,并在相应的时间将它们与上下文特征连接起来。 ©.语义视图首先构造一个加权的区域图(其权重表示功能相似度)。节点被编码到向量中。最后使用一个全连接的层来进行联合训练。最后,利用一个全连接的神经网络进行预测。
Local CNN: 如要对 (a)提取特征,最常见的一种方式是把(a)这整张图像送入到CNN中,进行卷积运算;而另一种方式就是把(a)分块,把划分后的每一小块分别送入到CNN中,也就是每次只对(b)进行卷积运算,最后把每个部分的结果进行综合,这就是 Local CNN。提出该方法的动机是地理学第一定律——近邻比远邻重要。
作者在这里把待预测城市分成了20 x 20个区域,每个区域是0.7km x 0.7km,用7 x 7的二维图像来表示每一个区域,图像中每个像素点的灰度值代表出租车的需求量。每张图像可以用 Y t i ∈ R S × S × 1 Y_t^i\in\mathbb{R}^{S\times S\times 1} Yti∈RS×S×1表示,其中 S = 7 S=7 S=7。经过K层卷积层后得到 Y t i , k ∈ R S × S × 1 Y_t^{i,k}\in\mathbb{R}^{S\times S\times 1} Yti,k∈RS×S×1,经过flatten操作后得到 s t i ∈ R S 2 λ s_t^i\in\mathbb{R}^{S^2 \lambda} sti∈RS2λ,最后进行降维得到 s t i ^ ∈ R d \widehat{s_t^i} \in \mathbb{R}^d sti ∈Rd,具体公示为:
Y t i , k = f ( Y t i , k − 1 ∗ W t k + b t k ) Y_t^{i,k} = f(Y_t^{i,k-1}*W_t^k+b_t^k) Yti,k=f(Yti,k−1∗Wtk+btk)
s ^ t i = f ( W t f c s t i + b t f c ) \widehat{s}_t^i=f(W_t^{fc}s_t^i+b_t^fc) s ti=f(Wtfcsti+btfc)
最终空间视图的输出为 s ^ t i \widehat{s}_t^i s ti。
在该部分,作者直接利用了传统的时序预测网络LSTM
这里的输入是 g t i = s t i ^ ⊕ e t i g_t^i=\widehat{s_t^i}\oplus e_t^i gti=sti ⊕eti,其中 s t i s_t^i sti为空间视图的输出, e t i e_t^i eti表示天气、节假日等元数据特征, ⊕ \oplus ⊕表示联合操作,最终本模块的输出为 h t i h_t^i hti。
本模块是主要的创新点,主要解决的问题是如何利用图网络的方法,构建城市各个区域的关系网络,从而给深度学习任务提供更高层次的特征。
首先,作者提出了一个直觉(观察):具有相同功能的地点应该具有相似的出租车需求模式,然而具有相同功能的地点在空间上不一定相邻。基于这个直觉,构建了区域和区域之间的全连接网络 G = ( V , E , D ) G=(V,E,D) G=(V,E,D),其中 V V V表示节点,即区域,总数为20X20, E = V × V E=V \times V E=V×V表示两个区域之间的边, D D D表示相似性矩阵, w i j w_{ij} wij表示区域 i i i和区域 j j j之间的相似性。
主要问题:相似性基于什么特征进行衡量?用什么方法进行衡量?
作者使用平均每周需求时间序列作为需求模式。这个平均值是根据实验中的训练数据计算出来的。因为这个图是完全连接的,所以每两个区域都可以到达。然后采用DTW的方法来衡量节点之间的相似性。
w i j = e x p ( − α D T W ( i , j ) ) w_{ij}=exp(-\alpha DTW(i,j)) wij=exp(−αDTW(i,j))
其中 α \alpha α是控制距离衰减率的参数(在本文中,α=1),DTW是两区域的需求模式之间的动态时间滑动距离。
为了将每个节点的特征进行压缩,并同时维持网络的结构信息,作者又采用了图嵌入的方法,将每个节点的特征压缩到更低的维度。为了构建一个端到端的神经网络模型,又将压缩后的特征送入到一个全连接层
m ^ i = f ( W f e m i + b f e ) \widehat{m}^i=f(W_{fe}m^i+b_{fe}) m i=f(Wfemi+bfe)
其中生成嵌入的方式为LINE
需要注意的是, m ^ i \widehat{m}^i m i代表的是节点 i i i 的语义特征,也就是说,语义视图提取整个网络的特征,但是只把单个节点所学习到的特征送到主体模型中。
L ( θ ) = ∑ i = 1 N ( ( y t + 1 i − y ^ t + 1 i ) 2 + γ ( y t + 1 i − y ^ t + 1 i y t + 1 i ) 2 ) \mathcal{L} (\theta)=\sum_{i=1}^N((y_{t+1}^i-\widehat{y}_{t+1}^i)^2+\gamma(\frac{y_{t+1}^i-\widehat{y}_{t+1}^i}{y_{t+1}^i})^2) L(θ)=∑i=1N((yt+1i−y t+1i)2+γ(yt+1iyt+1i−y t+1i)2)
该公式由两部分组成,第一部分为均方误差MSE,第二部分为平均绝对百分误差MAPE。MSE多和大值相关,MAPE对大值和小值一视同仁,引入MAPE能够避免训练过程被大值的样本所主导。
Historical average,ARIMA,Ordinary least square regression,Ridge regression,Lasso,Multiple layer perceptron,XGBoost,ST-ResNet
此处为计算各模型从工作日到休息日,相关误差的增长(RIE),RIE越小,证明模型鲁棒性越高
【1】交通图网络太大太复杂,没法处理?DMVST-Net巧妙处理
【2】【论文笔记】Deep Multi-View Spatial-Temporal Network for Taxi Demand Prediction
【3】本论文pdf