基于轨迹语义化和图卷积网络的出租车需求预测方法

文档序号:33195261发布日期:2023-02-04 11:18阅读:24来源:国知局
基于轨迹语义化和图卷积网络的出租车需求预测方法

1.本发明属于智能交通领域,涉及出租车需求量特性分析,尤其涉及一种基于轨迹语义化和图卷积网络的出租车需求预测方法。


背景技术:

2.交通作为城市的脉搏,影响着每个人的日常生活。在城市计算宏观框架下,智能交通(its)是重要的组成部分。当前,智能交通领域的研究主要集中于交通流预测、路线规划、乘车需求预测等。近年来,随着网约车打车服务的日益普及,能够以前所未有的规模收集海量需求数据。因此,乘车需求预测吸引了越来越多的国内外学者关注和研究。从本质上来看,这些研究都是为了能够合理分配交通资源。
3.在智能交通领域中,针对出租车资源分配的研究,学者们从出行分布特征、载客热区挖掘、出租车出行需求预测等方面进行研究,取得了较为丰富的研究成果。在出租车需求预测的研究中,主要从时间和空间两个维度来考虑需求预测的复杂性并进行建模。其中,对于时间特征的提取,长短期记忆lstm和门控循环单元gru是应用比较广泛的方法,而对于空间特征的处理,主要采用卷积神经网络cnn和图卷积神经网络gcn。此外,除了考虑时间和空间的影响因素,某些研究还考虑了外部影响因素,例如天气因素、地理因素等。
4.将自然语言处理的思想应用到出租车需求预测仍存在以下挑战:
5.1.起止位置关联语义化问题。与文本语义上下文相关性类似,不同区域间车辆轨迹数据具有复杂的需求相关性。如何将轨迹数据进行语义表示来捕获区域间需求关系仍具有挑战性。
6.2.时空相关性的同步捕获问题。出租车需求量预测受到复杂的时空相关性的影响,而现有方法通常使用单独组件分别捕获空间和时间相关性,无法捕获这种同时在时间和空间维度上传递的信息。如何实现时空相关性的同步捕获是个关键问题。
7.3.相似需求模式词频化问题。功能相似的两个区域,它们的位置可能在空间上相距遥远,但需求模式具有相似性。如何类比文本关键词提取,将轨迹数据转化为不同区域各个时间的需求频率,并从中挖掘区域间需求相似性仍是个难点。


技术实现要素:

8.针对以上问题,本技术提出一种基于轨迹语义化和图卷积网络的出租车需求预测方法,具体包括以下步骤:
9.从公开的出租车数据集中获取出租车的订单数据;
10.从获取的出租车的订单数据以及地图数据汇总每个区域的需求量,并计算需求模式;
11.根据交通出行量及需求模式的相似性,构建需求关系图和需求相似性图;
12.基于图卷积神经网络构建时空特征提取模块,将需求关系图作为输入,提取区域之间的时空特征;
13.区域之间的时空特征与需求相似性图结合输入全连接层预测得到出租车需求量。
14.进一步的,一个区域的需求模式为该区域一周内每天的平均出租车需求量。
15.进一步的,需求关系图的获取过程包括以下步骤:
16.获取每条出租车的订单数据中的起点和终点,并将订单数据中的起点和终点作为轨迹节点;
17.将所有轨迹节点按照区域进行分类,统计以区域i和区域j为轨迹节点的订单量,将该订单量作为区域i和区域j之间的需求关系;
18.将一个时间步内区域之间是否存在需求关系利用邻接矩阵进行表示,并将相邻的三个时间步的邻接矩阵拼接在一起作为需求关系图。
19.进一步的,提取区域之间的时空特征包括以下步骤:
20.构建由多个图卷积构成的局部时空模块,将需求关系图作为局部时空模块的输入,将每个图卷积的结果聚合在一起作为局部时空特征;
21.构建全局时空模块,全局时空模块包括k-2个局部时空模块,将输入的需求关系图切分成k-2个子图,k-2个局部时空模块分别处理一个子图;
22.将k-2个局部时空模块的输出拼接在一起作为全局时空特征。
23.进一步的,第l个图卷积的输出表示为:
24.gcn(h
(l-1)
)=h
(l)
=(a'h
(l-1)
w1+b1)

σ(a'h
(l-1)
w2+b2)
25.其中,h
(l)
表示第l个图卷积的输出,h0是需求关系图的邻接矩阵;σ表示激活函数;a'∈r
3n
×
3n
表示需求关系图,n表示区域的数量;w1∈rc×
c'
、w2∈rc×
c'
、b1∈r
c'
、b2∈r
c'
是可学习的参数,c是输入特征数量,c'是输出特征数量;

