一种基于注意力机制的细粒度打车需求预测方法与流程

文档序号:21275456发布日期:2020-06-26 23:13阅读:208来源:国知局
一种基于注意力机制的细粒度打车需求预测方法与流程

本发明涉及一种实时、细粒度的打车需求预测领域,提出了一种基于注意力机制的细粒度打车需求预测方法,基于注意力机制的混合深度神经网络架构,对打车需求内在的时空规律进行模拟。该网络架构捕获了历史打车需求数据中潜在的时空关联和额外因素(如天气,节假日)对打车需求的影响,并利用注意力机制对捕获的多种影响因素进行融合。



背景技术:

随着城市化进程的发展,出租车作为一种灵活的公共交通工具在城市交通系统中发挥了重要作用,为乘客提供了舒适、便捷的出行服务。然而,由于出租车司机难以全面地了解乘客的打车需求,导致城市地区出现了出租车需求与供应不匹配的现象。例如,一些驾驶员在街道上空车行驶。与此同时,在邻近的街道上,一些乘客等待许久却打不到车。这些问题降低了乘客的满意度和驾驶员的积极性。细粒度的打车需求预测旨在利用历史的打车需求记录,预测未来某个时间片、某个区域内乘客的打车数量,对于解决出租车供需不平衡的问题具有重要的指导意义。

对于打车需求预测而言,如何从历史数据中准确地提取打车需求在时间和空间上的内在关联和变化特征是非常重要的。然而,实际数据中时空的依赖关系往往是复杂的、非线性的,难以用简单的数学公式对其进行建模。另一方面,打车需求的变化受到多种额外因素的影响,例如天气,节假日等。因此,如何捕获上述因素对打车需求的影响,并合理的融合它们,是一个十分困难的问题。近几年,虽然有一些相关工作尝试利用深度神经网络提取打车需求内在的时空变化特征,但是这些工作忽视了打车需求在时间维度上存在不确定性和周期性,未能设计有效地融合机制,对打车需求进行精准预测。



技术实现要素:

本发明的目的是针对已有技术的不足,提供一种基于注意力机制的细粒度打车需求预测方法,利用若干局部卷积层(localconvolutionallayer,lc层)和门控循环单元(gatedrecurrentunit,gru)从历史数据中提取了打车需求高度非线性的时空特征。随后,将上下文信息用于注意力模型中,为每个区域的多个预测结果分配不同的权重,通过融合不同的预测值,提高预测结果的准确度。

为了达到这个目标,本发明通过以下技术方案来解决其技术问题:

一种基于注意力机制的细粒度打车需求预测方法,操作步骤为:

步骤一,对细粒度的打车需求预测问题进行建模,主要包括对时间、空间的离散化和对打车需求的定义;

步骤二,根据步骤一中的问题模型,对出租车轨迹数据、路网数据、兴趣点poi数据、天气数据和节假日数据进行预处理,构建样本数据库;

步骤三,建立卷积循环神经网络模型,用于提取打车需求内在的多视角时空特征,为每个区域生成多个预测结果;

步骤四,在步骤三的基础上提出了基于上下文感知的注意力组件,为每个区域的多个预测结果分配不同的权重,并通过加权求和操作对多个预测结果进行融合;

步骤五,将样本划分为训练集和测试集,对模型参数进行多次训练,选取预测误差最小的模型参数用于打车需求预测。

进一步地,所述步骤一包括:

1.1)将时间离散化为由一组等间隔的时间片所构成的集合其中tτ表示当前时间片。

1.2)利用道路网络将空间离散化为一组不规则且不重叠的多边形区域,若干区域所构成的集合为其中n表示区域的数量。

1.3)定义在时间片tτ内的打车需求xτ=[x1,τ,x2,τ,…,xn,τ]。其中,xn,τ表示在时间片tτ、区域rn内上车的乘客数量。

进一步地,所述步骤三包括:

3.1)设计即时性时空组件。该组件主要由若干个lc层和一个gru构成,提取了打车需求在较短时间内的时空变化特征。具体地,该组件输入前o个连续时间片内的历史打车需求yi=[xτ+1-o,xτ+2-o,…,xτ],通过一系列操作,生成对时间片tτ+1内打车需求的预测结果fi

具体操作内容如下:

