基于多任务共预测神经网络的城市出租车需求预测方法与流程

文档序号:21784912发布日期:2020-08-07 20:27阅读:192来源:国知局
基于多任务共预测神经网络的城市出租车需求预测方法与流程

本发明属于智能交通系统领域,具体涉及了一种基于多任务共预测神经网络的城市出租车需求预测方法。



背景技术:

随着滴滴等网约车平台的兴起,在线打车服务为人们的生活带来了很多便利,乘客可利用手机app呼叫出租车或顺风车来载运自己到达目的地。然而,在大城市的不同区域,由于存在供需不平衡的问题,出租车司机可能会出现接不到订单,而乘客会面临等待时间长的问题。事先预测每个区域的打车和下车需求量,并提前合理分配出租车资源,可以有效缓解这一问题,提高城市打车服务的质量和效率,对于出租车公司以及车辆管理部门等都具有重要的意义。

城市出租车需求定义为城市某个区域在一段时间内乘客在该区域上车以及下车的总数量,前者称为上车需求,后者称为下车需求。出租车需求预测的主要方法是建模为一个时序预测问题,即使用历史的出租车需求来预测未来的出租车需求。传统的出租车需求预测方法主要有三类,分别是线性统计模型,统计机器学习模型,深度学习模型。线性统计模型例如历史平均和差分整合移动平均自回归模型(autoregressiveintegratedmovingaveragemodel,或arima),将出租车需求随时间的变化拟合成一个线性函数;这种方法实现起来简单,但无法捕捉到需求量随时间变化的非线性关系。统计机器学习模型例如支持向量回归(supportvectorregression,或svr)以及决策树方法基于统计机器学习理论针对小数据样本进行学习,其可以拟合非线性关系,但是针对大规模数据集效果不是很好。大数据和深度学习在图像识别,语音识别,自然语言处理等模式识别领域取得了突破性的进展,并也逐渐被应用到智能交通领域。随着交通领域大数据的出现以及深度学习的发展,许多学者尝试使用卷积神经网络(cnn,convolutionneuralnetwork)以及长短时记忆网络(lstm,longshort-termmemory)等搭建深度学习模型来预测出租车需求。

近些年来,一些学者先后提出了不同的用于预测城市出租车需求的深度学习模型,且这些模型的预测精度在不断提高。然而,这些模型大多数仅使用出租车上车数据来预测上车需求,但出租车的上下车需求是有其内在相关性的。一方面,当前时刻乘客在某个区域上车未来必定会在某个区域下车,这说明上车需求会影响下车需求;另一方面,当前时刻乘客在某个区域下车未来可能会返回到原来的区域,这说明下车需求也会影响上车需求。因此,预测城市某一个区域的出租车上车需求时,应当也考虑到该区域下车的需求,综合上下车需求的信息来共同预测这两种需求。



技术实现要素:

为了解决现有技术中的上述问题,即现有技术不考虑下车需求导致出租车需求预测精度达不到预期的问题,本发明提供了一种基于多任务共预测神经网络的城市出租车需求预测方法,该方法包括:

步骤s10,通过交通数据采集装置采集设定城市的设定历史时间段出租车载客数据;所述出租车载客数据包括出租车载客上车及下车的经度、纬度、时间日期;

步骤s20,基于所述设定历史时间段出租车载客数据,统计所述设定历史时间段出租车上车需求、下车需求;

步骤s30,对所述出租车上车需求、下车需求进行归一化以及添加高斯随机噪声处理,获得预处理数据;

步骤s40,通过训练好的多任务共预测神经网络获取所述预处理数据对应的归一化上车需求预测值、下车需求预测值;

步骤s50,对所述归一化上车需求预测值、下车需求预测值进行反归一化,获得设定城市下一时间段的出租车上车需求量、下车需求量。

在一些优选的实施例中,所述多任务共预测神经网络,其训练方法为:

步骤b10,获取设定城市内设定历史时间段的出租车载客数据;

步骤b20,将所述设定城市划分为设定大小的矩形网格,将所述设定历史时间段划分为设定长度的时间块,将所述出租车载客数据分为上车需求、下车需求,并针对每个矩形网格区域的每个时间块进行所述出租车载客数据的分类汇总统计,获得每个网格区域每个时间块对应的出租车上车需求、下车需求作为样本集;

