一种基于深度自适应学习的交通流预测方法与流程

文档序号:32789208发布日期:2023-01-03 20:27阅读:44来源:国知局
一种基于深度自适应学习的交通流预测方法与流程

1.本发明涉及一种交通流预测方法,尤其是一种基于深度自适应学习的交通流预测方法。


背景技术:

2.目前,国内外研究者在交通流预测方面已有较多有益成果。现有交通流预测模型可分为:基于统计分析的预测模型、非线性理论模型、仿真预测模型、智能预测模型、混合模型等。近年来,以lstm为代表的反馈神经网络在时间序列数据的预测方面具有广泛的应用,而且可作为非线性单元用于构造更大型的混合模型,但是lstm网络结构模型依赖传统经验难以确定结构参数的问题。因此,本发明提出了一种基于深度自适应学习的交通流预测方法,能够有效加速模型收敛,提升整体交通流预测模型的准确率。


技术实现要素:

3.发明目的:提供一种基于深度自适应学习的交通流预测方法,能够有效加速模型收敛,提升整体交通流预测模型的准确率。
4.技术方案:本发明所述的一种基于深度自适应学习的交通流预测方法,包括如下步骤:
5.步骤1,对城市智能交通系统交通流样本数据进行整理并划分为测试集和训练集;
6.步骤2,在深度lstm网络中引入遗传算法ga构建ga-mlstm模型,初始化遗传种群;
7.步骤3,对构建的ga-mlstm模型进行4个超参数优化;
8.步骤4,利用训练集和测试集对ga-mlstm模型进行训练和测试并根据测试结果进行性能评估;
9.步骤5,重复步骤3和4,获得ga-mlstm模型的预测配置参数,用于实际交通流数据的预测。
10.进一步的,步骤1中,对历史交通流数据进行整理并划分为测试集和训练集的具体步骤为:
11.步骤1.1,从实际数据集中选取日数据样本,并对日数据样本进行分类;
12.步骤1.2,对日数据样本进行数据预处理,剔除日数据样本中的重复数据、异常数据以及不规则数据;
13.步骤1.3,使用min-max-scaler函数对预处理后的日数据样本进行归一化处理,将日数据样本处理为标准的[0,1]之间的归一化数据;
[0014]
步骤1.4,按照日时序区划分规则对归一化数据进行日时序区划分,获得各个日内时序区;
[0015]
步骤1.5,基于每个日内时序区,按照预设划分比例将各日内时序区内的归一化数据划分为测试集和训练集。
[0016]
进一步的,步骤1.1中,对日数据样本进行分类时,将日数据样本分为周一、周二、
周三、周四、周五、周六、周日以及节假日这八类数据样本。
[0017]
进一步的,步骤1.3中,将日数据样本处理为标准的[0,1]之间的归一化数据的计算公式为:
[0018][0019]
式中,x
max
为日数据样本的最大值,x
min
为日数据样本的最小值,x为当前待归一化的日数据样本。
[0020]
进一步的,步骤1.4中,获得的各个日内时序区包括凌晨区、早高峰区、早午间歇区、午高峰区、午晚高峰区、晚高峰区以及晚凌高峰区。
[0021]
进一步的,步骤2中,构建的ga-mlstm模型由深度lstm网络与遗传算法ga融合构成,将遗传算法ga中的每个染色体基因描述为深度lstm网络结构层数以及每层神经元个数,染色体基因的编码结构由x1至x8依次排列的基因位点构成,其中x1和x2分别代表深度lstm网络的层数以及dense层的层数,x3至x8按顺序代表深度lstm网络与dense层的各层神经元个数,并添加了一层神经元个数为1的dense层用于输出预测结果。
[0022]
进一步的,步骤3中,对构建的ga-mlstm模型进行4个超参数优化的具体步骤为:
[0023]
步骤3.1,根据当前预测的日内时序区,将深度lstm网络设置为两层和/或三层的lstm网络,并分别通过遗传算法对分层后的深度lstm网络执行选择、交叉以及变异操作;
[0024]
步骤3.2,记录最先达到迭代次数阈值时的深度lstm网络的层数、dense层数、隐藏层神经元个数以及dense层神经元个数,实现4个超参数优化。
[0025]
进一步的,步骤3.1中,通过遗传算法对分层后的lstm网络执行选择、交叉以及变异操作的具体步骤为:
[0026]
选择操作步骤,利用轮盘赌选择方法进行遗传算法的选择操作,将均方误差mse作为适应度函数,若mse越小,则代表该染色体基因个体适应度越高,其被选择的概率将越大;
[0027]
交叉操作步骤,由染色体基因个体生成一个随机数rc,rc∈[0,1),若rc小于预设交叉概率pc,则随机选择父代种群中的一个染色体基因个体进行交叉,生成一个八位二进制数并转化为布尔类型决定发生交叉的基因位点,基因位点x1和x2不产生交叉;
[0028]
变异操作步骤,假定变异率pm设为0.01,则通过遍历所有染色体基因个体,当生成随机数rm小于pm时,rm∈[0,1),则认为该基因位点发生变异,基因位点x1和x2不发生变异。
[0029]
进一步的,步骤4中,对ga-mlstm模型进行训练和测试并根据测试结果进行性能评估的具体步骤为:
[0030]
步骤4.1,利用划分的训练集对深度lstm网络进行训练,再使用训练好的深度lstm网络对划分的测试集进行交通流预测的性能进行评估;
[0031]
步骤4.2,对深度lstm网络的交通流预测输出数据进行反归一化处理;
[0032]
步骤4.3,根据差分操作规则与差分选值设置表,对反归一化处理后的交通流预测输出数据执行差分处理操作;
[0033]
步骤4.4,根据差分处理操作后的数值,分别计算各差分选值的差分操作后的数值与真实值之间的误差值;
[0034]
步骤4.5,根据计算的误差值进行性能评估,找出最佳的差分选值。
[0035]
进一步的,步骤5中,获得ga-mlstm模型的预测配置参数的具体步骤为:
[0036]
步骤5.1,重复步骤3.1、3.2以及4.1至4.5,获得各个日内时序区的深度lstm的层数、dense层数、隐藏层神经元个数、dense层神经元个数以及各个日内时序区对应的差分选值,并作为ga-mlstm模型的预测配置参数;
[0037]
步骤5.2,重复步骤3.1、3.2、4.1-4.5以及5.1,获得不同日内的预测配置参数,用于实际交通流数据的预测。
[0038]
本发明与现有技术相比,其有益效果是:本发明提出的基于深度自适应学习的交通流预测方法构建了ga-mlstm模型,通过lstm的深度网络设计保证模型泛化能力;引入遗传算法在全局空间获得最优解,加速模型收敛;通过差分运算对预测误差进行优化,提升整体交通流预测模型的准确率。利用公开数据集进行模型测试并性能评估,对比传统两层lstm、支持向量回归(svr)模型和循环神经网络(rnn)模型,验证所提ga-mlstm模型的有效性与预测性能。
附图说明
[0039]
图1为本发明的方法流程图;
[0040]
图2为本发明实验时的原始交通流序列曲线图;
[0041]
图3为本发明实验时的基于遗传算法的迭代训练结果图;
[0042]
图4为本发明实验时的融入差分处理的绝对误差对比图;
[0043]
图5为本发明实验时的不同模型预测结果对比图;
[0044]
图6为本发明实验时的不同算法模型预测结果图。
具体实施方式
[0045]
下面结合附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
[0046]
实施例1:
[0047]
如图1所示,本发明公开的基于深度自适应学习的交通流预测方法包括如下步骤:
[0048]
步骤1,对历史交通流数据进行整理并划分为测试集和训练集;
[0049]
步骤2,在深度lstm网络中引入遗传算法ga构建ga-mlstm模型,初始化遗传种群;
[0050]
步骤3,对构建的ga-mlstm模型进行4个超参数优化;
[0051]
步骤4,利用训练集和测试集对ga-mlstm模型进行训练和测试并根据测试结果进行性能评估;
[0052]
步骤5,重复步骤3和4,获得ga-mlstm模型的预测配置参数,用于实际交通流数据的预测。
[0053]
进一步的,步骤1中,对历史交通流数据进行整理并划分为测试集和训练集的具体步骤为:
[0054]
步骤1.1,从实际数据集中选取日数据样本,并对日数据样本进行分类;
[0055]
步骤1.2,对日数据样本进行数据预处理,剔除日数据样本中的重复数据、异常数据以及不规则数据;
[0056]
步骤1.3,使用min-max-scaler函数对预处理后的日数据样本进行归一化处理,将日数据样本处理为标准的[0,1]之间的归一化数据;
[0057]
步骤1.4,按照日时序区划分规则对归一化数据进行日时序区划分,获得各个日内时序区,日时序区划分规则如表1所示:
[0058]
表1
[0059]
1234567凌晨区早高峰区早午间歇区午高峰区午晚高峰区晚高峰区晚凌高峰区
[0060]
步骤1.5,基于每个日内时序区,按照预设划分比例将日内时序区内的归一化数据划分为测试集和训练集。预设划分比例优选为7:3,是根据业内共知进行预设的,该7:3划分比例也可以根据数据集情况进行调整。
[0061]
本发明使用公开的高速公路数据集检验模型性能,该数据集包含英国m、a级高速公路交通流量数据,以15min为采样间隔。图2为该数据集中2018年8月1日至8月7日共7天的原始交通流序列曲线,每天含00:14:00~23:59:00共96条交通流量数据。本发明实验选取该数据集2018年8月1日至24日共2191条样本数据作为训练集,8月25至31日共648条样本数据作测试集。
[0062]
进一步的,步骤1.1中,对日数据样本进行分类时,将日数据样本分为周一、周二、周三、周四、周五、周六、周日以及节假日这八类数据样本。
[0063]
进一步的,步骤1.3中,将日数据样本处理为标准的[0,1]之间的归一化数据的计算公式为:
[0064][0065]
式中,x
max
为日数据样本的最大值,x
min
为日数据样本的最小值,x为当前待归一化的日数据样本。处理后的输入输出数据格式如表2所示,输入步长设为20,即输入特征矩阵x由前20条数据进行构造,模型预测后输出预测值y。
[0066]
表2
[0067][0068]
进一步的,步骤1.4中,获得的各个日内时序区包括凌晨区、早高峰区、早午间歇区、午高峰区、午晚高峰区、晚高峰区以及晚凌高峰区。
[0069]
进一步的,步骤2中,构建的ga-mlstm模型由深度lstm网络与遗传算法ga融合构成,将遗传算法ga中的每个染色体基因描述为深度lstm网络结构层数以及每层神经元个数,染色体基因的编码结构由x1至x8依次排列的基因位点构成,其中x1和x2分别代表深度lstm网络的层数以及dense层的层数,x3至x8按顺序代表深度lstm网络与dense层的各层神经元个数,并添加了一层神经元个数为1的dense层用于输出预测结果。
[0070]
进一步的,步骤3中,对构建的ga-mlstm模型进行4个超参数优化的具体步骤为:
[0071]
步骤3.1,根据当前预测的日内时序区,将深度lstm网络设置为两层和/或三层的lstm网络,并分别通过遗传算法对分层后的深度lstm网络执行选择、交叉以及变异操作,针
对不同日内时序区的交通流,将获得不同深度的lstm网络结构,即深度lstm网络将自适应设为两层或三层以匹配各日内时序区交通流的预测;深度lstm网络可为两层和三层lstm网络的并列输入网络结构,也可为两层lstm网络和三层lstm网络的独立网络结构,前者通过遗传算法ga进行并行训练和超参数寻优,后者通过遗传算法进行两阶段训练分别进行超参数寻优。
[0072]
步骤3.2,记录最先达到迭代次数阈值时的深度lstm网络的层数、dense层数、隐藏层神经元个数以及dense层神经元个数,实现4个超参数优化,迭代次数阈值优选为30次。
[0073]
步骤3.2中的迭代次数阈值方法,可以为两层和三层的深度lstm网络以及遗传算法ga融合网络找出最佳优化参数,即分别找出结合lstm的层数以及遗传算法ga的ga-mlstm模型的最优训练迭代次数,从而可以提升ga-mlstm模型的工作效能。
[0074]
本发明的深度lstm网络通过输入门、遗忘门以及输出门控制信息的传递,输入门决定当前时刻需要保存到单元状态的数据,遗忘门对输入进行选择记忆,将重要信息保留,输出门控制输出内容。根据深度lstm神经网络的结构,其内部的计算逻辑如下六个公式所示:
[0075]ft
=σ(wf·
[h
t-1
,x
t
]+bf)
[0076]it
=σ(wi·
[h
t-1
,x
t
]+bi)
[0077]ot
=σ(wo·
[h
t-1
,x
t
]+bo)
[0078][0079][0080]ht
=o
t
*tanh(c
t
)
[0081]
式中,f
t
表示遗忘门,i
t
表示输入门,o
t
表示输出门,表示前一时刻细胞状态,c
t
表示当前细胞状态,h
t
表示当前单元的输出,h
t-1
表示前一时刻单元的输出,x
t
表示当前层的输入,wf、wi、wc、wo分别为遗忘权重、输入权重、当前状态权重以及输出权重,bf、bi、bc、bo分别为遗忘偏置项、输入偏置项、当前状态偏置项以及输出偏置项。
[0082]
进一步的,步骤3.1中,通过遗传算法对分层后的lstm网络执行选择、交叉以及变异操作的具体步骤为:
[0083]
选择操作步骤,利用轮盘赌选择方法进行遗传算法的选择操作,将均方误差mse作为适应度函数,若mse越小,则代表该染色体基因个体适应度越高,其被选择的概率将越大;
[0084]
交叉操作步骤,由染色体基因个体生成一个随机数rc,rc∈[0,1),若rc小于预设交叉概率pc,pc=0.5,则随机选择父代种群中的一个染色体基因个体进行交叉,生成一个八位二进制数并转化为布尔类型决定发生交叉的基因位点,基因位点x1和x2不产生交叉;
[0085]
变异操作步骤,假定变异率pm设为0.01,则通过遍历所有染色体基因个体,当生成随机数rm小于pm时,rm∈[0,1),则认为该基因位点发生变异,基因位点x1和x2不发生变异。
[0086]
进一步的,步骤4中,对ga-mlstm模型进行训练和测试并根据测试结果进行性能评估的具体步骤为:
[0087]
步骤4.1,利用划分的训练集对深度lstm网络进行训练,再使用训练好的深度lstm网络对划分的测试集进行交通流预测的性能进行评估;
[0088]
步骤4.2,对深度lstm网络的交通流预测输出数据进行反归一化处理;
[0089]
步骤4.3,根据差分操作规则与差分选值设置表,对反归一化处理后的交通流预测输出数据执行差分处理操作,在差分操作规则与差分选值设置表中的差分操作规则为:[-8,8]区间内且差分间隔为2;差分选值为8、6、4、2、-2、-4、-6以及-8,具体的如表3所示:
[0090]
表3
[0091][0092]
步骤4.4,根据差分处理操作后的数值,分别计算各差分选值的差分操作后的数值与真实值之间的误差值,交通流作为时间序列数据,由于时间序列预测存在自相关性,即t时刻的预测值更贴近t-1时刻的真实值,因此本发明将为预测输出值采用差分操作,消除一阶自相关性,并将差分后的结果作为最终交通流预测值;
[0093]
步骤4.5,根据计算的误差值进行性能评估,找出最佳的差分选值,根据计算的误差值进行性能评估时,对误差值使用均方误差mse、均方根误差rmse以及平均绝对误差mae作为性能评估指标。
[0094]
进一步的,步骤5中,获得ga-mlstm模型的预测配置参数的具体步骤为:
[0095]
步骤5.1,重复步骤3.1、3.2以及4.1至4.5,获得各个日内时序区的深度lstm的层数、dense层数、隐藏层神经元个数、dense层神经元个数以及各个日内时序区对应的差分选值,并作为ga-mlstm模型的预测配置参数;
[0096]
步骤5.2,重复步骤3.1、3.2、4.1-4.5以及5.1,获得不同日内的预测配置参数,用于实际交通流数据的预测。
[0097]
实验与性能分析
[0098]
环境配置与评价指标:ga-mlstm模型的参数设置如表4所示,为防止模型过拟合,于每个lstm层后加入dropout层,丢弃率设置为0.2,选择adam优化器,该优化器结合了adagrad和rmsprop方法的最佳属性,自动为模型参数使用自定义学习率,能够使训练收敛性能更佳。
[0099]
表4
[0100]
参数名称参数值dropout0.2batch_size32优化器adam
[0101]
实验所使用的计算机配置为:intel(r)core(tm)i5-10400f cpu@2.90ghz,内存为16gb,windows10(64位)操作系统,软件环境为python 3.7.11。为对ga-mlstm模型进行性能评价,使用均方误差mse、均方根误差rmse以及平均绝对误差mae作为误差评价指标,对应的计算公式如下:
[0102][0103][0104][0105]
ga-mlstm交通流预测与分析:基于遗传算法的深度lstm网络的优化训练过程如图3所示,可以看出,遗传算法在训练迭代过程中,初始阶段的均方误差存在明显波动性,但在进入27次迭代后,其均方误差趋于最优解,且波动性相对较小,即在该区间可以确定遗传算法的近似最优解。因此在ga-mlstm模型进行交通流预测时,将迭代次数设为30次,则认为在30次迭代训练中种群子代可获得近似最优适应度,即在遗传搜索空间能找到近似最优解。
[0106]
为评估ga-mlstm的性能,将lstm模型中的batch size和步长分别设置为64和8。在ga-mlstm模型中,将深度lstm网络层数设为1-3层,通过遗传算法探索解空间的最优解。经预测训练,获得ga-mlstm模型的优化参数设置为表5所示,即ga-mlstm模型中lstm层数取为3层。
[0107]
表5
[0108]
参数名称最优参数lstm层数3隐藏层神经元个数(41,96,53)dense层数1dense层神经元个数(149)
[0109]
从表6中可知,相较于已有双层lstm模型方法,使用遗传算法优化深度lstm网络结构参数的模型预测性能更优,其中mse、rmse、mae分别提高了1870.92、10.23和7.55;加入差分操作后,mse、rmse与mae分别提高了4150.47、24.63和20.65。
[0110]
图4为ga-mlstm模型在差分处理前后的预测值与真实值的绝对误差对比图,在进行差分处理后,日高峰时间段交通流预测结果得到显著提升,总体误差得到有效减小。
[0111]
不同模型预测结果对比如图5所示,可以看出,ga-mlstm模型能够较好拟合交通流的变化趋势,且在交通流趋势为下降以及突变的时间区段,ga-mlstm模型的预测精度更高,显示其交通流预测的有效性。
[0112]
表6
[0113]
模型策略msermsemae双层lstm[22]9 331.7496.6172.82ga+3层lstm7 460.8286.3865.27ga+3层lstm+差分5 181.2771.9852.17
[0114]
不同模型的交通流预测与分析:图6给出了ga-mlstm模型与支持向量回归(svr)模型、循环神经网络(rnn)模型的交通流预测对比结果,在8:00至20:00时间段,ga-mlstm、svr
和rnn模型预测值与真实值之间的绝对误差区间分别为[0.042,177,276]、[0.355,386.955]、[1.026,399.682],因此,ga-mlstm模型相较于svr和rnn具有更优的交通流预测性能,不同算法模型预测性能比较结果如表7所示。
[0115]
表7
[0116]
模型msermsemaernn8 301.7191.1168.45svr13 982.04118.2599.87ga-mlstm5 181.2771.9852.17
[0117]
本发明针对lstm网络结构模型依赖传统经验难以确定结构参数的问题,基于遗传算法优化的深度lstm网络结构,融合差分处理,通过公开交通流数据集测试验证,相比传统lstm模型,本发明的ga-mlstm模型具有更好的预测精度。
[0118]
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1