⭐️Deep spatial–temporal sequence modeling for multi-step passenger demand prediction
原文,见这里
作者:Lei Bai , Lina Yao , Xianzhi Wang , Can Li , Xiang Zhang
期刊:爱斯维尔Future Generation Computer Systems
关键字:旅客需求预测,时空相关性,图卷积网络,长短时记忆
类似文章《STG2Seq: Spatial-Temporal Graph to Sequence Model for Multi-step Passenger Demand Forecasting》,其代码
不权威评价:在GCN上使用了2个矩阵,有突破
文章目录
摘要
供需失衡对出租车和共享汽车(汽车和自行车)等交通系统构成重大挑战,并导致过度延误、收入损失和能源消耗。准确预测旅客需求是重新安排资源以解决上述挑战的重要步骤。然而,现有的工作还不能完全捕捉和利用多模态数据中复杂的非线性时空关系。它们要么包括来自弱相关地区的过量数据,要么忽略了那些相似但地理上相距遥远的地区之间的相关性。此外,这些方法主要集中在预测未来一个时间步的乘客需求,而更长的时间尺度的预测对制定有效的车辆部署策略更有价值。我们提出了一个基于端到端深度学习的框架来解决上述挑战。该模型由三部分组成:🔥(1)利用级联图卷积递归神经网络a cascade graph convolutional recurrent neural network提取城市历史车辆需求数据的时空相关性;🔥(2)两个多层LSTM网络分别表示外部气象数据和时间元;🔥(3)编码器-解码器模块,用于融合上述两部分并对表示进行解码,以实现对未来较长时间内的预测。我们在三个真实的数据集上评估了我们的框架,表明我们的模型可以更好地捕捉时空关系,并优于最具鉴别性的最先进的方法.
bib
@article{BAI202125,
title = {Deep spatial–temporal sequence modeling for multi-step passenger demand prediction},
journal = {Future Generation Computer Systems},
volume = {121},
pages = {25-34},
year = {2021},
issn = {0167-739X},
doi = {https://doi.org/10.1016/j.future.2021.03.003},
url = {https://www.sciencedirect.com/science/article/pii/S0167739X21000832},
author = {Lei Bai and Lina Yao and Xianzhi Wang and Can Li and Xiang Zhang}
}
1. Introduction
随着城市化进程的加快,预计到2050年,全球约70%的人口将居住在城市。这一快速发展给运输系统带来了重大挑战,如能源消耗增加和交通短缺。通过物联网和机器学习解决方案将城市转变为智能城市,将有助于更好地利用公共交通和能源资源。一个很好的例子是按需车辆共享服务(如滴滴、优步、摩拜),这些服务允许客户通过移动应用程序预订共享出行。这些服务每天为大量乘客提供服务,已经成为智能交通生态系统的重要组成部分。
然而,这类服务往往会遇到供需不平衡的问题。一方面,由于附近的需求量较小,司机通常需要开很长一段路才能找到乘客;另一方面,由于所在位置的需求较高,乘客可能会经历较长时间的乘车延误[2,3]。这种不平衡会导致过长的等待时间、收入损失和能源浪费[4]。因此,基于全市部署[5]收集的异构数据,准确预测乘客需求,从而解决上述不平衡问题,成为更好的资源(如汽车、自行车)调度策略的重要一步。由于旅客需求的高动态数据、在时间和空间维度上的复杂依赖关系以及对多种外部因素(如气象数据和时间元)的敏感性,预测旅客需求具有挑战性
。
传统方法[6,7]采用自回归综合移动平均(ARIMA)及其变量等时间序列模型预测客运量[2]。这种方法只能获取目标区域的时间相关性,预测误差较大。近年来,随着乘客需求数据集的丰富,研究人员开始将深度学习技术应用于需求预测。这些研究🌽通常使用循环神经网络(RNN)及其变型(如Long-Short Term Memory (LSTM)[8]和门控循环单元(GRU)[9]网络)来捕捉时间相关性,🌽卷积神经网络(CNN)[10]从整个城市或地理上最近的区域提取空间关系[11-14]。最近,🌽卷积LSTM (ConvLSTM)[15]被提出用于提取时空相关性。
尽管客运需求预测的研究非常广泛,但现有的方法存在以下不足:
- 虽然乘客需求的空间相关性已被证明可以提高预测精度,但它仍有待探索。最近基于cnn的方法认为一个区域的乘客需求受城市所有区域的影响[12 - 14,16]或其本地邻近区域[11]的影响。这些方法要么通过包含来自弱相关区域的过量数据来引入不相关的信息,要么不能精确地捕捉全局空间相关性(例如,地理上遥远区域的隐藏相关性)。以图1(a)中的区域为例,虽然a地区在地理上靠近B地区和C地区,但它们的兴趣点完全不同。另一方面,A地区与D地区有着相似的利益点(大学、购物中心),因此A地区的旅客需求与D地区的关系要强于B和C地区。
- 现有的许多研究侧重于预测近期的乘客需求,即下一个时间步。然而,在更长的时间尺度上预测乘客需求(即多步提前预测)对交通服务经营者设计更好的车辆部署策略更有价值。
- 现有方法特定于目标城市的分区方式。特别是,目前的大多数方法使用的是将城市划分为小网格(如1km × 1km面积)的抽象方法[14,17],而忽略了诸如道路网络和城市行政区域等语义信息[2,3]。图1(b)给出了一个用邮政编码将城市划分为小区域的示例,这为提取该区域的人口、收入等语义表示提供了方便。
为了解决这些问题,我们基于历史需求和异构外部数据,开发了一种端到端的深度学习方法,用于城市范围内的多步旅客需求预测。该框架由三部分组成。🐸首先,利用级联图卷积递归神经网络模块提取城市历史需求的时空相关性。为了对空间相关性进行建模,我们将城市视为一个图,其中每个区域都是一个特定的节点。然后,根据不同区域历史旅客需求的相似性,预先定义图的邻接矩阵。同时,集成了可学习的连接矩阵,以获取更全面的空间相关性。然后,我们将图卷积网络(Graph Convolutional Network, GCN)应用到图上,基于预定义的和学习的图结构,以多图的方式共同提取出仅在密切相关区域内的共享模式[18,19]。我们的方法通过强调具有相似需求模式的区域,忽略来自弱相关区域的噪声,而不考虑地理位置,可以准确地捕捉空间相关性。此外,我们的方法并没有预设一个特定的城市抽象,无论是基于网格还是基于道路网络。🐸其次,利用两个多层LSTM网络分别提取外部气象数据和时间元的表示;🐸第三,我们将上述组件融合成一个联合隐藏表示,并在编码器-解码器结构下解码,生成多步预测。我们用三个不同规模的真实乘客需求数据集评估了我们的方法:DidiSY、TaxiBJ和bikenc,分别涵盖了共享汽车、普通出租车和共享单车等不同服务类型。实验结果表明,我们的方法始终优于一组基线和最先进的方法。总的来说,这项工作的主要贡献是:
- 考虑历史需求和异构外部数据的共同影响,提出了一种端到端深度学习的多步旅客需求预测框架。
- 我们建议通过图卷积网络捕获城市范围内乘客需求的空间相关性,并直接从数据推断空间连通性。
- 我们在三个真实世界的数据集上进行了广泛的实验,并证明了我们的方法在网格区域和不规则区域上的有效性,用于下一步需求预测和多步需求预测。
本文从四个方面对我们之前的工作[20]进行了扩展:(1)重写了引言部分,详细阐述了我们的动机,并分析了现有工作的不足;(2)增加了系统、全面的文献综述部分;(3)我们利用自适应邻接学习模块对算法进行了改进,并给出了更多关于我们方法的细节;(4)我们增加了更多的实验结果,包括增强方法的性能、更多的比较模型、更多的预测步骤和不规则区域的评价。
2. Related works
旅客需求预测对提高市民生活质量具有重要意义,受到了广泛关注。传统的方法是将乘客需求作为时间序列数据[21]来考虑,并采用广泛使用的时间序列算法。
- Li等[6]开发了一种改进的ARIMI模型,用于预测热点地区全市范围内的乘客变化.
- MoreiraMatias等人[7]综合了三种时间序列分析技术(即时变泊松模型、ARIMA模型和加权时变泊松模型)进行预测。其他传统方法使用经典的机器学习算法,如支持向量机(SVM)和k-最近邻(KNN)。
- Li等人[22]提出了一种基于最小二乘支持向量机(LS-SVM)的短期交通需求预测模型。
这些传统的方法既不能准确地建立非线性时空相关模型,也没有考虑气象数据等外部特征,导致预测误差较大。
近年来,深度学习技术也被用于旅客需求预测,深度学习技术已成功应用于各个应用领域。
- Liu等人[23]设计了一种使用堆叠式自编码器 stacked auto-encoder的混合模型。他们首先预先训练一个具有所有输入功能的堆叠自动编码器(SAE)。接下来,使用预训练的SAE初始化监督全连接层以生成预测。
- Wang et al.[24]提出了一种基于全连通层和剩余网络的深度学习框架来预测出租车供应与乘客需求之间的缺口。
然而,这两种方法都是完全连通的层,不能准确地模拟复杂的时空关系。
- Yu等人[25]使用LSTM网络学习交通数据中的时间相关性,并使用自编码器来表示静态特征。
- Lai等人[26]将跳跃连接与LSTM结合起来学习长时间和短时间相关性。
然而,这些方法都没有明确考虑空间相关性。
为了联合捕捉城市范围内历史需求的时空关系,
- Ke等人[16]提出使用ConvLSTM。他们的方法将多个ConvLSTM层和CNN层叠加,分别处理历史需求数据和旅行时间数据。
- Similarity, Zhu等人[27]也部署了ConvLSTM来学习时空相关性。他们进一步整合注意机制,强调潜移性规律的作用。
- ⭐️Zhang et al.[12]提出了一个时空模型来预测人群流量。他们将历史人群流动组织为“近期数据”、“近历史数据”和“远历史数据”三个片段。基于这些碎片,他们将整个城市的人群流动表示为一个多维图像,并利用CNN和残差网络提取空间关系[2]。
这两种方法的缺点是考虑了过多的弱相关区域,在获取空间相关性时引入了噪声,从而降低了预测精度。为了解决上述问题,
- Yao et al.[11]提出了“local CNN”,仅在地理上接近的区域内捕获空间相关性,并构建加权图作为不同区域之间的相似度。该方法可以过滤出弱相关的偏远地区,而不是使用整个城市的数据。
- Wang等人[14]利用生成对抗网络(Generative Adversarial Network, GAN)对[11]进行扩展,对交通需求数据中的随机特征进行建模。
- 另一个扩展[28]将[11]与模型不可抗元学习(MAML)[29]结合起来,以学习更好的初始化函数,用于泛化到新的数据集。
然而,所有这些基于cnn的模型都局限于网格划分的区域,即通过网格划分的方法将一个城市划分为更小的结构化区域。
- Bai等[2]通过区域相似性组织需求数据,将基于cnn的方法的可扩展性进一步扩展到非结构化区域,并通过级联的CNN-LSTM网络提取时空相关性。
- 类似地,Liang et al.[30]利用注意机制自动推断不同时间序列之间的相互关系,然后用LSTM捕获时间相关性。
为了便于获取更准确的非欧几里德空间相关性,将图卷积网络引入乘客需求预测领域,因为它能够处理各种应用中的非结构化数据(例如,知识图knowledge graph[31,32]、交通速度预测traffic speed forecasting[33,34]、社会推荐social recommendation[35,36])。Geng等人提出STMGCN[18],并部署图卷积网络来提取不同区域之间的空间相关性。他们根据区域地理距离、兴趣点(PoI)分布和道路网络连通性定义了3种区域图,包含更全面和准确的空间相关性。然而,PoI分布和路网连通性数据并不总是可用,这限制了模型的泛化能力。我们的工作还在图表上模拟了乘客需求。与 STMGCN 不同的是,我们建议从旅客需求数据本身推断图的连通性(如4.1节所示)。
3. Preliminary
3.1. Notations and the problem statement
假设将一个城市划分为 N N N个小区域,无论采用网格划分还是道路网络划分。我们将区域集表示为 { r 1 , r 2 , … , r i , … . r n } \{r_1, r_2,…, r_i,…. r_n\} {r1,r2,…,ri,….rn}。在每个时间步长 t t t上,标量 D t ( r i ) D_t(r_i) Dt(ri)表示区域 r i r_i ri在时间步长 t t t上的旅客需求。向量 D t ∈ R N D_t∈R^N Dt∈RN表示所有区域在时间步长 t t t上的旅客需求。另一个向量 E t E_t Et表示时间步长 t t t上的外部特征。在本工作中,外部特征包括气象数据(如天气状态、温度、风速)和时间元数据(如一天中的时间、星期中的日子、节假日),分别用 E M t EM_t EMt和 E T t ET_ t ETt表示。
给定全市范围内的历史旅客需求
{
D
0
,
D
1
,
…
,
D
t
}
\{D_0, D_1,…, D_t\}
{D0,D1,…,Dt}和外部特征
{
E
0
,
E
1
,
…
,
E
t
}
\{E_0, E_1,…, E_t\}
{E0,E1,…,Et},目的是学习一个预测函数
Γ
(
⋅
)
Γ(·)
Γ(⋅),该函数在以下
τ
τ
τ时间步骤中预测整个城市的乘客需求。特别的是,我们没有使用所有的历史旅客需求,而是选择性地考虑最近的
q
q
q时间步历史数据作为输入,这是时间序列数据分析[3]中常见的做法。因此,我们的工作可以表述为:
(
D
t
+
1
,
D
t
+
2
,
.
.
.
,
D
t
+
τ
)
=
Γ
(
D
t
−
q
+
1
,
D
t
−
q
+
2
,
.
.
.
,
D
t
;
E
t
−
q
+
1
,
E
t
−
q
+
2
,
.
.
.
,
E
t
)
(1)
(D_{t+1}, D_{t+2}, . . . , D_{t+τ}) = Γ(D_{t−q+1}, D_{t−q+2}, . . . , D_t; E_{t−q+1}, E_{t−q+2}, . . . , E_t )\tag{1}
(Dt+1,Dt+2,...,Dt+τ)=Γ(Dt−q+1,Dt−q+2,...,Dt;Et−q+1,Et−q+2,...,Et)(1)
3.2. Graph convolutional network
在这项工作中,我们使用图傅里叶变换在谱域定义的图卷积网络(GCN)[37,38]。以图信号
X
X
X和对应的邻接矩阵
A
A
A为输入,用内核
Θ
Θ
Θ对谱图卷积运算定义如下:
Θ
⋆
D
t
=
Θ
(
L
)
D
t
=
Θ
(
U
Λ
U
T
)
D
t
=
U
Θ
(
Λ
)
U
T
D
t
(2)
Θ ⋆ D_t = Θ(L)D_t = Θ(UΛU^T )D_t = UΘ(Λ)U^T D_t \tag{2}
Θ⋆Dt=Θ(L)Dt=Θ(UΛUT)Dt=UΘ(Λ)UTDt(2)
4. Model
图2说明了我们提出的基于编码器-解码器架构的方法的框架。编码器将所有输入编码为一个联合表示,解码器随后将该表示解码为一个预测序列。具体而言,编码器模块包括三个部分:
🍺(1)提取全市历史旅客需求的图形时空网络graph spatial–temporal Network(GSTN)。该算法可以从相似区域中单独提取共享模式,避免了弱相关区域的负面影响。
🍺(2)两个多层LSTM网络,分别学习更好的气象数据和时间元表示。本设计考虑了气象数据与时间元之间的独立性。
🍺(3) Hadamard 融合方法,将上述三个网络的最终状态融合为一个联合表示。在解码器中,我们使用另一个多层LSTM网络来解码联合表示,并实现多步预测。
我们将在下面详细介绍这些模块。
4.1. Learning spatial correlations
首先,我们介绍了如何捕捉不同区域之间的空间相关性
。以往的研究假设一个地区的旅客需求会受到其他地区的影响。他们要么利用CNN捕捉对整个城市的全球空间影响[12,13,16],要么利用地理附近区域[11]捕捉局部影响。与现有研究不同的是,我们假设空间相关性只依赖于具有相似需求模式的地区,而独立于地理位置。具有相似属性(如PoIs、功能)的偏远地区的乘客需求也可能具有相似的需求模式,反之亦然。因此,现有的方法夸大了旅客需求的全球性和邻近性。它们要么引入来自弱相关区域的过度噪声,要么忽略来自遥远相似区域的相关性。
因此,我们将城市视为一个图
G
=
(
ν
,
ξ
,
A
)
G = (ν, ξ, A)
G=(ν,ξ,A),其中
ν
ν
ν是城市中区域的集合
ν
=
{
r
i
∣
i
=
1
,
2
,
…
,
N
}
ν =\{r_i | i = 1,2,…,N\}
ν={ri∣i=1,2,…,N},
ξ
ξ
ξ值为一组边的集合,
A
A
A为相邻矩阵,定义不同节点(即区域)之间的空间连通性。与交通预测领域直接从路网中获取邻接关系不同,旅客需求预测中不同区域之间的邻接关系是未知的。为了解决这一问题,我们提出了从乘客需求数据中推断图的连通性的两种方法。👋首先,我们根据区域之间的历史旅客需求相似度,预先定义图的连通性,因为相似的区域通常具有相似的旅客需求。
👋其次,我们根据[40]中提出的区域表示的相关性,在训练过程中自适应学习节点之间的邻接关系。取
E
1
∈
R
N
×
k
E_1∈R^{N×k}
E1∈RN×k为可学习的源节点嵌入矩阵,
E
2
∈
R
N
×
k
E_2∈R^{N×k}
E2∈RN×k为可学习的目标节点嵌入矩阵(其中
k
k
k为嵌入维数),则:
基于预定义的相邻矩阵
A
A
A和可学习的
A
~
a
d
p
\tilde{A}_{adp}
A~adp,不同区域之间的空间相关性可以被我们的图空间-时间网络Graph Spatial–Temporal Network (GSTN) module模块中的多个堆叠GCN层捕获。如图3所示,GSTN的输入是城市范围的旅客对过去q时间步骤的需求,预定义的城市区域图的相邻矩阵A,和可学习的
A
~
a
d
p
\tilde{A}_{adp}
A~adp。在每个时间步中,我们将当前时间步的全市乘客需求输入到一组相连的GCN层中。堆叠的GCN层的权值由所有时间步共享,避免过拟合。根据Eq.(5),结合
A
A
A和
A
~
a
d
p
\tilde{A}_{adp}
A~adp的每个GCN层的计算是:
考虑到邻接关系包含历史旅客需求相似度和区域表示相似度,我们的设计可以准确地捕捉大多数相关区域的空间相关性,并排除弱相关区域,无论其地理位置如何。
在Fig.3中:
- Historical Demand:是众多节点的历史需求数据。截取 0 → t {0\to t} 0→t时间段的数据,使用皮尔逊相似性得到节点的相似关系,根据预定义的参数 β \beta β,可以获得预定义矩阵 A A A
- Embedding:根据公式(7)猜测。对网路节点施行嵌入(E=nn.Embedding(V),where nn.Embedding是torch.nn种的module;V是顶点集合;E是嵌入结果。E1即源节点的嵌入表示。E2即目的地节点的嵌入表示)。根据公式(7),可以获得自适应矩阵 A ~ a d p \tilde{A}_{adp} A~adp
- 输入数据: 时间长度为 q q q
- GCN:见公式(8).是对上述两个矩阵的GCN的结果直接相加。对每个时间点的输入做GCN层,且参数共享。
- LSTM: 对经过GCN的 q q q个结果分别作为LSTM的输入。
- ( S D h , S D c ) (S_D^h ,S_D^c) (SDh,SDc):表示LSTM的最后一个cell的输出和细胞状态
- 《pytorch中nn.Embedding原理及使用》
4.2. Learning temporal correlations
然后将从GCN层提取的表示送入多层LSTM网络,以捕获时间关系,并将之前
q
q
q时间步的全市旅客需求编码为联合表示。注意,我们将前面
q
q
q时间步的乘客需求作为GCN的输入,分别提取每个时间区间的表示。相应地,我们得到
q
q
q个不同的表示。在图4中,我们使用一层LSTM作为例子来阐述,其中GCN层的
q
q
q输出显示为
X
t
−
q
+
1
,
X
t
−
q
+
2
,
…
X
t
X_{t−q+1}, X_{t−q+2},…X_ t
Xt−q+1,Xt−q+2,…Xt。每个LSTM细胞有三个输入:
X
i
X_ i
Xi,来自最后一个细胞
C
i
−
1
C_{i−1}
Ci−1的细胞状态,和输出最后一个细胞
H
i
−
1
H_{ i−1}
Hi−1,其中
i
∈
[
t
−
q
+
1
,
t
]
i∈[t−q + 1, t]
i∈[t−q+1,t]。每个LSTM cell的计算遵循[8]:
4.3. Representing external features
除了隐藏在历史城市需求序列中的时空相关性外,许多外部因素,如时间元(如一天的时间、星期的天数、节假日)和气象数据(如天气、温度、风速)也会影响旅客需求[30]。例如,早高峰时段的乘客需求往往很高,而午夜时的乘客需求则很低。此外,时间元数据和气象数据对旅客需求的影响是相互独立的[12,16]。基于这些观测数据,我们将过去 q q q时间步的气象数据序列和时间元序列输入到两个独立的多层LSTM网络中,以获得它们的表示。与第4.2节类似,我们在多层LSTM网络中只得到最后一个LSTM cell的状态和输出作为输入的输出和表示,因为它们集成了输入数据中的所有信息。
另外,我们使用全连通层将时间元部分的最终状态映射到N倍的高维上,使其匹配区域数量,因为所有区域的时间元是相同的。这样,气象数据和时间元可以表示为 ( S M h , S M c ) (S^h_M, S^c_M) (SMh,SMc)和 ( S T h , S T c ) (S^h_T, S^c_T) (STh,STc).
4.4. Fusion and prediction
在前面的部分中,我们介绍了我们设计的三种不同的神经网络,分别获得城市范围内历史旅客需求、气象数据和时间元的表示。在将这些表示送入解码器模块之前,它们应该被融合在一起:
为了预测下一个 τ τ τ时间步的乘客需求,我们使用另一个LSTM网络来解码联合表示 ( S h , S C ) (S^h, S^C) (Sh,SC)。与[9]和[41]中的方法类似,解码器的输入由两部分组成:编码器的编码表示和初始变量。编码后的表示 ( S h , S C ) (S^h, S^C) (Sh,SC)作为LSTM网络的初始状态(如图4所示)馈入解码器,初始变量作为LSTM网络的第一输入开始解码。在机器翻译研究中,最常用的初始变量是“句末”标记。在我们的工作中,我们使用联合表示的第一部分 h h h作为初始变量,因为它包含比零变量更多的信息。解码器后续单元的输入是最后一个LSTM单元的输出,如图2的右侧所示。
4.5. Optimization and training
解码器中所有LSTM单元的输出构成了预测的乘客需求
(
D
’
t
+
1
,
D
’
t
+
2
,
…
D
t
+
τ
′
)
(D’_{t+1}, D’_{t+2},…D '_{ t +τ})
(D’t+1,D’t+2,…Dt+τ′)。在培训过程中,我们的目标是使预测的旅客需求与实际的旅客需求之间的误差最小。我们将预测旅客需求和
τ
τ
τ时间步的真实旅客需求均方误差(MSE) 作为损失函数,记为
5. Experiments
在这一部分中,我们首先介绍用于评估我们的模型的数据集。然后,概述了实验设置和评价指标。最后,我们从三个角度对我们的方法进行了评价,重点分析了之前工作中的三个不足(见第1节),证明了我们的模型可以有效地解决这些问题。
5.1. Datasets
我们在实验中使用了三个真实世界的数据集,详细如下:
- DidiSY: 自编数据集,由三部分组成:(1)来自国内最大的共享出行公司滴滴的共享出行需求数据;(2)时间元,包括每天的时间、每周的天数和节假日;(3)气象资料,包括天气、温度、风速、能见度等。数据集收集于中国大城市沈阳,时间为2016年12月05日至2017年2月04日。每个时间段是一个小时。我们将最后六天的需求部署为测试数据,之前的数据部署为训练数据。
- BikeNYC [12]:公共BikeNYC数据集仅由两部分组成:自行车需求部分和时间元部分。这个数据集涵盖了纽约的共享单车租赁和CityBike从2014年4月1日到2014年9月30日的返回数据。每个时间步是一个小时。与之前使用此数据集的工作保持一致。[12,13],选取最后十天的数据作为试验数据。
- TaxiBJ [12]:公共数据集TaxiBJ包含北京2015年3月1日至2015年6月30日的出租车需求。与DidiSY数据集类似,TaxiBJ包含乘客需求、时间元数据和气象数据。在此数据集中,每个时间步为30分钟。最后十天的数据作为测试数据。
5.2. Experiment settings
在将数据集输入模型之前,我们使用独热编码one-hot encoding对分类特征(例如,一天中的小时、一周中的天、假期和天气)进行转换。此外,利用最小-最大归一化方法对能见度、风速、温度等连续特征进行了尺度化处理。利用Min-Max归一化方法对旅客需求数据进行归一化,并将其还原到实际值,以评估预测精度。我们使用PyTorch 1.1在Python中实现了我们的模型。经过参数调整,我们方法的最终模型采用了两个GCN层,两个LSTM层用于编码历史旅客需求数据,三个LSTM层用于表示历史外部数据(即时间元数据和计量数据)。GCN的顺序设置为2,历史窗口大小q在DMVST[11]之后设置为8。在解码器中,我们只使用一个LSTM层来生成预测。所有数据集的批大小设置为64,DidiSY、bikenc和TaxiBJ的学习率分别设置为0.0001、0.0007和0.001。对于比较方法,我们对它们进行了仔细的调整,并为它们选择了最佳参数。
在每个预测步骤中,我们部署三个评估指标来评估我们的模型的性能,即均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)。
5.3. Evaluation on next-step prediction
我们首先将我们的方法与两种具有代表性的传统基线和八种不同的先进方法进行比较,以评估我们的模型在捕获空间-时间相关性方面的能力。考虑到目前最先进的方法只能实现下一步的预测,我们在这一部分中使用我们在第一个时间步的预测作为我们的结果。我们使用的比较方法是:
- HA:历史平均模型是通过计算同一地区对应时间间隔内以往旅客需求的平均值来预测未来的旅客需求。例如,周五10:00 am - 11:00的预测是通过平均历史周五10:00 am - 11:00的所有需求来实现的。
- OLSR:普通最小二乘回归模型是一种线性回归模型,可以估计多个变量之间的相关性.
- XGBoost [43]: XGBoost是一种基于boosting树的机器学习方法,已被证明在广泛的应用中取得了良好的精度。
- DeepST [13]: DeepST是一种基于CNN的方法,它将历史数据组织为三个组成部分(时间“紧密性”,“时期”,“趋势”),并使用CNN捕捉空间-时间相关性。
- ResST-Net [12]: rest - net是对DeepST的扩展,它进一步集成了剩余的网络来叠加更多的CNN层。这个模型捕捉了整个城市的空间相关性。
- DMVST-Net [11]: DMVST-Net由三个视图组成:空间视图、时间视图和语义视图。它可以有效地捕获空间和时间依赖关系。
- ConvLSTM [15]: ConvLSTM是专门为时空分析设计的深度学习方法。通过在输入到状态和状态到状态的转换中使用卷积结构,它扩展了LSTM。ConvLSTM结合编码器-解码器框架实现多步预测。
- FCL-Net [16]: FCL-Net结合多个ConvLSTM层和CNN,从过往旅客需求序列和平均出行时间中提取时空关系。
- FlowFlexDP [44]: FlowFlexDP是一种深度学习方法,从历史旅客需求和人群流出中提取空间相关性,它也使用GCN。
- DCRNN[45]:与ConvLSTM类似,DCRNN扩展了LSTM,通过扩散卷积运算来计算重置门和更新门。该模型考虑了多步预测和编码器-解码器集成框架。
从表1可以观察到,我们的方法在所有三个数据集上都取得了最好的性能,这表明我们的模型在准确捕捉城市范围的时空相关性方面具有优势。更具体地说,我们的模型相对于基线历史平均值的性能提高是:DidiSY数据集的21.81% (RMSE)、20.74% (MAE)和26.99% (MAPE)的相对提高,bikenc数据集的45.13% (RMSE)、40.05% (MAE)和52.63% (MAPE)的相对提高,TaxiBJ数据集的56.47% (RMSE)、49.28% (MAE)和48.13% (MAPE)的相对提高。与目前最先进的方法相比,我们的模型在DidiSY数据集上仍然实现了2.21% (RMSE)、2.10% (MAE)和2.20% (MAPE)的相对改进,在bikenc数据集上实现了1.44% (RMSE)、4.09% (MAE)和4.46% (MAPE)的相对改进,在TaxiBJ数据集上实现了0.27% (RMSE)、1.01% (MAE)和1.42% (MAPE)的相对改进。
5.4. Evaluation on multi-step prediction
接下来,我们评估我们的模型进行长期预测的能力,例如,多步预测。对未来6个时间步的旅客需求进行预测,并与HA、DCRNN和ConvLSTM三种方法进行比较。RMSE和MAE作为比较指标。由图5可以看出,HA对所有时间步骤的预测结果都是相同的,这是合理的,因为HA依赖于前几天对应的乘客需求,这六个步骤都是现成的。同时,其他三种方法的预测随着时间步长的增大而变差,其原因是它们的预测依赖于最后一步(s)的预测,会累积预测误差。此外,与HA相比,DCRNN、ConvLSTM和我们的模型在TaxiBJ数据集上取得了最大的相对改进,而在DidiSY数据集上取得了最小的相对改进,这表明深度学习模型在更复杂、更大的数据集上对时空相关性的建模能力更强。此外,DCRNN和ConvLSTM的总体性能优于HA,尽管它们的长期预测性能(如第6步)不如HA(如图5(d)所示的DidiSY数据集)。总之,可以观察到,我们的模型表现出了最佳的一致性,在三个数据集上的预测退化趋势很小,与最先进的方法相比具有一定的稳定性。
5.5. Evaluation on prediction with irregular regions
在基于道路网络的划分方法将城市划分为不规则区域的情况下,我们对模型的性能进行了评估。使用DidiSY数据集进行这个实验,因为它保留了每个服务请求的地理位置(GPS)。我们根据道路网对沈阳城市进行分区,并根据GPS信息对需求数据进行重组。
我们的方法是灵活的,可以应用到新的数据集,不需要修改。另一方面,如第1节所述和第5.3节所示,现有的大多数最先进的方法使用CNN来捕捉空间相关性,因此不能用于这种情况。为了更好地评估ourvmethod,我们进一步添加了三种新的比较方法:自回归综合移动平均模型(ARIMA)、季节自回归综合移动模型(SARIMA)和多层感知器(MLP)。表2列出了这些方法的实验结果。我们可以观察到,这个重新组织的数据集的预测结果略高于第5.3节中的结果。这是因为该市被划分为较少的区域。此外,在这些不规则区域,我们的模型仍优于所有其他方法。实验结果表明,我们的方法不受区域划分方法的限制,可以始终获得优异的性能。
6. Conclusions
准确预测未来乘客需求对智能交通系统至关重要。在这项工作中,我们开发了一种新的深度学习方法,以历史旅客需求和外部数据预测旅客需求。该方法既能捕捉城市历史需求数据之间的时空关系,又能有效地将外部数据的影响整合到预测中。通过在图上形成需求,并从数据中推断相互连接,我们的模型可以比现有的工作更准确地捕捉区域之间的空间关系,并且不考虑区域划分方法。此外,我们的方法可以基于编码器-解码器框架在一次执行中产生多个步骤的预测。在三个真实数据集上的实验结果表明,我们的方法优于一组基线和最新技术。
虽然我们的方法通过明确地对空间相关性、时间相关性和外部因素的影响进行建模,取得了很有前景的结果,但一个潜在的限制是无法在乘客需求数据中捕获时空动态。例如,不同区域之间的空间相关性在工作日和周末可能是不同的。我们的方法推断的图形是静态的,因此不能准确地模拟动态。在未来,我们将进一步考虑时空动力学,捕捉更全面的时空相关性。
References
[11]Deep multi-view spatial–temporal network for taxi demand prediction,csdn
[12] Deep spatio-temporal residual networks forcitywide crowd flows prediction,csdn
[13]Dnn-based prediction model for spatio- temporal data,知乎
[14] Seqst-gan: Seq2seq generative adversarial nets for multi-step urban crowd flow prediction,csdn
[15]Convolutional lstm network: A machine learning approach for precipitation nowcasting,csdn
[16]Short-term forecasting of passenger demand under on-demand ride services: A spatio-temporal deep learning approach,TRC文章
[18] Spatiotemporal multi-graph convolution network for ride-hailing demand forecasting.ST-MGCN,csdn博文
[22]Taxi booking mobile app order demand prediction based on short-term traffic forecasting,SAGE文章
[23] A novel passenger flow prediction model using deep learning methods,TRC文章
[24]Deepsd: supply–demand prediction for online car-hailing services using deep neural networks,IEEE文章
[25]Deep Learning: A Generic Approach for Extreme Condition Traffic Forecasting,SIAM文章
[26]Modeling long-and short-term temporal patterns with deep neural networks,csdn;;;知乎
[27] Predicting multi-step citywide passenger demands using attention-based neural networks, csdn
[30]Geoman: multi-level attention networks for geo-sensory time series prediction,知乎
[44] Passenger demand prediction with cellular footprints,dblp文章
[45]Diffusion convolutional recurrent neural network: Data-driven traffic forecasting,简书,👍