需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder residual multi-graph convolutional network

相关工作缺陷

  1. 地图网格划分运用CNN和LSTM进行预测,CNN仅以地理方式捕获局部空间相关性,而无法对两个区域之间的语义相关性建模。
  2. 大多是研究区域中的骑乘需求,很少有OD的需求预测,现有的od预测在构建邻接矩真实只包含两个网格之间的距离和流量信息,没有充分利用语义信息。

特点

  1. 构造多个OD图来描述不同OD对之间的成对关系,包括基于起点和终点的邻域关系图、基于起点和终点的功能相似图、基于起点和终点的距离图以及移动性模式相关图。
  2. 提出了一种新的深度学习模型,该模型具有设计良好的编解码结构,可以对不同OD对之间的空间依赖性和OD对本身的时间依赖性进行建模

研究问题

od graph

  1. 不再通过正方形或者六边形划分区域,而是通过邮政编码划分区域
  2. 将一天划分成多个时间间隔,预测同一时间间隔内各种od的订单数量
  3. 构图 G = (V,E,A),其中顶点v表示每个od对,N = |V|表示每个od对在当前时间段的个数,E表示边集,A表示邻接矩阵

特征定义

x i ( d , t ) x_i^{(d,t)} xi(d,t)​表示第d天t时第i个od对的请求数量, X ( d , t ) X^{(d,t)} X(d,t)表示第d天t时所有od对的总数量。因为存在两种主要的时间依赖性:趋势(需求受过去几段时间内历史需求的影响)和周期性(需求在几天和几周内重复类似的模式),所以提取数据得到:

  1. 基于趋势的特征:OD图中最近两个时间间隔的需求,即 x ( d , t − 2 ) x^{(d,t-2)} x(d,t−2)和 x ( d , t − 1 ) x^{(d,t-1)} x(d,t−1)
  2. 一天内基于周期的特征:OD图中前一天相同时间间隔的需求,即 x ( d − 1 , t ) x^{(d-1,t)} x(d−1,t)
  3. 一周内基于周期的特征:OD图中上周同一天相同时间间隔的需求,即 x ( d − 7 ) x^{(d-7)} x(d−7)。

将od对的历史需求映射到下一间隔内od需求:
x ( d , t ) = [ x ( d − 7 ) , x ( d − 1 , t ) , x ( d , t − 2 ) , x ( d , t − 1 ) ] → f x ( d , t ) x(d,t) =[x^{(d-7)},x^{(d-1,t)},x^{(d,t-2)},x^{(d,t-1)}]\xrightarrow{f} x(d,t) x(d,t)=[x(d−7),x(d−1,t),x(d,t−2),x(d,t−1)]f ​x(d,t)

模型方法

有两个编码器:一个空间编码器和一个时间编码器。空间编码器利用多个RMGC从不同方面(包括地理距离、功能相似性和移动性模式相关性)建模OD对之间的空间相关性。时间编码器提出了一个空间LSTM模型来学习每个OD对的时间依赖关系。为了在一个端到端的学习框架中融合空间和时间模型,我们将两个解码器的输出平坦化为两个密集的latten向量,然后将其串联。最后,在解码器部分,使用多个RMGC网络将压缩向量转换回OD图,用于预测目标OD需求。
需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

1. od之间的空间性建模

(1)邻域关系图:两个OD对的起点/目的地彼此相邻,则具有很强的相关性

在起点或终点附近的OD对中,需求更有可能具有类似的模式,定义两个相邻矩阵,分别指示两个OD对是否具有相邻的起点或终点:

例如西北大学到陕师大,西北大学南门出发或者从东门出发,即表示这两个od对具有相邻的起点,他们之间可能会有一些相互影响

需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

(2)功能相似图:两个od对功能相似,则具有很强的关系

划分功能区域功能区如果两个od对i和j的起点功能相同,终点功能相同,则相似性越大。

需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

(3)站点距离图:分别描述起点和终点之间的距离

基于起点(每两个OD对的起点之间的距离)和基于目的地的距离(每两个OD对的目的之间的距离),距离越短,关系越强【这里用的是经纬度的直线距离】

需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

