本发明属于智能交通系统技术领域,涉及一种基于igwo-lstm的短时交通流预测的导航提醒方法。
背景技术:
近年来,随着我国经济的提升,居民生活水平得到了显著提高,出行方式也越来越便捷,许多的家庭都拥有私家车。众多的车辆在方便人们出行的同时,也带来了一系列的交通拥堵等问题,一直以来困扰着政府管理部门及每一位私家车主。在日常出行前一般很难预知未来道路上的交通拥堵情况,因此在选择路径的时候给车主带来了极大困扰。因此,特别需要一种导航提醒方法,在预测交通流的基础上,将其结果展示在地图软件上,供车主参考,以便其选择最优出行路线。
目前,导航提醒是以道路上的当前交通流为参考的,向车主提示在所选择的路线上道路是否拥堵。然而,当车主在未来某一时间途经某道路时,该路段的交通情况很有可能已经发生变化了,显然这种方法有一定的局限性。因此,基于预测交通流下的导航提醒方法具有很大的优势。在交通流预测方法中,传统的有统计学方法,然而这种单纯以历史平均数据为交通流预测值的方法并不适用于当前复杂的交通环境。一些基于数学模型的方法如差分自回归滑动平均(arima)模型,虽然模型简单实用,但模型要求时序数据是稳定的,且拟合能力有限,难以捕捉复杂的交通流规律。近年来,随着计算机计算能力的迅速发展,机器学习及神经网络技术得到了广泛应用,在交通流预测领域中也有着良好的表现。神经网络方法使用历史交通流数据训练预测模型,因其强大的非线性拟合能力,在交通流预测上有着较高的精度。然而在建立神经网络模型时有许多超参数会影响预测精度,需要进行调整,当前的调参方式主要是人为靠经验调节,人为调节需要开展大量实验,使用试凑法或控制变量法确定超参数,费时费力,难以找到最佳超参数,因此并不能使模型达到较高的预测精度。因此迫切需要对神经网络模型超参数进行优化,从而将更为精确的预测结果应用在导航提醒中。
在现有技术的预测算法中,已有一些对lstm模型超参数进行自动寻优的技术,如粒子群算法优化lstm模型用于电力负载预测等,然而粒子群算法在处理复杂多峰寻优问题时,易陷入局部最小,搜索能力较差,收敛速度欠佳。因此在电力负载预测中,粒子群算法对lstm模型超参数的寻优并不能达到很好的效果。
技术实现要素:
本发明的目的是解决现有技术中存在的问题,提出一种基于igwo-lstm的短时交通流预测的导航提醒方法。具体地,本发明对灰狼优化算法(gwo)进行改进,提出一种新的非线性收敛因子,将改进后的算法用于对长短时记忆网络(lstm)模型超参数的寻优,得到igwo-lstm混合模型对短时交通流进行预测,展示预测后的交通流结果用于导航提醒。
为达到上述目的,本发明采用的技术方案如下:
一种基于igwo-lstm的短时交通流预测的导航提醒方法,首先训练及优化lstm模型,然后在使用预测模型时,将采集到的历史交通流数据经过预处理后,输入到训练及优化后的lstm模型中,由其输出短时交通流的预测结果,最后将短时交通流的预测结果发布在导航软件上,并根据交通流量的大小以不同颜色展示在路段中,用于导航提醒,展示的信息供司机用于拥堵性参考,并以此合理规划出行,选择导航路线;
训练及优化lstm模型的步骤如下:
(1)采集用于建立模型的历史交通流数据,对其进行预处理后划分为训练集(用于建立模型)和测试集(用于检验建立的模型最终的预测效果);
(2)采用改进的灰狼优化算法(igwo)和训练集训练并优化lstm模型,即首先设置超参数(lstm模型有两类参数,一类是训练前由人为设定,称为超参数;另一类则由模型在训练中自动调整;超参数的选择至关重要,会严重影响模型的预测精度;一般超参数是根据经验或通过试凑进行确定的,本方法中则采用igwo算法,根据模型输出误差进行有针对性的搜索。),然后训练lstm模型,之后igwo算法根据lstm模型输出误差更新灰狼位置,从而调整超参数,再重新训练lstm模型,如此循环往复,直到最后选出使输出误差最小的lstm模型;所述改进的灰狼优化算法是对灰狼优化算法的收敛因子参数进行改进,采用非线性收敛因子参数。
作为优选的技术方案:
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,lstm模型由神经元组成,其公式如下所示:
ft=σ(wf·[ht-1,xt] bf);
it=σ(wi·[ht-1,xt] bi);
ot=σ(wo·[ht-1,xt] bo);
ht=ot*tanh(ct);
式中,ft为遗忘门输出值,σ为sigmoid激活函数,wf为遗忘门权重矩阵,ht-1为t-1时刻的输入,xt为当前输入,[ht-1,xt]表示把两个向量连接成一个向量,bf为遗忘门偏置项,it为σ层的输出,wi为输入门权重矩阵,bi为输入门偏置项,
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,采集历史交通流数据采用电磁线圈传感器。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,lstm模型包含两层隐藏层,待优化的超参数为两层隐藏层的神经元数目、训练次数和学习率。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,步骤(2)具体如下:
(2.1)初始化灰狼种群参数,设置种群数量为20~30,种群迭代次数为20~50,随机设置20~30组由lstm模型的两层隐藏层单元数目、训练次数和学习率组成的灰狼位置向量,构成初始灰狼种群。
(2.2)采用反向传播和梯度下降法使用灰狼位置向量对应的超参数以及训练集对lstm模型进行训练,设定训练次数为100~200,达到设定的训练次数后训练结束;
(2.3)计算灰狼的适应度值,划分灰狼种群等级;
将训练集输入到步骤(2.2)中训练得到的lstm模型,计算灰狼个体的适应度值,公式如下:
式中,k为训练集中训练样本的数量,
选取适应度值最高的三个灰狼个体分别为α狼、β狼和δ狼,其余的个体为ω狼;
(2.4)判断种群迭代次数是否达到设定值,如果是,则结束;反之,则进入下一步;
(2.5)灰狼位置的更新,用迭代公式对每一个灰狼的位置进行更新,公式如下:
dα=|c′1·xα(t)-x(t)|;
dβ=|c′2·xβ(t)-x(t)|;
dδ=|c′3·xδ(t)-x(t)|;
x1=xα-a1·dα;
x2=xβ-a2·dβ;
x3=xδ-a3·dδ;
式中,x(t)为某个灰狼当前所在的位置,xα(t)、xβ(t)、xδ(t)分别为当前α狼、β狼、δ狼所在的位置,dα、dβ、dδ为某个灰狼与α狼、β狼、δ狼之间的距离,x1、x2、x3分别为灰狼沿α狼、β狼、δ狼方向上移动的矢量,x(t 1)为ω狼更新后的位置,a和c′为系数,由以下公式计算得到:
a=2ar1-a;
c′=2r2;
r1和r2均为[0,1]区间内的随机数,经过对r1三次随机取值,计算得到参数a1、a2和a3,经过对r2三次随机取值,计算得到参数c′1、c′2和c′3;a为收敛因子参数,在原始灰狼优化算法中,收敛因子参数a随着种群迭代次数的增加从2线性减小到0,不能很好地配置全局搜索和局部搜索,导致寻优效果欠佳,本方法采用新的非线性收敛因子,由以下公式计算得到:
式中,t为当前迭代次数,tmax为设定的种群迭代次数,收敛因子a随着迭代次数的增加呈非线性变化,灰狼位置更新后返回到步骤(2.2)。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,预处理包括对缺失数据的插补,采用相邻数据取平均值的方法。由于交通流一般情况下不会发生太大变化,即当前时刻与相邻两个10分钟内的采样数据点比较接近,因此采用相邻数据取平均值的方法进行缺失数据插补处理。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,预处理还包括对数据的归一化处理操作,归一化处理的公式如下:
式中,x*为归一化处理后的数据,x为归一化处理前的数据,max为最大值,min为最小值。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,训练及优化lstm模型后使用测试集检验模型预测效果。
如上所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,使用测试集检验模型预测效果具体为:选取使输出误差最小的lstm模型,将测试集输入其中,得到预测值后,将预测值与真实值进行比较,以平均绝对百分比误差(mape)为衡量标准,计算预测误差百分比。
本发明的原理如下:
本发明首次将改进的灰狼优化算法(igwo)用于短时交通流预测。灰狼优化算法是2014年提出的一种优化算法,近年来受到广大学者的青睐,相较于粒子群算法、遗传算法、蚁群算法等优化算法,其寻优效果好,运算速度快。然而在原始灰狼优化算法中,收敛因子参数a随着种群迭代次数的增加从2线性减小到0,不能很好地配置全局搜索和局部搜索,导致寻优效果欠佳,还需要做进一步改进。本方法采用新的非线性收敛因子,由公式
lstm模型的特殊结构能够有效学习到数据长期依赖关系,尤其适合基于时间序列的交通流预测,然而模型有众多超参数需要人工调整,在调试过程中费时费力。不同的lstm模型超参数会影响模型预测精度,本发明使用igwo算法对lstm模型的超参数进行寻优,是通过模拟狼群狩猎机制,对lstm模型的超参数自动进行全局搜索,寻找合适的lstm超参数,因此有助于进一步提升模型预测精度。
有益效果:
(1)本发明将交通流预测应用在导航提醒中,相对传统的基于当前车流量的导航提醒有着明显的优势,司机可以在出行前以所提供的未来道路交通流量的预测值为参考,合理规划出行路径,选择较为畅通的导航路线;
(2)lstm模型的特殊结构能够有效学习到数据长期依赖关系,尤其适合基于时间序列的交通流预测,然而模型有众多超参数需要人工调整,在调试过程中费时费力。本发明引入igwo算法对lstm模型的超参数进行寻优,有助于进一步提升模型预测精度。igwo算法相对于传统的gwo算法,使用了新的非线性收敛因子,能够更好地配置全局搜索和局部搜索,得到更好的寻优效果。
附图说明
图1为一种基于igwo-lstm的短时交通流预测的导航提醒方法的流程图;
图2为lstm单元的结构示意图;
图3为灰狼种群等级结构图;
图4为灰狼位置更新示意图;
图5为灰狼优化算法收敛因子改进前后的对比图。
具体实施方式
下面结合具体实施方式,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
一种基于igwo-lstm的短时交通流预测的导航提醒方法,如图1所示,步骤如下:
(1)训练及优化lstm模型;
lstm模型由神经元连接组成,神经元结构如图2所示,由以下公式构建而成:
ft=σ(wf·[ht-1,xt] bf);
it=σ(wi·[ht-1,xt] bi);
ot=σ(wo·[ht-1,xt] bo);
ht=ot*tanh(ct);
式中,ft为遗忘门输出值,σ为sigmoid激活函数,wf为遗忘门权重矩阵,ht-1为t-1时刻的输入,xt为当前输入,[ht-1,xt]表示把两个向量连接成一个向量,bf为遗忘门偏置项,it为σ层的输出,wi为输入门权重矩阵,bi为输入门偏置项,
训练及优化lstm模型的步骤如下:
(1.1)采用电磁线圈传感器采集历史交通流数据(在距离路口10米处使用电磁线圈传感器获取车辆经过信息,用于交通流预测的数据为路口预测前一天的检测点的过车数量,统计间隔为10分钟),并对其进行预处理后划分为训练集(用于建立模型)和测试集(用于检验建立的模型最终的预测效果);
预处理包括对缺失数据的插补,采用相邻数据取平均值的方法。由于交通流一般情况下不会发生太大变化,即当前时刻与相邻两个10分钟内的采样数据点比较接近,因此采用相邻数据取平均值的方法进行缺失数据插补处理;
预处理还包括对数据的归一化处理操作,归一化处理的公式如下:
式中,x*为归一化处理后的数据,x为归一化处理前的数据,max为最大值,min为最小值;
(1.2)采用改进的灰狼优化算法(igwo)和训练集训练并优化lstm模型,即首先设置超参数,然后训练lstm模型,之后igwo算法根据lstm模型输出误差更新灰狼位置,从而调整超参数,再重新训练lstm模型,如此循环往复,直到最后选出使输出误差最小的lstm模型;lstm模型的超参数为lstm模型的两层隐藏层单元数目、训练次数和学习率;具体过程如下:
(1.2.1)初始化灰狼种群参数,设置种群数量为20~30,种群迭代次数为20~50,随机设置20~30组由lstm模型的两层隐藏层单元数目、训练次数和学习率组成的灰狼位置向量,构成初始灰狼种群;
(1.2.2)采用反向传播和梯度下降法使用灰狼位置向量对应的超参数以及训练集对lstm模型进行训练,设定训练次数为100~200,达到设定的训练次数后训练结束;
(1.2.3)计算灰狼的适应度值,划分灰狼种群等级,灰狼等级如图3所示;
将训练集输入到(2.2)中训练得到的lstm模型,计算灰狼个体的适应度值,公式如下:
式中,k为训练集中训练样本的数量,
选取适应度值最高的三个灰狼个体分别为α狼、β狼和δ狼,其余的个体为ω狼;
(1.2.4)判断种群迭代次数是否达到设定值,如果是,则结束;反之,则进入下一步;
(1.2.5)灰狼位置的更新,用迭代公式对每一个灰狼的位置进行更新,位置更新方式如图4所示,公式如下:
dα=|c′1·xα(t)-x(t)|;
dβ=|c′2·xβ(t)-x(t)|;
dδ=|c′3·xδ(t)-x(t)|;
x1=xα-a1·dα;
x2=xβ-a2·dβ;
x3=xδ-a3·dδ;
式中,x(t)为某个灰狼当前所在的位置,xα(t)、xβ(t)、xδ(t)分别为当前α、β、δ狼所在的位置,dα、dβ、dδ为某个灰狼与α狼、β狼、δ狼之间的距离,x1、x2、x3分别为灰狼沿α狼、β狼、δ狼方向上移动的矢量,x(t 1)为ω狼更新后的位置,a和c′为系数,由以下公式计算得到:
a=2ar1-a;
c′=2r2;
r1和r2均为[0,1]区间内的随机数,经过对r1三次随机取值,计算得到参数a1、a2和a3,经过对r2三次随机取值,计算得到参数c′1、c′2和c′3,图4中r为ω狼更新后的概率位置范围。a为收敛因子参数,随着种群迭代次数的增加从2线性减小到0,不能很好地配置全局搜索和局部搜索,导致寻优效果欠佳,本方法采用新的非线性收敛因子,改进前后收敛因子对比图如图5所示,由以下公式计算得到:
式中,t为当前迭代次数,tmax为设定的种群迭代次数,收敛因子a随着迭代次数的增加呈非线性变化,灰狼位置更新后返回到步骤(1.2.2);
训练及优化lstm模型后使用测试集检验预测效果,具体为:选取使输出误差最小的lstm模型,将测试集输入其中,得到预测值后,将预测值与真实值进行比较,以平均绝对百分比误差(mape)为衡量标准,计算预测误差百分比;
(2)采用电磁线圈传感器采集历史交通流数据,并对其进行预处理(同(1.1))后输入到训练及优化后的lstm模型中,由其输出短时交通流的预测结果;
(3)将短时交通流的预测结果发布在导航软件上,并根据交通流量的大小以不同颜色展示在路段中,展示的信息供司机用于拥堵性参考,并以此合理规划出行,选择导航路线。
为验证本发明应用案例的有效性,下面结合仿真实验进一步解释说明:
选取某路段2016年1月的车流量数据为实验对象,以1月4日至1月24日的数据作为训练集用于训练模型,1月25日至1月27日的数据作为测试集,用于检验模型预测效果。在pso-lstm模型中,初始化粒子群算法参数,设置粒子种群数量为20,粒子种群迭代次数为30,两个学习因子取值相等,均为2。在gwo-lstm模型中,设置灰狼种群数量为20,灰狼种群迭代次数为30。igwo-lstm模型采用改进的灰狼优化算法对lstm模型进行优化,改进的灰狼优化算法与传统的灰狼优化算法的区别在于使用了非线性的收敛因子,能够更好地配置全局搜索和局部搜索,提高寻优效果。lstm模型训练次数均为100,为避免随机误差干扰实验结果,对三种模型独立运行10次,取mape的平均值作为最终模型预测效果,结果如表1所示:
表1三种不同模型下预测误差分析
通过参照表1中的仿真实验结果可以看出,在同等种群初始化条件下,灰狼优化算法相较于粒子群算法在优化lstm模型用于交通流预测中,具有更小的预测误差。采用非线性收敛因子的改进灰狼优化算法相较于传统的灰狼优化算法,能够找到更适合lstm模型的超参数,因此igwo-lstm模型在交通流预测中进一步减小了误差,达到了更好的预测效果。综上所述,基于igwo-lstm的短期交通流预测模型有着更小的预测误差,在导航提醒上有助于展示更为精确的道路车流量信息,以便车主合理规划出行路线。
1.一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征是:首先训练及优化lstm模型,然后将采集到的历史交通流数据经过预处理后,输入到训练及优化后的lstm模型中,由其输出短时交通流的预测结果,最后将短时交通流的预测结果发布在导航软件上,并根据交通流量的大小以不同颜色展示在路段中,用于导航提醒;
训练及优化lstm模型的步骤如下:
(1)采集用于历史交通流数据,对其进行预处理后划分为训练集和测试集;
(2)采用改进的灰狼优化算法和训练集训练并优化lstm模型,即首先设置超参数,然后训练lstm模型,之后igwo算法根据lstm模型输出误差更新灰狼位置,从而调整超参数,再重新训练lstm模型,如此循环往复,直到最后选出使输出误差最小的lstm模型;所述改进的灰狼优化算法是对灰狼优化算法的收敛因子参数进行改进,采用非线性收敛因子参数。
2.根据权利要求1所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,lstm模型由神经元组成,其公式如下所示:
ft=σ(wf·[ht-1,xt] bf);
it=σ(wi·[ht-1,xt] bi);
ot=σ(wo·[ht-1,xt] bo);
ht=ot*tanh(ct);
式中,ft为遗忘门输出,σ为sigmoid激活函数,wf为遗忘门权重矩阵,ht-1为t-1时刻的输入,xt为当前输入,[ht-1,xt]表示把两个向量连接成一个向量,bf为遗忘门偏置项,it为σ层的输出,wi为输入门权重矩阵,bi为输入门偏置项,
3.根据权利要求1所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,采集历史交通流数据采用电磁线圈传感器。
4.根据权利要求1所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,lstm模型的超参数为两层隐藏层的神经元数目、训练次数和学习率。
5.根据权利要求4所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,步骤(2)具体如下:
(2.1)初始化灰狼种群参数,设置种群数量为20~30,种群迭代次数为20~50,随机设置20~30组由lstm模型的两层隐藏层单元数目、训练次数和学习率组成的灰狼位置向量,构成初始灰狼种群;
(2.2)采用反向传播和梯度下降法,使用灰狼位置向量对应的超参数以及训练集对lstm模型进行训练,设定训练次数为100~200,达到设定的训练次数后训练结束;
(2.3)计算灰狼的适应度值,划分灰狼种群等级;
将训练集输入到步骤(2.2)中训练得到的lstm模型,计算灰狼个体的适应度值,公式如下:
式中,k为训练集中训练样本的数量,
选取适应度值最高的三个灰狼个体分别为α狼、β狼和δ狼,其余的个体为ω狼;
(2.4)判断种群迭代次数是否达到设定值,如果是,则结束;反之,则进入下一步;
(2.5)灰狼位置的更新,用迭代公式对每一个灰狼的位置进行更新,公式如下:
dα=|c′1·xα(t)-x(t)|;
dβ=|c′2·xβ(t)-x(t)|;
dδ=|c′3·xδ(t)-x(t)|;
x1=xα-a1·dα;
x2=xβ-a2·dβ;
x3=xδ-a3·dδ;
式中,x(t)为某个灰狼当前所在的位置,xα(t)、xβ(t)、xδ(t)分别为当前α狼、β狼、δ狼所在的位置,dα、dβ、dδ为某个灰狼与α狼、β狼、δ狼之间的距离,x1、x2、x3分别为灰狼沿α狼、β狼、δ狼方向上移动的矢量,x(t 1)为ω狼更新后的位置,a和c′为系数,由以下公式计算得到:
a=2ar1-a;
c′=2r2;
r1和r2均为[0,1]区间内的随机数,经过对r1三次随机取值,计算得到参数a1、a2和a3,经过对r2三次随机取值,计算得到参数c′1、c′2和c′3;a为收敛因子参数,由以下公式计算得到:
式中,t为当前迭代次数,tmax为设定的种群迭代次数,收敛因子a随着迭代次数的增加呈非线性变化,灰狼位置更新后返回到步骤(2.2)。
6.根据权利要求1所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,预处理包括缺失数据的处理操作,采用相邻数据取平均值的插补处理方法。
7.根据权利要求6所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,预处理还包括对数据的归一化处理操作,归一化处理的公式如下:
式中,x*为归一化处理后的数据,x为归一化处理前的数据,max为最大值,min为最小值。
8.根据权利要求1所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,训练及优化lstm模型后使用测试集检验模型预测效果。
9.根据权利要求8所述的一种基于igwo-lstm的短时交通流预测的导航提醒方法,其特征在于,使用测试集检验模型预测效果具体为:选取使输出误差最小的lstm模型,将测试集输入其中,得到预测值后,将预测值与真实值进行比较,以平均绝对百分比误差为衡量标准,计算预测误差百分比。
技术总结