表示哈达玛积。
26.进一步的,获取需求相似性图时,计算任意两个区域的需求模式的相似度作为需求相似性图中边的权重,表示为:
[0027][0028]
其中,sim(x,y)表示区域x与区域y的需求模式相似度,α为距离衰减参数,dtw(x,y)表示区域x与区域y的需求模式之间的动态时间规整距离。
[0029]
进一步的,采用dtw算法计算区域x与区域y的需求模式之间的动态时间规整距离dtw(x,y)时,限制dtw算法的搜索长度t和搜索空间,表示为:
[0030]
ωk=(i,j),|i-j|≤t;
[0031]
其中,ωk表示计算需求模式序列x和y的距离时的搜索空间,|i-j|≤t表示每次只计算序列x中第i个数据与序列y中从第i-t到i+t范围内数据的差值。
[0032]
本发明聚焦于区域间需求相关性的提取,对轨迹数据进行语义化,挖掘轨迹节点间存在的上下文关系,即区域间的需求相关性;然后,基于图卷积网络设计了lstgcm和gstgcm模块捕获轨迹节点的时空特征。最后,通过需求词频化,将需求转换成时间序列,用于计算任意两个区域的需求模式相似度,进一步提高预测的准确性。
附图说明
[0033]
图1为本发明一实施例的流程图;
[0034]
图2为本发明nc-matrix起止位置关联语义化示意图;
[0035]
图3为本发明需求关系提取;
[0036]
图4为本发明基于图卷积神经网络的时空特征提取示意图;
[0037]
图5为本发明需求模式词频化示意图;
[0038]
图6为本发明fast-dtw搜索空间示意图。
具体实施方式
[0039]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
本技术提出一种基于轨迹语义化和图卷积网络的出租车需求预测方法,具体包括以下步骤:
[0041]
从公开的出租车数据集中获取出租车的订单数据;
[0042]
从获取的出租车的订单数据以及地图数据汇总每个区域的需求量,并计算需求模式;
[0043]
根据交通出行量及需求模式的相似性,构建需求关系图和需求相似性图;
[0044]
基于图卷积神经网络构建时空特征提取模块,将需求关系图作为输入,提取区域之间的时空特征;
[0045]
区域之间的时空特征与需求相似性图结合输入全连接层预测得到出租车需求量。
[0046]
如图1所示为是本发明的整体流程,表明本发明的输入是出租车历史订单时数据、城市地图数据,经过预测模型后的输出是下一时段所有区域的出租车乘车需求量。本发明包括如下三个步骤:
[0047]
s1:获取数据。获取数据的方式是从公开的数据网站获取,这里需要获取的是地图数据以及出租车订单数据。地图数据用来将城市划分成不同区域并编号。出租车订单数据需要得到的是订单编号、开始时间、下车时间、上车地点、下车地点。
[0048]
s2:提取相关属性。根据获取的订单数据及地图数据,汇总每个区域的需求量,并计算每个区域的需求模式。
[0049]
s3:建立模型。首先,设计了nc-matrix方法用于寻找具有上下文关联的节点。然后,基于图卷积神经网络,设计了局部时空模块(lstgcm)和全局时空模块(gstgcm)用于捕获时空特征。最后,通过计算任意两个区域的需求模式相似度,构建需求相似性图,用于寻找具有相似需求的区域。
[0050]
在本实施例中,获取数据源之后,对获取的数据进行简单的清洗,具体包括以下步骤:
[0051]
s11:获取原始数据。通过企业提供的数据查询api或直接下载现有数据源都可以得到原始数据。
[0052]
s12:简单的数据清洗。通常获取的原始数据都是非结构化的,不能直接用于数据分析。通过简单的数据清洗可以使大部分非结构化数据结构化。例如,删除重复数据、清理无效信息等。
[0053]
在出租车需求预测中,区域的需求量受到多方面因素的影响。一方面,出租车需求
在空间上具有流动性;另一方面,出租车需求在时间上也具有周期性。此外,功能相似的区域还可能存在相似的需求。基于此,需要为城市划分区域、提取每个区域的出租车乘车需求量和计算每个区域的需求模式。在本实施例中,提取相关属性的过程包括以下步骤:
[0054]
s21:城市路网g
[0055]
将城市定义为无向无权图g=(v,e,a),v表示区域的集合,城市中的区域是图中的顶点。假定城市划分为n个区域,则区域集可定义为v={v1,v2,

,vn},vn表示第n个区域,e代表区域间的连通性,区域间的地理邻接矩阵表示为a∈rn×n。
[0056]
s22:需求量
[0057]
需求定义为每段时间一个地点的出租车请求数量,即其中|
·
|为0范数表示集合的基数,以五分钟为单位时间汇总一次所有出租车的请求,i
t
表示时间t的索引,t表示第t个单位时间,li表示位置i的索引,o表示出租车请求,ot表示时间戳,os表示上车位置,oe表示下车位置,ou表示用户识别号。
[0058]
s23:需求模式
[0059]
具有相似功能的区域也具有相似的需求模式,为了挖掘具有相似功能的区域,需要计算任意两区域间的需求模式相似度。首先,计算每个区域每天的平均出租车需求量;然后,将一周的平均需求量序列作为需求模式。
[0060]
本实施例中,建立模型分三个阶段:第一阶段,挖掘节点间的潜在需求关系,根据出租车历史订单数据,设计了nc-matrix方法用于寻找具有上下文关联的节点,构建需求关系图。第二阶段,捕获需求关系图中节点的时空特征,基于图卷积神经网络,设计了局部时空模块(lstgcm)和全局时空模块(gstgcm)用于捕获时空特征。第三阶段,寻找具有相似需求的区域,通过计算任意两个区域的需求模式相似度,构建需求相似性图。具体包括以下步骤:
[0061]
s31:起止位置关联语义化
[0062]
由于车辆轨迹和自然语言都是具有逻辑顺序的序列,所以车辆轨迹和自然语言存在一些相似性。在自然语言中,构成同一条语句的词语往往具有相关性,与此类似的是,将轨迹节点类比为词语,轨迹类比为语句,那么轨迹也拥有了这种特性。针对轨迹节点间复杂的需求关系,提出了nc-matrix方法,用以捕获区域间需求相关性。如果任意两路网节点间有出租车需求存在,那么这两路网节点就是相关的。
[0063]
首先,将每条出租车轨迹数据(订单数据)拆分为起点和终点,进行语句元素及其关系分析。每次选定一个轨迹节点,寻找将其作为终点时所对应的起点,然后查找将其作为起点时所对应的终点。选定的轨迹节点可以看作语句中的谓语,而与其关联的起点和终点分别看作主语和宾语,该节点与其中任意的主语节点和宾语节点都可以构成一条语句,所以该轨迹节点与这些节点都具有相关性,如图2所示。
[0064]
其次,将所有轨迹节点按照区域分类,并为每个区域统计与其存在相关性的区域,可表示为:
[0065]ci
={l1:d
i1
,l2:d
i2
,

,ln:d
in
}
ꢀꢀ
(4)
[0066]
其中,ci表示区域i的需求关系,lj表示与i相关的区域j,d
ij
表示分别以区域i和j
为端点(起点或终点)的订单量,本实施例通过设置最小阈值来过滤相关性不大的区域,若d
ij
低于这个阈值,则认为区域i与区域j的需求相关性不大。每个区域统计与其存在相关性的区域,即得出的需求关系,表示为邻接矩阵,并将相邻3个时间步的邻接矩阵连接起来,以便可以直接捕获每个节点对其当前时间和相邻时间步的邻居节点的影响,最终构成需求关系图,用矩阵a
rel
表示,过程如图3所示。a
rel
是一个3n
×
3n的矩阵,表示三个连续时间步的需求关系,表示将t1时间步中的每个节点与t2时间步中的自身相连接。
[0067]
s32:时空特征提取
[0068]
出租需求预测受到复杂的空间和时间相关性的影响。一方面,出租车需求在空间上具有流动性。另一方面,出租车需求在时间上也具有周期性。为了能够更准确地预测出租车乘车需求,需要分析区域间的时空相关性。
[0069]
为了捕获局部时空特征,构建了局部时空模块(lstgcm)。lstgcm由一组图卷积操作组成。处于同一条订单中,作为起点和终点的区域,这两个区域的需求量具有相关性,为了捕获需求相关区域的时空特征,将需求关系图的邻接矩阵作为图卷积运算的输入,图卷积操作可以聚合每个区域与其相关区域的特征。在图卷积操作中,将城市地图划分的各个区域作为图的节点,每个节点在相邻时间步聚合其自身及其邻居的特征。本实施例选择的聚合函数是一个线性组合,其权重等于节点与其邻居之间的边的权重,部署一个具有激活函数的全连接层,将节点的特征转换为一个新的空间。第l层的图卷积运算可以表述如下:
[0070]
gcn(h
(l-1)
)=h
(l)
=(a'h
(l-1)
w1+b1)

