一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种出租车乘客流量预测方法

2022-05-08 07:58:03 来源:中国专利 TAG:


1.本发明涉及交通时空数据预测的技术领域,具体涉及一种出租车乘客流量预测方法。


背景技术:

2.交通时空数据预测是智能交通领域中的重要问题,交通时空数据是交通状态的重要指标,短期的交通时空数据预测是交通管理和诱导的重要内容。通过提前预知城市各区域的出租车上下客流量,可以有效进行交通诱导,将出租车资源丰富地方的车辆调配到缺乏的地方,减少乘客候车时间,提高城市交通运行效率。
3.由于交通时空数据预测的复杂性,目前已经有较多的预测模型,在空间特征上多采用图神经网络进行提取,但图神经网络作为一种空间结构的先验知识,只能提取邻近的空间特征,对于远处空间特征比较难以提取,通过加深图神经网络层数容易带来过平滑问题,导致预测模型存在较大的预测误差,预测精度不高。


技术实现要素:

4.本发明提供了一种出租车乘客流量预测方法,本发明旨在解决在交通时空数据预测中,由于图神经网络固定先验知识带来的难以有效提取数据空间特征相关性的问题,以提高预测精度,得到较好的预测结果。
5.本发明的技术方案如下:
6.一种出租车乘客流量预测方法,包括以下步骤:
7.s1:将上客流量和下客流量抽象为空间节点并拼接到同一维度,之后将所有空间节点序列化,并进行数据归一化得到原始数据,然后将原始数据划分为训练数据和测试数据;
8.s2:采用空间多头注意力算法,对训练数据进行空间注意力特征提取,得到全局空间特征;
9.s3:将全局空间特征和训练数据展平为同一维度,采用第一多层感知机进行时间特征提取,得到全局时间特征;
10.s4:将全局时间特征和训练数据输入第二多层感知机进行迭代训练,得到训练好的基于第二多层感知机的流量预测模型;
11.s5:将测试数据输入流量预测模型进行预测,得到出租车乘客上下车的流量预测结果。
12.进一步,步骤s1中将上客流量和下客流量拼接到同一维度,并抽象为空间节点的具体过程如下:
13.获取某城市的出租车上下客流量,并划分出若干个网格,将每个网格的上客流量和下客流量均抽象为空间节点并进行拼接到同一维度,即空间节点的数量为划分的网格数量的2倍。
14.进一步,步骤s1中,所有空间节点以每30分钟为时间间隔获取一次流量数据,并采用离差标准化方法进行数据归一化,归一化的公式如下:
[0015][0016]
式中,xs是处理后的数据,x为输入的数据,x
max
为数据的最大值,x
min
为数据的最小值。
[0017]
进一步,步骤s1中,得到原始数据后,采用该数据中前e个时间间隔数据预测未来f个时间间隔数据,以此更新原始数据,并将更新后的原始数据按照比例划分为训练数据和测试数据。
[0018]
进一步,将更新后的原始数据的前60%划分为训练数据,后40%划分为测试数据。
[0019]
进一步,步骤s2中,采用空间多头注意力算法对训练数据进行空间特征提取的过程如下:
[0020]
采用不同的权重矩阵wq、wk、wv对训练数据h进行h次运算,得到不同子空间粒度的空间注意力特征,最后合并为全局空间特征;
[0021]
其中,空间多头注意力算法的公式如下:
[0022][0023]
head(i)=attention(q(i),k(i),v(i))
[0024]
multihead(h)=concat(head
(1)
,head
(2)
,

,head
(h)
)w0[0025]
其中,分别为对第i个子空间数据进行映射的参数矩阵;q(i)、k(i)、v(i)分别表示映射后的第i个子空间数据;head(i)表示第i个子空间的注意力;attention表示注意力机制运算;concat表示拼接操作;w0是一个可学习参数;multihead(h)表示全局空间特征。
[0026]
进一步,步骤s3的具体过程如下:
[0027]
全局空间特征、训练数据的输入格式均为:b
×n×
m,其中b为一次性输入的数据量,n为节点数量,m为输入的时间间隔个数;将全局空间特征和训练数据展平为同一维度,并转化为b
×1×
(n
×
m)的数据格式,然后对最后一维采用第一多层感知机进行时间特征提取,得到全局时间特征,最后将全局时间特征转为b
×n×
z的数据格式,其中z为输出的时间间隔个数。
[0028]
进一步,步骤s3中的第一多层感知机采用6层感知机进行时间特征提取。
[0029]
进一步,步骤s4中的第二多层感知机采用2层感知机进行迭代训练。
[0030]
进一步,步骤s5中得到的流量预测结果的误差计算采用平均绝对误差、均方根误差和皮尔逊相关系数;
[0031]
平均绝对误差:
[0032][0033]
均方根误差:
[0034][0035]
皮尔逊相关系数:
[0036][0037]
式中,mae是平均绝对误差,rmse是均方根误差,pcc是皮尔逊相关系数,n是节点数量,yi是真实值,是预测值,是真实值的平均数,是预测值的平均数。
[0038]
本发明的有益效果为:
[0039]
本发明的方法先将出租车的上下客流量抽象为节点,并进行序列化和归一化处理,按照比例分为训练数据和测试数据;然后采用空间多头注意力机制对数据的空间特征进行提取,得到全局空间特征;再将得到的数据和训练数据进行展平到同一维度,采用多层感知机进行时间特征提取;最后采用训练好的基于多层感知机的预测模型进行最终预测。本发明利用空间注意力机制提取全局空间特征,然后利用多层感知机提取全局时间特征,可以有效提取出租车乘客流量的时空全局特征,实现高精度预测,可有效预测出租车上下客的乘客流量。
附图说明
[0040]
图1为本发明的流程示意图。
具体实施方式
[0041]
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
[0042]
实施例1:
[0043]
如图1所示,一种出租车乘客流量预测方法,包括以下步骤:
[0044]
s1:将上客流量和下客流量抽象为空间节点并拼接到同一维度,之后将所有空间节点序列化,并进行数据归一化得到原始数据,然后将原始数据划分为训练数据和测试数据;
[0045]
s2:采用空间多头注意力算法,对训练数据进行空间注意力特征提取,得到全局空间特征;
[0046]
s3:将全局空间特征和训练数据展平为同一维度,采用第一多层感知机进行时间特征提取,得到全局时间特征;
[0047]
s4:将全局时间特征和训练数据输入第二多层感知机进行迭代训练,得到训练好的基于第二多层感知机的流量预测模型;
[0048]
s5:将测试数据输入流量预测模型进行预测,得到出租车乘客上下车的流量预测
结果。
[0049]
在本实施例中,步骤s1中将上客流量和下客流量拼接到同一维度,并抽象为空间节点的具体过程如下:
[0050]
获取某城市的出租车上下客流量,并划分出若干个网格,将每个网格的上客流量和下客流量均抽象为空间节点并进行拼接到同一维度,即空间节点的数量为划分的网格数量的2倍。
[0051]
在本实施例中,步骤s1中,所有空间节点以每30分钟为时间间隔获取一次流量数据,并采用离差标准化方法进行数据归一化,归一化的公式如下:
[0052][0053]
式中,xs是处理后的数据,x为输入的数据,x
max
为数据的最大值,x
min
为数据的最小值。
[0054]
在本实施例中,步骤s1中,得到原始数据后,采用该数据中前e个时间间隔数据预测未来f个时间间隔数据,以此更新原始数据,并将更新后的原始数据按照比例划分为训练数据和测试数据。
[0055]
在本实施例中,将更新后的原始数据的前60%划分为训练数据,后40%划分为测试数据。
[0056]
在本实施例中,步骤s2中,采用空间多头注意力算法对训练数据进行空间特征提取的过程如下:
[0057]
采用不同的权重矩阵wq、wk、wv对训练数据h进行h次运算,得到不同子空间粒度的空间注意力特征,最后合并为全局空间特征;
[0058]
其中,空间多头注意力算法的公式如下:
[0059][0060]
head(i)=attention(q(i),k(i),v(i))
[0061]
multihead(h)=concat(head
(1)
,head
(2)
,

,head
(h)
)w0[0062]
其中,分别为对第i个子空间数据进行映射的参数矩阵;q(i)、k(i)、v(i)分别表示映射后的第i个子空间数据;head(i)表示第i个子空间的注意力;attention表示注意力机制运算;concat表示拼接操作;w0是一个可学习参数;multihead(h)表示全局空间特征。
[0063]
在本实施例中,步骤s3的具体过程如下:
[0064]
全局空间特征、训练数据的输入格式均为:b
×n×
m,其中b为一次性输入的数据量,n为节点数量,m为输入的时间间隔个数;将全局空间特征和训练数据展平为同一维度,并转化为b
×1×
(n
×
m)的数据格式,然后对最后一维采用第一多层感知机进行时间特征提取,得到全局时间特征,最后将全局时间特征转为b
×n×
z的数据格式,其中z为输出的时间间隔个数。
[0065]
在本实施例中,步骤s3中的第一多层感知机采用6层感知机进行时间特征提取。
[0066]
在本实施例中,步骤s4中的第二多层感知机采用2层感知机进行迭代训练。
[0067]
在本实施例中,步骤s5中得到的流量预测结果的误差计算采用平均绝对误差、均方根误差和皮尔逊相关系数;
[0068]
平均绝对误差:
[0069][0070]
均方根误差:
[0071][0072]
皮尔逊相关系数:
[0073][0074]
式中,mae是平均绝对误差,rmse是均方根误差,pcc是皮尔逊相关系数,n是节点数量,yi是真实值,是预测值,是真实值的平均数,是预测值的平均数。
[0075]
通过上述公式的误差计算,可使输出的预测结果更接近真实值,进一步减少预测模型的预测误差,输出更高精度的预测结果。
[0076]
本发明的方法先将出租车的上下客流量抽象为节点,并进行序列化和归一化处理,按照比例分为训练数据和测试数据;然后采用空间多头注意力机制对数据的空间特征进行提取,得到全局空间特征;再将得到的数据和训练数据进行展平到同一维度,采用多层感知机进行时间特征提取;最后采用训练好的基于多层感知机的预测模型进行最终预测。本发明利用空间注意力机制提取全局空间特征,然后利用多层感知机提取全局时间特征,可以有效提取出租车乘客流量的时空全局特征,实现高精度预测,可有效预测出租车上下客的乘客流量。
[0077]
实施例2:
[0078]
在本实施例中,还可将上述的实施例1中的出租车乘客流量预测方法的每个步骤集成在不同的模块中通过系统进行实现,设计出一种出租车乘客流量预测系统。
[0079]
该系统包括依次通讯连接的数据处理模块、空间特征提取模块、时间特征提取模块、输出模块;
[0080]
数据处理模块,用于将上客流量和下客流量抽象为空间节点并拼接到同一维度,之后将所有空间节点序列化,并进行数据归一化得到原始数据,然后将原始数据划分为训练数据和测试数据;
[0081]
空间特征提取模块,用于采用空间多头注意力算法,对训练数据进行空间注意力特征提取,得到全局空间特征;
[0082]
时间特征提取模块,用于将全局空间特征和训练数据展平为同一维度,采用第一多层感知机进行时间特征提取,得到全局时间特征;
[0083]
输出模块,用于将全局时间特征和训练数据输入第二多层感知机进行迭代训练,
得到训练好的基于第二多层感知机的流量预测模型,最后将测试数据输入流量预测模型进行预测,输出得到出租车乘客上下车的流量预测结果。
[0084]
在本实施例中,可将上述模块集成在一个处理器上进行实现。
[0085]
实施例3:
[0086]
本实例实现的平台为:处理器为intel i7-8700,内存为32.0gb;显卡是gtx3070;系统是windows10(64位);程序语言版本为python3.6,深度学习算法在pytorch学习库实现。一种出租车乘客流量预测方法,包括如下步骤:
[0087]
步骤s1、本实施例的数据来源纽约市某区域的出租车上下客流量,区域划分为266个网格,同时抽象出上客节点和下客节点进行拼接到同一维度,形成532个空间节点,所有空间节点序列化,且所有节点的流量获取时间间隔为30分钟,采用离差标准化方法进行归一化得到原始数据;
[0088]
归一化方法如下:
[0089][0090]
其中,xs是处理后的数据,x为输入的数据,x
max
为数据的最大值,x
min
为数据的最小值;
[0091]
得到原始数据后,采用该数据集中过去e=12个时间间隔数据预测将来f=12个时间间隔数据,即采用过去6小时数据预测未来6小时数据,以此更新原始数据,并将更新后的原始数据按照比例划分,前60%划分为训练数据,后40%划分为测试数据;
[0092]
步骤s2、采用空间多头注意力算法,对训练数据进行空间特征提取;
[0093]
此时一次性喂给的数据量为64,喂给的数据格式b
×n×
m,即为64
×
532
×
12,本实施例采用的多头数为3,即在最后一个维度分为3份,并对训练数据进行3次运算,每个子空间的格式为64
×
532
×
4,子空间的时间粒度为4,即为2小时,每个子空间在2小时的时间尺度上求空间序列节点的相关性,然后再进行拼接为64
×
532
×
12数据格式的全局空间特征,并通过一层全连接输出;
[0094]
步骤s3、将全局空间特征和训练数据展平为同一维度,采用第一多层感知机进行时间特征提取;
[0095]
全局空间特征、训练数据的输入格式为64
×
532
×
12,将全局空间特征和训练数据展平为同一维度,并转化为64
×1×
6384的数据格式,然后对最后一维度采用第一多层感知机进行时间特征提取,得到全局时间特征,其中第一多层感知机采用6层结构,第1层的映射为6384