首先,利用lc层提取序列yi在邻近区域之间内在的空间关联。以第l个(2≤l≤l)lc层为例,该层的输入被定义为其中,k为卷积核的数量。对于每个区域rn,通过重新排列中的某些列,即区域rn及其邻接区域所对应的列,构建一个子矩阵由于每个区域所邻接的区域数量是不确定的,对于邻接区域数量小于最大邻接区域的数的区域rn,通过重复自身在中所对应的列实现子矩阵补全操作。分别对每个进行卷积操作,并通过拼接n个区域内k个卷积核产生的输出,得到第l个lc层的输出此外,批量标准化层被添加在lc层之后,以加速模型的训练。经过l个lc层,一个1×1卷积操作被用于压缩内所包含的空间信息,以得到一个高层次的空间特征表示

其次,特征表示si被转化为一个时间序列序列中的元素依次被输入到一个gru中。计算公式如下:

其中包含了前o个时间片内打车需求的时空依赖关系。其中,k是中一个可调节的参数,表示gru中隐藏节点的数量。最后,被输入到一个全连接层(fully-connectedlayer,fc层)中,得到该组件对时间片tτ+1内打车需求的预测结果

3.2)设计短/长周期性组件。短/长周期性组件分别提取了打车需求在较短周期(例如,p天)和较长周期(例如,q周)内打车需求的周期性变化模型,并利用该模型对时间片tτ+1内的打车需求进行预测。两个组件具有相同的网络结构,该结构的输入为历史打车需求序列和额外因素数据。其中,短周期性组件考虑了由间隔为δs的前p个时间片组成的打车需求序列长周期性组件考虑了由间隔为δl的前q个时间片组成的打车需求序列

不同的额外因素(例如,天气,节假日等)会对打车需求的变化产生巨大的影响。为了捕获额外因素特征,该组件利用嵌入(embed)的方法将每个时间片内的离散特征转换为一个额外因素特征向量ut。该方法广泛的应用于自然语言处理领域,将离散的类别数据映射为一个低维的特征向量。

随后,将历史打车需求序列和对应时间片内的额外因素特征进行拼接,并将拼接后的数据依次输入到一个gru中。gru中最后一个时间步的输出被输入到一个fc层中,以产生该组件对时间片tτ+1内打车需求的预测结果。具体公式如下:

其中,表示拼接操作;

类似地,长周期性组件的计算公式如下

其中

进一步地,所述步骤四包括:

设计基于上下文感知的注意力组件,对步骤三中三个组件输出的预测结果fi,fs,fl进行融合。该组件主要考虑了三个对打车需求具有关键影响的上下文因素,包括时间片tτ+1内的天气,时间片tτ+1在一周中的索引和区域rn的功能向量,并在时间片tτ+1内为每个区域rn构造一个上下文特征向量gn。具体地,特征向量的构造方法与外部因素的特征提取方法类似,对于每个区域rn,上下文因素中的离散数据均被映射为低维向量,将这些低维特征向量进行拼接,可以得到该区域的上下文特征向量gn。

接下来,该组件构造了一个网络模块,学习在三个预测结果中,每个区域应该被关注到的比重,即每个区域应该被赋予的注意力权重。随后,通过对三个预测结果进行加权求和操作,可以得到在时间片tτ+1、区域rn内最终的打车需求的预测结果具体公式如下所示:

本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:

(1)本发明提出的卷积循环神经网络模型,充分地提取了打车需求内在的多视角时空特征,包括邻近区域之间的时空相关性,打车需求的短、长期周期性和外部因素对打车需求的影响。

(2)本发明提出的基于上下文感知的注意力组件,考虑了丰富的上下文信息,为每个区域的多个预测值分配不同的权重,并通过加权求和操作对多个预测值进行融合,进一步提高了预测的准确率。

(3)经仿真实验证明,利用本发明对打车需求进行预测,具有较低的预测误差。

附图说明

图1是本发明基于注意力机制的细粒度打车需求预测方法的流程示意图。

图2是本发明基于注意力机制的打车需求预测方法深度神经网络的架构示意图。

图3是基于上下文感知的注意力组件的结构示意图。

具体实施方式

本发明的优选实施例结合附图详述如下:

参考图1,本基于注意力机制的细粒度打车需求预测方法,操作步骤为:步骤一,对细粒度的打车需求预测问题进行建模,主要包括对时间、空间的离散化和对打车需求的定义;步骤二,根据步骤一中的问题模型,对出租车轨迹数据、路网数据、poi数据、天气数据和节假日数据进行预处理,构建样本数据库;步骤三,建立卷积循环神经网络模型,用于提取打车需求内在的多视角时空特征,为每个区域生成多个预测结果;步骤四,在步骤三的基础上提出了基于上下文感知的注意力组件,为每个区域的多个预测结果分配不同的权重,并通过加权求和操作对多个预测结果进行融合;步骤五,将样本划分为训练集和测试集,对模型参数进行多次训练,选取预测误差最小的模型参数用于打车需求预测。

