本发明涉及交通需求预测领域,特别是一种基于时空特征提取的出行需求预测方法。
背景技术:
近年来,网约车、共享单车等新型出行方式逐渐受到人们的欢迎,人们对于新型交通资源的需求也与日俱增。因此,通过准确地预测出行需求,实现更好地调度交通资源、降低企业运行成本、提升出行服务的质量,显得越来越重要。
在已有的出行需求预测中,一部分采用了传统的线性模型以及机器学习的方法,还有一部分采用了深度学习方法。已有的深度学习类模型对卷积神经网络、循环神经网络及其变体长短时记忆神经网络等深度学习结构加以组合利用,在一定程度上起到了捕捉交通数据中的时空相关性的作用,但是已有大多直接输入时空相关的属性到模型中,而没有考虑对时空特征进行提取。
技术实现要素:
本发明所要解决的技术问题是克服现有技术的不足而提供一种基于时空特征提取的出行需求预测方法,本发明提高出行需求的预测精度。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种基于时空特征提取的出行需求预测方法,包括以下步骤:
步骤1、采集非集计出行数据,对非集计出行数据进行预处理,预处理后的非集计出行数据作为标准化出行记录数据;非集计出行数据包括出发时间以及出发点经纬度字段;
步骤2、构造出行需求网格图;具体如下:
使用网格划分研究区域,得到空间网格图gi×j,gi×j中的空间网格的行坐标用i表示、列坐标用j表示,用于统计出行记录数量的时间粒度设定为t,按照时间粒度将一日划分为时间片,依据出发时间以及出发点经纬度字段将标准化出行记录数据中的每条出行记录匹配到对应的时间片和空间网格,统计每个空间网格在每个时间片内的出行记录的数量,作为出行需求,从而得到出行需求
步骤3、构造局部出行需求网格图的时间序列,具体如下:
使用s×s的滑动窗口在出行需求网格图上滑动,使得滑动窗口的中心网格遍历过所有空间网格,从而得到局部出行需求网格图lt,将局部出行需求网格图按照时间顺序排列,得到局部出行需求网格图的时间序列;其中,lt表示在第t时间片的局部出行需求网格图,s为滑动窗口的边长;
步骤4、将局部出行需求网格图的时间序列构造为空间特征训练样本集ds,将步骤2得出的
步骤5、构造基于时空特征提取的出行需求预测模型,基于时空特征提取的出行需求预测模型包括空间特征提取模块、时间特征提取模块以及预测模块,其中,
空间特征提取模块包括m个卷积神经网络cnn层、m个全连接层和长短时记忆神经网络lstm层,m个卷积神经网络cnn层一一对应地连接m个全连接层,m个全连接层分别连接长短时记忆神经网络lstm层;其中,m表示ds中输入至空间特征提取模块的局部出行需求网格图的时间序列的长度;
时间特征提取模块包括3个长短时记忆神经网络lstm层以及全连接层,连接关系如下:时间特征提取模块中的3个长短时记忆神经网络lstm层分别连接时间特征提取模块中的全连接层;
预测模块包含依次顺序连接的两层全连接层;
步骤6、提取时空特征;具体如下:
使用空间特征训练样本集训练空间特征提取模块,并将该模块的cnn层的输出c以及lstm层的输出l拼接,作为提取到的空间特征;
使用时间特征训练样本集训练时间特征提取模块,该模块的lstm层的输出r作为提取到的时间特征;
步骤7、使用空间特征提取模块的cnn层的输出、lstm层的输出与时间特征提取模块的输出构造预测训练样本集dp,使用预测训练样本集训练预测模块;
步骤8、将训练完成的空间特征提取模块、时间特征提取模块和预测模块加以拼接,得到端到端的预测模型,并将其作为最终的基于时空特征提取的出行需求预测模型。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,步骤1中预处理是指去除非集计出行数据中字段信息缺失以及不在研究区域内的数据;步骤1中非集计出行数据包括的字段有:出发时间、出发点经纬度;缺少以上任意一个字段的数据视为信息不完整的数据,不在研究区域内的数据视为冗余数据,都要进行去除。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,步骤2中将标准化出行记录数据中的每条出行记录匹配到对应的时间片,是指:将出行时间在第t时间片内的出行记录匹配到第t时间片,将出行记录匹配到时间片具体为,为标准化出行记录数据添加时间片字段;步骤2中将标准化出行记录数据中的每条出行记录匹配到对应的空间网格,是指:计算空间网格的边界的经度和纬度,将出行经纬度位于第i行、第j列的空间网格的边界内的出行记录匹配到第i行、第j列的空间网格,将出行记录匹配到空间网格具体为,为标准化出行记录数据添加空间网格的行坐标和列坐标字段。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,空间网格图的尺寸i、j取值为10或15或20;时间粒度t=30min。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,步骤3中滑动窗口的边长s设置为5,使用5×5的滑动窗口在出行需求网格图上选取局部出行需求网格图;按照时间顺序排列得到局部出行需求网格图的时间序列。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,步骤4中构造空间特征训练样本集与时间特征训练样本集包括:
步骤41、空间特征训练样本集ds中的第k个样本表示为(xk,yk),xk=(lt-m,lt-m 1,…,lt-m,…,lt-1),其中,xk表示ds中的第k个样本的特征,lt-m表示第(t-m)时间片的局部出行需求网格图,m=1,2,3,…,m,yk=dt,其中,yk表示第k个样本的标签,dt表示第t时间片的出行需求;
步骤42、时间特征训练样本集dt中的第q个样本表示为(xq,yq),xq=(ds;dm;dl),其中,xq表示dt中的第q个样本的特征,ds为短间隔的时间序列,短间隔ts=1时间粒度,dm为中间隔的时间序列,中间隔tm=1日,dl为长间隔的时间序列,长间隔tl=1周,yq=dt,其中,yq表示第q个样本的标签,dt表示第t时间片的出行需求。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,m取值为8。
作为本发明所述的一种基于时空特征提取的出行需求预测方法进一步优化方案,步骤7中构造预测训练样本集,预测训练样本集dp中的第p个样本表示为(xp,yp),xp=(c,l,r),其中,xp表示dp中的第p个样本的特征,c,l分别为空间特征提取模块的cnn层的输出和lstm层的输出,r为时间特征提取模块的输出,yp=dt,其中,yp表示第p个样本的标签,dt表示第t时间片的出行需求。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明的基于时空特征提取的出行需求预测方法,结合出行需求数据的时间分布规律和空间分布规律,分别设计了两个模块用于提取出行需求的时间特征和空间特征,空间特征提取模块通过输入局部出行需求网格图达到提取空间特征的目的,时间特征提取模块通过输入三种间隔的出行需求时间序列达到提取时间特征的目的,相比于未考虑时空特征提取的深度学习模型,本方法可以更好地预测出行需求。
附图说明
图1是本发明的技术路线示意图。
图2是本发明的出行需求网格展示图;其中,(a)为12时0分至12时30分的出行需求网格图,(b)为12时30分至13时0分的出行需求网格图,(c)为13时0分至13时30分的出行需求网格图,(d)为13时30分至14时0分的出行需求网格图,(e)为14时0分至14时30分的出行需求网格图,(f)为14时30分至15时0分的出行需求网格图,(g)为15时0分至15时30分的出行需求网格图,(h)为15时30分至16时0分的出行需求网格图。
图3是本发明的实施例的学习曲线展示图。
图4是本发明的实施例的预测效果展示图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明的技术路线如图1所示,主要包括八步,分别为预处理非集计出行数据、划分空间网格及时间片、统计出行记录数量、构造时间以及空间特征训练样本集、提取时间以及空间特征、构造预测训练样本集、训练预测模型以及预测未来出行需求。
本实施例使用滴滴网约车数据测试基于时空特征提取的出行需求预测方法,下面将从数据预处理、模型训练以及预测结果三方面介绍本实施例。
1)数据预处理
本案例选取一块大小为4km×4km的区域作为研究区域,将该区域划分为10×10的空间网格图,每个空间网格的尺寸为400m×400m。
首先,去除字段缺失以及不在研究区域内的订单记录,经过检查发现网约车数据不存在字段信息缺失的记录,本步根据划定的研究区域筛选出研究区域内的订单记录,删除了不在研究区域内的订单数据;
然后,根据非集计的出行数据统计出行需求,时间粒度设置为30分钟,得到出行需求网格图,如图2所示,其中,图2中的(a)~(h)分别代表12时0分至12时30分~15时30分至16时0分的出行需求网格图;
2)模型训练
本模型使用python语言搭建时空特征提取模块以及预测模块,数据集划分的具体设置为原始数据集中后1/5的数据作为测试集。此外,将均方误差作为模型的损失函数,其计算公式见下式。
其中,mse为均方误差,yn为第n个样本的实际出行需求,
本案例的训练总轮数设置为80,为便于选择最优模型,每一轮训练结束后,计算模型在训练集以及测试集上的均方根误差;为避免欠拟合以及过拟合,选择在测试集上均方误差最小的模型作为最优模型,均方误差随训练轮数的变化趋势见图3。
3)预测结果
最终,使用训练得到的最优模型预测测试集上的出行需求,最优模型在测试集上的平均绝对误差(mae)为3.647;此外,最优模型对第100号空间网格在11月30日的出行订单数量的预测值(方格)与该空间网格订单数量的实际值(五角星)的对比见图4,可以看出基于时空特征提取的出行需求预测方法较好地预测出了订单数量。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
1.一种基于时空特征提取的出行需求预测方法,其特征在于,包括以下步骤:
步骤1、采集非集计出行数据,对非集计出行数据进行预处理,预处理后的非集计出行数据作为标准化出行记录数据;非集计出行数据包括出发时间以及出发点经纬度字段;
步骤2、构造出行需求网格图;具体如下:
使用网格划分研究区域,得到空间网格图gi×j,gi×j中的空间网格的行坐标用i表示、列坐标用j表示,用于统计出行记录数量的时间粒度设定为t,按照时间粒度将一日划分为时间片,依据出发时间以及出发点经纬度字段将标准化出行记录数据中的每条出行记录匹配到对应的时间片和空间网格,统计每个空间网格在每个时间片内的出行记录的数量,作为出行需求,从而得到出行需求
步骤3、构造局部出行需求网格图的时间序列,具体如下:
使用s×s的滑动窗口在出行需求网格图上滑动,使得滑动窗口的中心网格遍历过所有空间网格,从而得到局部出行需求网格图lt,将局部出行需求网格图按照时间顺序排列,得到局部出行需求网格图的时间序列;其中,lt表示在第t时间片的局部出行需求网格图,s为滑动窗口的边长;
步骤4、将局部出行需求网格图的时间序列构造为空间特征训练样本集ds,将步骤2得出的
步骤5、构造基于时空特征提取的出行需求预测模型,基于时空特征提取的出行需求预测模型包括空间特征提取模块、时间特征提取模块以及预测模块,其中,
空间特征提取模块包括m个卷积神经网络cnn层、m个全连接层和长短时记忆神经网络lstm层,m个卷积神经网络cnn层一一对应地连接m个全连接层,m个全连接层分别连接长短时记忆神经网络lstm层;其中,m表示ds中输入至空间特征提取模块的局部出行需求网格图的时间序列的长度;
时间特征提取模块包括3个长短时记忆神经网络lstm层以及全连接层,连接关系如下:时间特征提取模块中的3个长短时记忆神经网络lstm层分别连接时间特征提取模块中的全连接层;
预测模块包含依次顺序连接的两层全连接层;
步骤6、提取时空特征;具体如下:
使用空间特征训练样本集训练空间特征提取模块,并将该模块的cnn层的输出c以及lstm层的输出l拼接,作为提取到的空间特征;
使用时间特征训练样本集训练时间特征提取模块,该模块的lstm层的输出r作为提取到的时间特征;
步骤7、使用空间特征提取模块的cnn层的输出、lstm层的输出与时间特征提取模块的输出构造预测训练样本集dp,使用预测训练样本集训练预测模块;
步骤8、将训练完成的空间特征提取模块、时间特征提取模块和预测模块加以拼接,得到端到端的预测模型,并将其作为最终的基于时空特征提取的出行需求预测模型。
2.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,步骤1中预处理是指去除非集计出行数据中字段信息缺失以及不在研究区域内的数据;步骤1中非集计出行数据包括的字段有:出发时间、出发点经纬度;缺少以上任意一个字段的数据视为信息不完整的数据,不在研究区域内的数据视为冗余数据,都要进行去除。
3.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,步骤2中将标准化出行记录数据中的每条出行记录匹配到对应的时间片,是指:将出行时间在第t时间片内的出行记录匹配到第t时间片,将出行记录匹配到时间片具体为,为标准化出行记录数据添加时间片字段;步骤2中将标准化出行记录数据中的每条出行记录匹配到对应的空间网格,是指:计算空间网格的边界的经度和纬度,将出行经纬度位于第i行、第j列的空间网格的边界内的出行记录匹配到第i行、第j列的空间网格,将出行记录匹配到空间网格具体为,为标准化出行记录数据添加空间网格的行坐标和列坐标字段。
4.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,空间网格图的尺寸i、j取值为10或15或20;时间粒度t=30min。
5.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,步骤3中滑动窗口的边长s设置为5,使用5×5的滑动窗口在出行需求网格图上选取局部出行需求网格图;按照时间顺序排列得到局部出行需求网格图的时间序列。
6.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,步骤4中构造空间特征训练样本集与时间特征训练样本集包括:
步骤41、空间特征训练样本集ds中的第k个样本表示为(xk,yk),xk=(lt-m,lt-m 1,...,lt-m,...,lt-1),其中,xk表示ds中的第k个样本的特征,lt-m表示第(t-m)时间片的局部出行需求网格图,m=1,2,3,...,m,yk=dt,其中,yk表示第k个样本的标签,dt表示第t时间片的出行需求;
步骤42、时间特征训练样本集dt中的第q个样本表示为(xq,yq),xq=(ds;dm;dl),其中,xq表示dt中的第q个样本的特征,ds为短间隔的时间序列,短间隔ts=1时间粒度,dm为中间隔的时间序列,中间隔tm=1日,dl为长间隔的时间序列,长间隔tl=1周,yq=dt,其中,yq表示第q个样本的标签,dt表示第t时间片的出行需求。
7.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,m取值为8。
8.根据权利要求1所述的一种基于时空特征提取的出行需求预测方法,其特征在于,步骤7中构造预测训练样本集,预测训练样本集dp中的第p个样本表示为(xp,yp),xp=(c,l,r),其中,xp表示dp中的第p个样本的特征,c,l分别为空间特征提取模块的cnn层的输出和lstm层的输出,r为时间特征提取模块的输出,yp=dt,其中,yp表示第p个样本的标签,dt表示第t时间片的出行需求。
技术总结