532,第2层的映射为532

256,第3层的映射为256

256,第4层的映射为256

256,第5层的映射为256

532,第6层的映射为532

6348,最后将全局时间特征转为64
×
532
×
12的数据格式;
[0096]
步骤s4、将全局时间特征和训练数据输入第二多层感知机进行迭代训练,得到训练好的基于第二多层感知机的流量预测模型;
[0097]
其中,第二多层感知机采用2层感知机进行迭代训练;
[0098]
步骤s5、将测试数据输入流量预测模型进行预测,得到出租车乘客上下车的流量预测结果;
[0099]
预测数据的输入格式为64
×
532
×
12,采用基于2层感知机的预测模型,第1层的映
射为12

128,第2层的映射为128

12;其中,预测结果的误差计算采用平均绝对误差、均方根误差和皮尔逊相关系数;
[0100]
平均绝对误差:
[0101][0102]
均方根误差:
[0103][0104]
皮尔逊相关系数:
[0105][0106]
式中,mae是平均绝对误差,rmse是均方根误差,pcc是皮尔逊相关系数,n是节点数量,y7是真实值,是预测值,是真实值的平均数,是预测值的平均数。
[0107]
经过计算,可以得到mae=5.97,rmse=11.36,pcc=0.95,证明本发明可以实现高精度的预测。
[0108]
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献