σ(a'h
(l-1)
w2+b2)
ꢀꢀ
(5)
[0071]
其中,σ表示激活函数,a'∈r
3n
×
3n
表示需求关系图的邻接矩阵,h
(l-1)
∈r
3n
×c是第l个图卷积层的输入,w1∈rc×
c'
,w2∈rc×
c'
,b1∈r
c'
,b2∈r
c'
是可学习的参数,c是输入特征数量,c

是输出特征数量。
[0072]
图卷积操作定义为空域图卷积,可以应用在有向图和无向图上。由于时间序列的依赖关系,一个区域的需求量会影响该区域下一时段的需求量。所以给每个节点添加了自环(self-loop),使得在聚合特征时,允许图卷积操作考虑节点自身的特征。此外,通过堆叠多个图卷积操作以扩大感受野。
[0073]
需求关系图作为输入,进行图卷积操作,最后的聚合层用来将每个图卷积操作的输出进行聚合,如图4所示。
[0074]
本实施例还考虑到出租车需求量的变化具有周期性,构建全局时空模块(gstgcm),捕获节点的全局时空特征。使用滑动窗口来切出需求关系图序列的不同的时段,考虑到时空数据的异质性,使用多个lstgcm对不同时段进行建模。多个lstgcm允许每个模块专注于对图中的局部时空相关性进行建模,将一组lstgcm部署为全局时空模块(gstgcm)以提取全局时空特征。
[0075]
将gstgcm的输入矩阵表示为x∈rk×n×c,为每个gstgcm添加时空嵌入;gstgcm中的滑动窗口将输入的需求关系图序列切成k-2个图,每个需求关系图可以表示为x'∈r3×n×c,gstgcm在k-2个需求关系图上部署k-2个lstgcm,以捕获这些k-2个需求关系图序列中的局部时空相关性,将这k-2个lstgcm的输出被连接成一个矩阵作为gstgcm的输出。这可以表述为:
[0076][0077]
其中,表示第i个lstgcm的输出,c
out
表示卷积核数量。
[0078]
s33:需求模式词频化
[0079]
具有相似功能的区域也具有相似的需求模式,为了挖掘具有相似功能的区域,需要计算任意两区域间的需求模式相似度,包括计算每个区域每天的平均出租车需求量,将一周的平均需求量序列作为需求模式,如图5所示。
[0080]
从文本特征提取获得启发,将需求模式类比为文章,将平均每天的需求量作为词频,那么关键词词频相似的文章,其描述的话题往往也是相似的,即需求模式相似的区域,其功能是相似的。
[0081]
为了计算任意两个区域的需求模式相似度,同时考虑到传统dtw算法时间复杂度过高,如图6中深色区域所示,本实施例限制了算法的搜索长度t,将搜索空间限制为:
[0082]
ωk=(i,j),|i-j|≤t
ꢀꢀ
(7)
[0083]
其中,ωk表示计算需求模式序列x和y的距离时的搜索空间,|i-j|≤t表示每次只计算序列x中第i个数据与序列y中从第i-t到i+t范围内数据的差值;通过限制搜索长度,本实施例算法时间复杂度从ο(n2)下降为ο(tn)。使用改进后的dtw算法(fast-dtw)计算任意两区域的需求模式相似度:
[0084][0085]
其中,α是控制距离衰减率的参数,dtw(x,y)是两个位置的需求模式之间的动态时间规整距离,将相似度作为需求相似性图a
sim
中边的权值。
[0086]
由于a
sim
是无向完全图,如果节点数量过多会影响模型效率,因此,使用图嵌入方法,将a
sim
中每个节点编码为低维向量同时保持其结构信息。
[0087]
在本实施例中,最后基于图卷积神经网络构建时空特征提取模块,将需求关系图作为输入,提取区域之间的时空特征;区域之间的时空特征与需求相似性图结合输入全连接层预测得到出租车需求量,具体地,在本实施例中区域之间的时空特征是一个四维向量,需求相似性图是一个二维矩阵,为了将区域之间的时空特征与需求相似性图拼接在一起,先将需求相似性图转换成向量,经过线性层、reshape等操作变成和时空特征同样维度的向量,然后将时空特征和需求相似性图拼接在一起作为最后预测层(全连接层)的输入;全连接层输出是一个三维的向量,三个维度分别表示:预测的时间步数,地点数,预测的时间段数(以预测的时间步数为单位),用来表示各个时间步所有区域的需求量。
[0088]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1