(4)迁移率模式相关图:类似的需求模式od对,可以相互指导预测

让Qi作为记录OD对i历史需求(多个月)的向量
需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

2. Residual Multi-Graph convolutional (RMGC) network

RMGC网络,它结合了多图卷积网络和残差模块,以捕获OD对之间的空间相关性。在我们的模型中,RMGC网络的基础是GCN,通过改变GCN层的结构来设计MGC网络。然后,在深度学习网络中堆叠多个MGC层以提高训练性能,并引入剩余网络来解决梯度爆炸问题,这构成了RMGC块。这种基于RMGC的编码器的输出是通过RMGC块的多层生成的,并被展平为一维特征。

  1. 多图训练

假定有k个邻接矩阵,第k个邻接矩阵 A k ^ ∈ R N × N , k ∈ 1... K \widehat{A_k}∈ R^{N×N},k∈{1...K} Ak​ ​∈RN×N,k∈1...K,在批量大小为B的每个训练批中,我们首先将每个相邻矩阵复制B次,然后将它们连接成一个张量 A ∈ R B × ( N ∗ K ) × N A ∈ R^{B×(N*K)×N} A∈RB×(N∗K)×N

假设输入和输出特征的维数分别为F和O,那么我们就得到了输入张量 H l ∈ R B × N × F H_l∈ R^{B×N×F} Hl​∈RB×N×F,可学习的权重矩阵 W ∈ R ( K ∗ F ) × O W ∈ R^{(K*F)×O} W∈R(K∗F)×O,以及输出张量 H l + 1 ∈ R B × N × O H_{l+1}∈ R^{B×N×O} Hl+1​∈RB×N×O

需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

残差网络 H t + 1 = H t + σ ( D − 1 / 2 A D − 1 / 2 H l W l ) H_{t+1} = H_t+\sigma(D^{-1/2}AD^{-1/2}H_lW_l) Ht+1​=Ht​+σ(D−1/2AD−1/2Hl​Wl​)
最终输出为拉伸后的一维特征向量:
L 1 = σ ( W 1 ∙ F l a t t e n ( R M G C ( X , W R M G C ) ) + b 1 ) L1= σ(W_1∙Flatten(RMGC(X,W_{RMGC}))+b1) L1=σ(W1​∙Flatten(RMGC(X,WRMGC​))+b1)
需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder

3.Spatial LSTM
主要捕获时间特征,与传统的LSTM稍有不同的是,本文中的空间LSTM需要同时处理具有空间和时间信息的输入张量.

在以往的大多数研究中,都将一个区域或一个路段的历史特征作为输入,并预测下一个时间间隔内该区域或路段的需求。但这篇论文从所有OD对中学习特征,并将高级信息输出到一个潜在向量中,而不是对每个OD对使用各种单独的LSTM。

特征x的输入为 X ∈ R^{B×N×F},其中B为batch_size,N为od点个数,F为之前定义的切片个数为4
L 2 = σ ( W 2 ∙ F l a t t e n ( L S T M ( X L S T M , W L S T M ) ) + b 2 ) L2= σ(W2∙Flatten(LSTM(X_LSTM,W_LSTM))+b2) L2=σ(W2∙Flatten(LSTM(XL​STM,WL​STM))+b2)

4.编码器和解码器

只需将上述两个编码器的输出串联在一起,即可将它们融合在一起,潜在向量L包含历史需求的空间和时间特征。为了预测未来的OD需求,我们首先引入一个中间层,将向量L的维数扩展为一个形状为B×N的新向量,然后我们将新向量重塑为形状为B×N×1的张量,这成为RMGC的有效输入格式。形式上,解码器体系结构:
X ^ ( d , t ) = R M G C d ( R e s h a p e ( σ ( W 3 ∙ L + b 3 ) ) , W R M G C − D ) \widehat{X}^{(d,t)}= RMGC^d(Reshape(σ(W_3∙L + b3)),W_{RMGC−D}) X (d,t)=RMGCd(Reshape(σ(W3​∙L+b3)),WRMGC−D​)

上一篇:pytorch nn.LSTM的用法和理解


下一篇:综合LSTM、transformer优势,DeepMind强化学习智能体提高数据效率