步骤b30,对所述样本集中每一个样本进行归一化以及添加高斯随机噪声处理,获得预处理样本数据集;

步骤b40,根据预设比例将所述预处理样本数据集划分为训练集、测试集;

步骤b50,基于前馈神经网络以及设定类别的深度神经网络构建各类别的初始多任务共预测神经网络,对于所述各类别的初始多任务共预测神经网络中每一个网络,通过训练集训练并调整网络的结构和超参数,获得各类别的多任务共预测神经网络;

步骤b60,分别通过所述各类别的多任务共预测神经网络中每一个网络在所述测试集上进行前向计算,获取任一类别的多任务共预测神经网络在所述测试集上的平均预测误差;

步骤b70,所述平均预测误差中最小值对应的多任务共预测神经网络为训练好的多任务共预测神经网络。

在一些优选的实施例中,步骤s30中“对所述出租车上车需求、下车需求进行归一化”,其方法为:

其中,vn代表归一化后的变量值,v代表需要进行归一化的变量在取值范围内的值,[vmin,vmax]为变量v的取值范围。

在一些优选的实施例中,步骤s30中“添加高斯随机噪声处理”,其方法为:

其中,x代表原始数据,代表原始数据添加高斯随机噪声后的数据,λ∈(0,1]为噪声比例因子,ε~n(0,1)为一个服从标准正太分布的随机数。

在一些优选的实施例中,步骤s50中“对所述归一化上车需求预测值、下车需求预测值进行反归一化”,其方法为:

vcalculate=vcalculate-n*(vmax-vmin)+vmin

其中,vcalculate-n代表归一化的变量预测值,vcalculate代表进行反归一化后的变量的值,[vmin,vmax]为变量vcalculate的值的范围。

在一些优选的实施例中,步骤b20中“将所述设定城市划分为设定大小的矩形网格”,其方法为:

步骤b201,设所述设定城市经度的最小和最大值是amin和amax,纬度的最大值是bmin和bmax,矩形网格的大小为经度方向m、纬度方向n;

步骤b202,将出租车载客上车或下车的gps坐标(a,b)划分到第i行、第j列的矩形网格:

在一些优选的实施例中,步骤b60中“任一类别的多任务共预测神经网络在所述测试集上的平均预测误差”,其计算方法为:

其中,n代表当前类别的多任务共预测神经网络在测试集上获得的预测值的数量,和xi代表当前类别的多任务共预测神经网络在测试集上获得的预测值和对应的真实值。

本发明的另一方面,提出了一种基于多任务共预测神经网络的城市出租车需求预测系统,该系统包括输入模块、数据统计模块、归一化模块、高斯随机噪声模块、需求预测模块、反归一化模块、输出模块;

所述输入模块,配置为通过交通数据采集装置采集设定城市的设定历史时间段出租车载客数据;所述出租车载客数据包括出租车载客上车及下车的经度、纬度、时间日期;

所述数据统计模块,配置为基于所述设定历史时间段出租车载客数据,统计所述设定历史时间段出租车上车需求、下车需求;

所述归一化模块,配置为对所述出租车上车需求、下车需求进行归一化,获得归一化出租车上车需求、下车需求;

所述高斯随机噪声模块,配置为对所述归一化出租车上车需求、下车需求进行添加高斯随机噪声处理,获得预处理数据;

所述需求预测模块,配置为通过训练好的多任务共预测神经网络获取所述预处理数据对应的归一化上车需求预测值、下车需求预测值;

所述反归一化模块,配置为对所述归一化上车需求预测值、下车需求预测值进行反归一化,获得设定城市下一时间段的出租车上车需求量、下车需求量;

所述输出模块,配置为输出获取的设定城市下一时间段的出租车上车需求量、下车需求量。

本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的基于多任务共预测神经网络的城市出租车需求预测方法。

本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;所述处理器,适于执行各条程序;所述存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于多任务共预测神经网络的城市出租车需求预测方法。

本发明的有益效果:

