在智慧城市的建设中,出租车需求预测是一个及其重要的问题。准确的预测需求能够帮助城市预分配交通资源,提前避免交通拥堵,从而缓解交通压力,同时降低出租车空载率,提高出租车司机收入。传统的出租车需求预测往往基于时序预测技术,无法对复杂的非线性时空关系进行建模。深度学习技术的突破为交通预测问题带来了曙光,但是现存的深度学习网络架构,往往只单一考虑了时间关系或者空间关系,没有把两者结合起来进行建模。
本文提出了 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