所述步骤一对细粒度的打车需求预测问题进行建模,具体包括如下步骤:

1.1)将时间离散化为由一组等间隔的时间片所构成的集合其中tτ表示当前时间片;

1.2)利用道路网络将空间离散化为一组不规则且不重叠的多边形区域,若干区域所构成的集合为其中n表示区域的数量;

1.3)定义在时间片tτ内的打车需求xτ=[x1,τ,x2,τ,…,xn,τ],其中,xn,τ表示在时间片tτ、区域rn内上车的乘客数量。

如图2所示,所述步骤三中卷积循环神经网络模型的建立包含以下步骤:

3.1)设计即时性时空组件。该组件主要由若干个lc层和一个gru构成,提取了打车需求在较短时间内的时空变化特征。具体地,该组件输入前o个连续时间片内的历史打车需求yi=[xτ+1-o,xτ+2-o,…,xτ],通过一系列操作,生成对时间片tτ+1内打车需求的预测结果fi

具体操作内容如下:

首先,利用lc层提取序列yi在邻近区域之间内在的空间关联。以第l个(2≤l≤l)lc层为例,该层的输入被定义为其中,k为卷积核的数量。对于每个区域rn,通过重新排列中的某些列,即区域rn及其邻接区域所对应的列,构建一个子矩阵由于每个区域所邻接的区域数量是不确定的,对于邻接区域数量小于最大邻接区域的数的区域rn,通过重复自身在中所对应的列实现子矩阵补全操作。分别对每个进行卷积操作,并通过拼接n个区域内k个卷积核产生的输出,得到第l个lc层的输出此外,批量标准化层被添加在lc层之后,以加速模型的训练。经过l个lc层,一个1×1卷积操作被用于压缩内所包含的空间信息,以得到一个高层次的空间特征表示

其次,特征表示si被转化为一个时间序列序列中的元素依次被输入到一个gru中。计算公式如下:

其中包含了前o个时间片内打车需求的时空依赖关系。其中,κ是中一个可调节的参数,表示gru中隐藏节点的数量。最后,被输入到一个fc层中,得到该组件对时间片tτ+1内打车需求的预测结果

3.2)设计短/长周期性组件。短/长周期性组件分别提取了打车需求在较短周期(例如,p天)和较长周期(例如,q周)内打车需求的周期性变化模型,并利用该模型对时间片tτ+1内的打车需求进行预测。两个组件具有相同的网络结构,该结构的输入为历史打车需求序列和额外因素数据。其中,短周期性组件考虑了由间隔为δs的前p个时间片组成的打车需求序列长周期性组件考虑了由间隔为δl的前q个时间片组成的打车需求序列

不同的额外因素(例如,天气,节假日等)会对打车需求的变化产生巨大的影响。为了捕获额外因素特征,该组件利用嵌入的方法将每个时间片内的离散特征转换为一个额外因素特征向量ut。该方法广泛的应用于自然语言处理领域,将离散的类别数据映射为一个低维的特征向量。

随后,将历史打车需求序列和对应时间片内的额外因素特征进行拼接,并将拼接后的数据依次输入到一个gru中。gru中最后一个时间步的输出被输入到一个fc层中,以产生该组件对时间片tτ+1内打车需求的预测结果。具体公式如下

其中,表示拼接操作;类似地,长周期性组件的计算公式如下

其中

所述步骤四中基于上下文感知的注意力组件的建立包含以下步骤:

设计基于上下文感知的注意力组件,对步骤三中三个组件输出的预测结果fi,fs,fl进行融合。设计内容如下:

如图3所示,该组件主要考虑了三个对打车需求具有关键影响的上下文因素,包括时间片tτ+1内的天气,时间片tτ+1在一周中的索引和区域rn的功能向量,并在时间片tτ+1内为每个区域rn构造一个上下文特征向量gn。具体地,特征向量的构造方法与外部因素的特征提取方法类似,对于每个区域rn,上下文因素中的离散数据均被映射为低维向量,将这些低维特征向量进行拼接,可以得到该区域的上下文特征向量gn。

接下来,该组件构造了一个网络模块,学习在三个预测结果中,每个区域应该被关注到的比重,即每个区域应该被赋予的注意力权重。图3给出了网络模块的详细结构,该模块由六个fc层和一个softmax操作构成,输入区域rn的上下文特征向量和该区域在时间片tτ+1内的三个预测值,可以得到一个维度为1×3的向量其中,wn中的三个元素为权重系数,分别分配给区域rn对应的三个预测结果。随后,通过对三个预测结果进行加权求和操作,可以得到在时间片tτ+1、区域rn内最终的打车需求的预测结果具体公式如下所示

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1