本发明基于多任务共预测神经网络的城市出租车需求预测方法,将出租车需求预测分为了上车需求预测和下车需求预测,并利用多任务共预测的深度学习模型挖掘需求数据随时间的变化规律,同时捕捉上下车两种需求之间的差异和联系,可以深度挖掘出租车需求和时间等其他因素之间的非线性关系,实现简单、预测精度高,具有良好的泛化性能,并能够轻易部署在不同的预测地点。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本发明基于多任务共预测神经网络的城市出租车需求预测方法的流程示意图;

图2是本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的出租车需求数据分类器示意图;

图3是本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的多需求共预测神经网络结构示意图;

图4是本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的多需求共预测神经网络训练流程示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明提供一种基于多任务共预测神经网络的城市出租车需求预测方法,本方法针对城市出租车上下车需求的预测问题,将其建模为两种需求的共预测问题,并利用深度学习技术提出了一种多需求共预测神经网络,能够深度挖掘出租车需求随时间的变化规律,同时捕捉这两种需求之间的差异和联系,实现简单、预测精度高,具有良好的泛化性能。

本发明的一种基于多任务共预测神经网络的城市出租车需求预测方法,该方法包括:

步骤s10,通过交通数据采集装置采集设定城市的设定历史时间段出租车载客数据;所述出租车载客数据包括出租车载客上车及下车的经度、纬度、时间日期;

步骤s20,基于所述设定历史时间段出租车载客数据,统计所述设定历史时间段出租车上车需求、下车需求;

步骤s30,对所述出租车上车需求、下车需求进行归一化以及添加高斯随机噪声处理,获得预处理数据;

步骤s40,通过训练好的多任务共预测神经网络获取所述预处理数据对应的归一化上车需求预测值、下车需求预测值;

步骤s50,对所述归一化上车需求预测值、下车需求预测值进行反归一化,获得设定城市下一时间段的出租车上车需求量、下车需求量。

为了更清晰地对本发明基于多任务共预测神经网络的城市出租车需求预测方法进行说明,下面结合图1对本发明方法实施例中各步骤展开详述。

本发明一种实施例的基于多任务共预测神经网络的城市出租车需求预测方法,包括步骤s10-步骤s50,各步骤详细描述如下:

步骤s10,通过交通数据采集装置采集设定城市的设定历史时间段出租车载客数据;所述出租车载客数据包括出租车载客上车及下车的经度、纬度、时间日期。

交通数据采集装置包括但不限于全球定位系统装置、视频检测器、感应式环形线圈检测器、自动车辆定位装置、在线打车软件等;数据的保存机构可以是出租车运营公司、网约车平台或政府管理部门等。

这里所说的出租车包括出租车、网约车等。

模型进行预测的区域与模型训练数据采集的区域一致。

步骤s20,基于所述设定历史时间段出租车载客数据,统计所述设定历史时间段出租车上车需求、下车需求。

步骤s30,对所述出租车上车需求、下车需求进行归一化以及添加高斯随机噪声处理,获得预处理数据。

“对所述出租车上车需求、下车需求进行归一化”,其方法如式(1)所示:

其中,vn代表归一化后的变量值,v代表需要进行归一化的变量在取值范围内的值,[vmin,vmax]为变量v的取值范围。

“添加高斯随机噪声处理”,其方法如式(2)所示:

其中,x代表原始数据,代表原始数据添加高斯随机噪声后的数据,λ∈(0,1]为噪声比例因子,ε~n(0,1)为一个服从标准正太分布的随机数。

步骤s40,通过训练好的多任务共预测神经网络获取所述预处理数据对应的归一化上车需求预测值、下车需求预测值。

如图2所示,为本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的多需求共预测神经网络训练流程示意图,其具体流程包括:

步骤b10,获取设定城市内设定历史时间段的出租车载客数据。在确定研究区域之后,为了训练模型,需要采集一批出租车运行情况的样本作为历史数据集。所需采集的数据包括给定区域内所有正常运行的出租车每笔载客交易乘客上车以及下车的经度、纬度、日期时间。

步骤b20,将所述设定城市划分为设定大小的矩形网格,将所述设定历史时间段划分为设定长度的时间块,将所述出租车载客数据分为上车需求、下车需求,并针对每个矩形网格区域的每个时间块进行所述出租车载客数据的分类汇总统计,获得每个网格区域每个时间块对应的出租车上车需求、下车需求作为样本集。

“将所述设定城市划分为设定大小的矩形网格”,其方法为:

步骤b201,设所述设定城市经度的最小和最大值是amin和amax,纬度的最大值是bmin和bmax,矩形网格的大小为经度方向m、纬度方向n。

步骤b202,将出租车载客上车或下车的gps坐标(a,b)划分到第i行、第j列的矩形网格,如式(3)所示:

根据式(3),可以将每个出租车载客上下车地点的gps坐标划分到唯一的一个矩形网格中。

选取t作为时间块的时间长度,根据出租车一次载客记录的上下车时刻,将其划分到某个时间块内,设历史数据的起始时刻为t0,则对于一次出租车载客的上车或下车时间t,其所属于的时间段的序号为:

统计每个矩形网格在每个小时间段内的上车总数和下车总数,作为该网格区域在每个小时间段内的出租车上车需求和下车需求。

对于一次出租车载客的交易,根据乘客上下车的时间和经纬度,可以计算出上下车所属于的矩形网格序号以及时间块序号。统计每个时间块每个矩形网格区域所有上车或下车的载客交易次数,便可计算出每个矩形网格区域在每个时间块对应的出租车上车需求和下车需求。

步骤b30,对所述样本集中每一个样本进行归一化以及添加高斯随机噪声处理,获得预处理样本数据集。

通过步骤s30相同的方法进行数据的归一化和添加高斯随机噪声处理,将数据处理成满足多任务共预测模型输入的形式。

步骤b40,根据预设比例将所述预处理样本数据集划分为训练集、测试集。

按照一定的预测步长将原始数据整理为样本集,比如用历史8个时间步来预测未来一个时间步。然后将样本集分为训练集和测试集。

根据样本集的规模,按照一定的比例将其分为训练集和测试集。如果数据量较大,可选取80%的样本作为训练集,剩余20%的作为测试集;如果数据量较少,则可采用k折交叉验证的方式来划分训练集和测试集,以充分利用所有数据。

步骤b50,基于前馈神经网络以及设定类别的深度神经网络构建各类别的初始多任务共预测神经网络,对于所述各类别的初始多任务共预测神经网络中每一个网络,通过训练集训练并调整网络的结构和超参数,获得各类别的多任务共预测神经网络。

步骤b51,利用前馈神经网络搭建一个出租车需求数据分类器,如图3所示,为本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的出租车需求数据分类器示意图,其输入是上下车需求量,输出是该需求对应的时间段在一天中的顺序,训练并优化该神经网络。

将一天的时间分成p份,对于每一个时间段的出租车需求,其都对应着p份中的一份,这可以建模为一个分类问题,用全连接层神经网络来拟合这种对应关系。将数据处理为以出租车需求作为输入,以其在一天中的顺序作为输出的样本集,可以训练出一个出租车需求数据对应于一天中的时刻序号的分类器。用这个神经网络可以提取出一天中不同时刻出租车需求的不同变化规律。

待该分类器训练结束后,其前边的几层可以当做是一个特征编码器,可提取出需求数据和时序之间的关系特征。

步骤b52,利用lstm、cnn或其他深度学习网络结构以及步骤b51训练得到的分类器搭建多任务共预测神经网络,其包含出租车上车需求预测和下车需求预测两部分,将历史一段时间的出租车需求数据作为输入,并用真实需求值作为预测标签来训练该神经网络。

如图4所示,为本发明基于多任务共预测神经网络的城市出租车需求预测方法一种实施例的多需求共预测神经网络结构示意图,其分为3部分,第一部分是位于上端和下端的单需求预测lstm网络,其输入是历史一定步长的上车或下车需求,输出是下一个时间步对应的需求。第二部分是时间特征编码器,该编码器是步骤b51预训练的分类器去掉后边几层神经网络得到的,其可以提取输入数据和一天中时序之间的相关特征。第三部分是位于中间的共预测神经网络,该网络将原始上车和下车需求数据以及利用时间特征编码器提取的特征融合输入到lstm网络中,同时预测这两种需求。

设xt为第t个时间步的输入向量,则lstm的计算如式(4)-式(9)所示:

ft=σ(wf·[ht-1,xt]+bf)式(4)

it=σ(wi·[ht-1,xt]+bi)式(5)

ot=σ(wo·[ht-1,xt]+bo)式(6)

ht=ot*tanh(ct)式(9)

多任务共预测神经网络的损失函数分为三部分,第一部分是单需求预测值和真实值之间的均方误差(mse,meansquareerror),第二部分是两种需求共预测值和真实值之间的均方误差,第三部分是单需求预测值和共预测值之间的均方误差。mse的计算方法如式(10)所示:

其中,n是样本总数,是模型输出的出租车需求向量的预测值,xi是对应的真实值。在训练深度神经网络时,先进行前向传播,然后根据损失函数计算出mse损失,再使用反向传播(bp,backpropagation)算法调整网络的参数,直到mse损失收敛为止。

可以对深度模型的层数、学习率、预测步长等进行小幅调整,并训练和测试其性能,以找到其最优的结构和超参数。

图4所示的网络结构只是多任务共预测神经网络模型其中的一种示例,其中的lstm结构可更换为其他的深度学习单元,例如卷积神经网络(cnn,convolutionalneuralnetwork)、门控制循环单元(gru,gatedrecurrentunit)等。

步骤b60,分别通过所述各类别的多任务共预测神经网络中每一个网络在所述测试集上进行前向计算,获取任一类别的多任务共预测神经网络在所述测试集上的平均预测误差。

在测试模型的预测精度时,使用测试集作为输入,只进行前向传播,得到模型给出的预测值。然后根据预测值和真实值的对比,计算出平均绝对误差(mae,meanabsoluteerror)作为模型预测精度的衡量。mae的计算方法如式(11)所示:

其中,n代表当前类别的多任务共预测神经网络在测试集上获得的预测值的数量,和xi代表当前类别的多任务共预测神经网络在测试集上获得的预测值和对应的真实值。

步骤b70,所述平均预测误差中最小值对应的多任务共预测神经网络为训练好的多任务共预测神经网络。

平均预测误差值越小,说明模型预测精度越高,各类别的多任务共预测神经网络中平均预测误差最小的网络为最优的模型结构与参数,获得训练好的多任务共预测神经网络。

步骤s50,对所述归一化上车需求预测值、下车需求预测值进行反归一化,获得设定城市下一时间段的出租车上车需求量、下车需求量。

“对所述归一化上车需求预测值、下车需求预测值进行反归一化”,其方法如式(12)所示:

vcalculate=vcalculate-n*(vmax-vmin)+vmin式(12)

其中,vcalculate-n代表归一化的变量预测值,vcalculate代表进行反归一化后的变量的值,[vmin,vmax]为变量vcalculate的值的范围。

本发明第二实施例的基于多任务共预测神经网络的城市出租车需求预测系统,该系统包括输入模块、数据统计模块、归一化模块、高斯随机噪声模块、需求预测模块、反归一化模块、输出模块;

所述输入模块,配置为通过交通数据采集装置采集设定城市的设定历史时间段出租车载客数据;所述出租车载客数据包括出租车载客上车及下车的经度、纬度、时间日期;

所述数据统计模块,配置为基于所述设定历史时间段出租车载客数据,统计所述设定历史时间段出租车上车需求、下车需求;

所述归一化模块,配置为对所述出租车上车需求、下车需求进行归一化,获得归一化出租车上车需求、下车需求;

所述高斯随机噪声模块,配置为对所述归一化出租车上车需求、下车需求进行添加高斯随机噪声处理,获得预处理数据;

所述需求预测模块,配置为通过训练好的多任务共预测神经网络获取所述预处理数据对应的归一化上车需求预测值、下车需求预测值;

所述反归一化模块,配置为对所述归一化上车需求预测值、下车需求预测值进行反归一化,获得设定城市下一时间段的出租车上车需求量、下车需求量;

所述输出模块,配置为输出获取的设定城市下一时间段的出租车上车需求量、下车需求量。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,上述实施例提供的基于多任务共预测神经网络的城市出租车需求预测系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。

本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的基于多任务共预测神经网络的城市出租车需求预测方法。

本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于多任务共预测神经网络的城市出租车需求预测方法。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。

术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

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