一种交通流量预测方法及装置与流程

文档序号:12065067阅读:226来源:国知局
一种交通流量预测方法及装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种交通流量预测方法及装置。



背景技术:

随着智能交通系统的迅速发展,对交通流量进行实时准确的预测是交通规划和交通诱导的基础。短期交通流量预测具有突发性、不确定性和混沌度等非线性特征,是目前交通专家和学者研究的热点。

目前通常是基于神经网络和支持向量机SVM的非线性模型进行短期交通流量预测。如基于BP神经网络技术的交通流量预测模型以及包容性检验SVM向量机的交通流量预测模型等。

这些方法存在一定的缺点。其中,BP神经网络采用梯度下降法调整阈值和权值,算法易早熟,使得预测精度较低;向量机SVM预测结果的好坏与参数的选取密切相关,性能不稳定,泛化能力较弱。



技术实现要素:

本发明的目的是提供一种交通流量预测方法及装置,以提升预测交通流量时间序列的准确度和泛化能力。

为解决上述技术问题,本发明提供如下技术方案:

一种交通流量预测方法,包括:

获得当前时刻之前设定时间段内目标区域的交通流量时间序列;

对所述交通流量时间序列进行小波包分解,分解成多个子序列;

利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,获得多个预测值;

重构叠加各预测值,获得所述目标区域短期未来的交通流量值。

在本发明的一种具体实施方式中,所述对所述交通流量时间序列进行小波包分解,分解成多个子序列,包括:

根据以下公式对所述交通流量时间序列进行小波包分解,获得多个子序列:

其中,di为第I层的小波包分解频带系数,h0和g0均为小波包分解共轭滤波器的系数,l为位置指标的时间参数,k为尺度指标的频域参数。

在本发明的一种具体实施方式中,通过以下步骤基于飞蛾动态感知捕焰算法预先训练得到所述神经网络优化模型:

建立Elman神经网络,确定基本参数;

初始化包含多个个体的种群;

训练所述Elman神经网络,根据训练结果计算所述种群中每个个体的适应度值;

人工飞蛾进行光源动态感知捕焰,对所述种群的个体解码,寻优搜索开发,自适应调整相关的权值和阈值,并反馈给所述Elman神经网络;

重复执行所述训练所述Elman神经网络的步骤,直至所述种群的迭代次数大于设定第一阈值或者所述Elman神经网络的适应度函数的值小于设定第二阈值,获得所述神经网络优化模型。

在本发明的一种具体实施方式中,所述根据训练结果计算所述种群中每个个体的适应度值,包括:

根据以下公式计算所述种群中每个个体的适应度值:

其中,fobj为所述Elman神经网络的评价适应度函数,yk(w)和分别是所述Elman神经网络的期望输出值和实际输出值,m是输出层训练维数。

在本发明的一种具体实施方式中,所述人工飞蛾进行光源动态感知捕焰,包括:

人工飞蛾根据以下公式进行光源动态感知捕焰:

S=a1·S(Mi,Fα)+a2·S(Mi,Fβ)+a3·S(Mi,Fγ);

其中,S为人工飞蛾更新后的位置,a1、a2、a3为[0,1]上的随机数,Fα,Fβ和Fγ为全局前三最优的火焰,S(Mi,Fbest)=Fbest-A·Di为人工飞蛾Mi朝全局最优火焰Fbest直线运动更新的位置,人工飞蛾Mi到火焰Fbest的距离为Di=|C·Fbest-Mi|,C=2r2,A=2a·r1-a,a在区间[0,2]上线性递减,r1、r2为[0,1]上的随机数。

一种交通流量预测装置,包括:

交通流量时间序列获得模块,用于获得当前时刻之前设定时间段内目标区域的交通流量时间序列;

小波包分解模块,用于对所述交通流量时间序列进行小波包分解,分解成多个子序列;

预测值获得模块,用于利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,获得多个预测值;

交通流量值预测模块,用于重构叠加各预测值,获得所述目标区域短期未来的交通流量值。

在本发明的一种具体实施方式中,所述小波包分解模块,具体用于:

根据以下公式对所述交通流量时间序列进行小波包分解,获得多个子序列:

其中,di为第I层的小波包分解频带系数,h0和g0均为小波包分解共轭滤波器的系数,l为位置指标的时间参数,k为尺度指标的频域参数。

在本发明的一种具体实施方式中,还包括神经网络优化模型获得模块,用于通过以下步骤基于飞蛾动态感知捕焰算法预先训练得到所述神经网络优化模型:

建立Elman神经网络,确定基本参数;

初始化包含多个个体的种群;

训练所述Elman神经网络,根据训练结果计算所述种群中每个个体的适应度值;

人工飞蛾进行光源动态感知捕焰,对所述种群的个体解码,寻优搜索开发,自适应调整相关的权值和阈值,并反馈给所述Elman神经网络;

重复执行所述训练所述Elman神经网络的步骤,直至所述种群的迭代次数大于设定第一阈值或者所述Elman神经网络的适应度函数的值小于设定第二阈值,获得所述神经网络优化模型。

在本发明的一种具体实施方式中,所述神经网络优化模型获得模块,具体用于:

根据以下公式计算所述种群中每个个体的适应度值:

其中,fobj为所述Elman神经网络的评价适应度函数,yk(w)和分别是所述Elman神经网络的期望输出值和实际输出值,m是输出层训练维数。

在本发明的一种具体实施方式中,所述神经网络优化模型获得模块,具体用于:

人工飞蛾根据以下公式进行光源动态感知捕焰:

S=a1·S(Mi,Fα)+a2·S(Mi,Fβ)+a3·S(Mi,Fγ);

其中,S为人工飞蛾更新后的位置,a1、a2、a3为[0,1]上的随机数,Fα,Fβ和Fγ为全局前三最优的火焰,S(Mi,Fbest)=Fbest-A·Di为人工飞蛾Mi朝全局最优火焰Fbest直线运动更新的位置,人工飞蛾Mi到火焰Fbest的距离为Di=|C·Fbest-Mi|,C=2r2,A=2a·r1-a,a在区间[0,2]上线性递减,r1、r2为[0,1]上的随机数。

应用本发明实施例所提供的技术方案,获得当前时刻之前设定时间段内目标区域的交通流量时间序列后,对交通流量时间序列进行小波包分解,分解成多个子序列,利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,可以获得多个预测值,对各预测值进行重构叠加,可以获得目标区域短期未来的交通流量值,捕获到交通流量的变化规律,提升预测交通流量时间序列的准确度和泛化能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种交通流量预测方法的实施流程图;

图2为本发明实施例中小波分解和小波包分解的信号树三层分解对比示意图;

图3为本发明实施例中人工飞蛾光源动态感知捕焰的一种示意图;

图4为本发明实施例中神经网络优化模型训练的一种示意图;

图5为本发明实施例中交通流量预测过程的一种示意图;

图6为本发明实施例中一种交通流量预测装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种交通流量预测方法的实施流程图,该方法可以包括以下步骤:

S110:获得当前时刻之前设定时间段内目标区域的交通流量时间序列。

目标区域为待进行交通流量预测的区域。通过在目标区域安装图像采集设备可以对目标区域的交通情况进行监测。在监测过程中,可以实时获得目标区域的交通流量,从而容易获得当前时刻之前设定时间段内目标区域的交通流量时间序列。

当前时刻之前设定时间段,可以是紧邻当前时刻的一个时间段,还可以是当前时刻之前连续几天内的设定时间段。该时间段可以根据实际情况进行设定和调整,本发明实施例对此不做限制。

S120:对所述交通流量时间序列进行小波包分解,分解成多个子序列。

小波包分解(Wavelet Packet Decomposition,WPD)是在小波分解(Wavelet Decomposition,WD)只对信号低频部分解析的基础上,增加对信号高频部分解析的一种信号完整分解方法。

图2所示为交通流量大小的时间序列分别被小波分解和小波包分解的对比情况,分解层数为3。从图2中可知,在第i层分解中,小波包分解比小波分解多解析(2i-2)个频段的信号,能捕捉更多交通流量时间序列的信号细节,掌握其波动特性,相比于小波分解,更适用于复杂的非线性交通流量的时间序列分解。

在本发明的一种具体实施方式中,可以根据公式(1)对交通流量时间序列进行小波包分解,获得多个子序列:

其中,di为第I层的小波包分解频带系数,h0和g0均为小波包分解共轭滤波器的系数,l为位置指标的时间参数,k为尺度指标的频域参数。

S130:利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,获得多个预测值。

在本发明实施例中,可以基于飞蛾动态感知捕焰算法预先训练得到神经网络优化模型。利用该神经网络优化模型可以对各子序列进行预测,获得多个预测值。

在本发明的一种具体实施方式中,可以通过以下步骤基于飞蛾动态感知捕焰算法预先训练得到神经网络优化模型:

步骤一:建立Elman神经网络,确定基本参数;

步骤二:初始化包含多个个体的种群;

步骤三:训练所述Elman神经网络,根据训练结果计算种群中每个个体的适应度值;

步骤四:人工飞蛾进行光源动态感知捕焰,对所述种群的个体进行解码,寻优搜索开发,自适应调整相关的权值和阈值,反馈给所述Elman神经网络;

步骤五:重复执行步骤三的操作,直至种群的迭代次数大于设定第一阈值或者Elman神经网络的适应度函数的值小于设定第二阈值,获得神经网络优化模型。

为便于描述,将上述五个步骤结合起来进行说明。

在本发明实施例中,可以先建立Elman神经网络。

Elman神经网络是一种带反馈的BP网络,具有局部记忆单元、局部反馈连接的前向神经网络以及与多层前向网络相似的多层结构。与传统的BP神经网络相比,Elman神经网络具有更强的动态行为以及计算能力,适用于建立时间序列的预测模型。但是,Elman神经网络与BP神经网络同样采用动量梯度下降法调整权值和阈值,容易陷入局部最优,而且,当影响因素和学习样本增多时,神经网络的计算量和权值数将急剧增加,导致收敛速度较慢。

在本发明实施例中,在Elman神经网络的训练中加入飞蛾动态感知捕焰(Chaotic Moth-Flame Optimization Algorithm Based On Dynamic Perceived Of Light Source,CMFO)算法来优化Elman神经网络,通过CMFO算法使Elman神经网络的阈值和权值自适应调整,提高预测精度和速度。

CMFO算法是针对飞蛾捕焰优化(Moth-Flame Optimization,MFO)算法容易早熟且收敛速度慢的缺陷提出的,为人工飞蛾的捕焰行为引入光源动态感知机制,使人工飞蛾能够根据适应度权重因子动态地改变飞行模式来加快收敛速度。

在MFO算法中,人工飞蛾个体的寻优过程可以抽象为捕焰行为和弃焰行为两种行为。

其中,在捕焰行为中,人工飞蛾Mi基于自身趋光特性,感知火焰群中离自身最近且最优的火焰Fi,依循对数螺线朝火焰运动,捕获火焰运动轨迹如公式(2)所示:

S(Mi,Fi)=Di·ebt·cos(2πt)+Fi 公式(2)

其中S(Mi,Fi)表示人工飞蛾Mi围绕火焰Fi螺旋运动更新后的位置,Di=|Fi-Mi|是第i只人工飞蛾Mi到第i个火焰Fi的距离,b为塑造对数螺线轨迹的常数。t是[-1,1]区间上的随机数,定义了人工飞蛾距离火焰下一位置的远近程度,t=-1是最接近火焰的,t=1是离火焰最远的。

在迭代过程中,人工飞蛾会废弃无用火焰,使其数目自适应减少,最终收敛于同一个火焰中,加快后期收敛速度,火焰数目flame_no可用公式(3)表示:

其中,N为当前迭代次数,T为总迭代次数。

在MFO算法中只考虑了人工飞蛾仅受自身对应的近距离火焰发散光影响,围绕局部最优火焰做更新步长较小的螺旋曲线运动,忽视了人工飞蛾的趋光特性,没有向适应度值更优的远距离火焰靠拢,在其平行光线的吸引下,做更新步长较大的直线运动。

为了提高收敛速度,本发明实施例引入了光源适应度权重因子ω,使人工飞蛾能够根据ω动态感知适应度值更优的火焰,在其照射光线的招引下,自动切换捕焰模式,远离最优解时做搜索步长较大的平行光直线运动,接近最优解时做开发步长较小的发散光螺旋运动,这两种运动模式的有机结合加快了种群的收敛速度。

光源适应度权重因子ω如公式(4)所示:

其中,i是火焰Fi对应的索引下标,i越大对应的适应度值越优,flame_no为火焰数目,可以通过公式(3)获得。随着位置迭代更新,flame_no单调递减,ω单调递增,人工飞蛾先被远距离平行光吸引加快搜索,再被近距离发散光招引增强开发。

图3展示了人工飞蛾根据光源变化,动态感知捕焰的过程。当ω≤δ(δ为平行光线与发散光线间的临界值)时,自身围绕光源的适应度值较小,人工飞蛾趋向于感知远距离最优火焰的平行光,切换横向直线飞行运动模式,捕捉全局最优火焰,增大步长加快搜索,如公式(5)所示。

S(Mi,Fbest)=Fbest-A·Di 公式(5)

其中,S(Mi,Fbest)表示人工飞蛾Mi朝全局最优火焰Fbest直线运动更新的位置,人工飞蛾Mi到火焰Fbest的距离为Di=|C·Fbest-Mi|,C=2r2,A=2a·r1-a,a在区间[0,2]上线性递减,r1、r2为[0,1]上的随机数。

为避免人工飞蛾在直线运动中陷入局部最优,本发明实施例引入和声搜索(Harmony Search,HS)算法中的最优美和声机制,让人工飞蛾朝向全局前三最优的火焰Fα,Fβ和Fγ运动,以发掘潜在的最优火焰解。人工飞蛾更新后的位置S如公式(6)所示。其中,a1、a2、a3为[0,1]上的随机数。

S=a1·S(Mi,Fα)+a2·S(Mi,Fβ)+a3·S(Mi,Fγ) 公式(6)

当ω>δ时,自身围绕光源的适应度值较大,人工飞蛾趋向于感知近距离火焰的发散光,切换对数螺旋飞行运动模式来捕捉火焰,缩小搜索步长增强开发,如公式(2)所示。

图4所示为神经网络优化模型训练的一种示意图,建立Elman神经网络后,确定基本参数为:输入层向量为n维,隐含层和承接层的向量均为h维,输出层的向量为m维。初始化包含多个个体的种群。

个体编码Ii=1,...,N=[IW11...IWhnCW11...CWhhOW11...OWmhbH1...bHhbC1...bChbM1...bMm],其中,IWhn、OWmh和CWhh分别为输入层到隐含层、隐含层到输出层和承接层到隐含层的连接权值,bHh、bCh、bMm分别为隐含层、承接层和输出层对应的阈值。Elman神经网络获取训练样本集后开始训练,根据训练结果可以计算种群中每个个体的适应度值。人工飞蛾进行光源动态感知捕焰。具体的,人工飞蛾可以根据公式(6)进行光源动态感知捕焰。对种群的个体解码,寻优搜索开发,自适应调整相关的权值和阈值,并反馈给Elman神经网络。

在其训练过程中Elman神经网络向CMFO算法提供训练结果的均方误差MSE,CMFO算法向Elman神经网络反馈对应训练层的权值W和阈值B。Elman神经网络根据CMFO算法反馈的值自适应调整训练,其评价适应度函数如公式(7)所示,yk(w)和分别是Elman神经网络的期望输出值和实际输出值,m是输出层训练维数。

根据该公式(7)可以计算种群中每个个体的适应度值。

重复执行训练Elman神经网络的步骤,直到达到预设的终止条件。预设的终止条件为:种群的迭代次数大于设定第一阈值或者Elman神经网络的适应度函数的值小于设定第二阈值。第一阈值和第二阈值可以根据实际情况进行设定和调整,比如设定第二阈值为0.01。

神经网络优化模型训练完成后,可以利用该神经网络优化模型对各子序列进行预测处理,获得多个预测值。

S140:重构叠加各预测值,获得目标区域短期未来的交通流量值。

对步骤S130得到的多个预测值进行重构叠加,可以获得目标区域短期未来的交通流量值。

具体的,可以根据公式(8)对多个预测值进行小波包重构:

其中,fi是第I层的小波包重构频带系数,p1和q1均为小波包重构共轭滤波器的系数,l为位置指标的时间参数,k为尺度指标的频域参数。

如图5所示,为交通流量预测过程的一种示意图,交通流量时间序列通过小波包分解后,得到子序列AAA3、子序列AAD3、子序列DDD3等,这些子序列输入到神经网络优化模型中,可以得到相应的预测序列AAA3、预测序列AAD3、预测序列DDD3等的预测值,对各预测值进行叠加重构,可以获得预测结果,即短期未来的交通流量值。

本发明实施例结合小波包分解、飞蛾动态感知捕焰算法和Elman神经网络构建非线性模型,可以应对现今混沌非线性且复杂的交通流量时间序列的处理,实现简单,运算高效。且飞蛾动态感知捕焰算法具有较好的收敛速度和求解精度,用飞蛾动态感知捕焰算法来优化Elman神经网络,解决了传统神经网络采用梯度下降法来调整阈值和权值,导致预测模型收敛速度慢且易陷入局部最优解的问题,同时可以避免因采用的优化算法存在缺陷而影响预测性能的情况发生。

应用本发明实施例所提供的方法,获得当前时刻之前设定时间段内目标区域的交通流量时间序列后,对交通流量时间序列进行小波包分解,分解成多个子序列,利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,可以获得多个预测值,对各预测值进行重构叠加,可以获得目标区域短期未来的交通流量值,捕获到交通流量的变化规律,提升预测交通流量时间序列的准确度和泛化能力。

相应于上面的方法实施例,本发明实施例还提供了一种交通流量预测装置,下文描述的一种交通流量预测装置与上文描述的一种交通流量预测方法可相互对应参照。

参见图6所示,该装置包括以下模块:

交通流量时间序列获得模块210,用于获得当前时刻之前设定时间段内目标区域的交通流量时间序列;

小波包分解模块220,用于对所述交通流量时间序列进行小波包分解,分解成多个子序列;

预测值获得模块230,用于利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,获得多个预测值;

交通流量值预测模块240,用于重构叠加各预测值,获得所述目标区域短期未来的交通流量值。

应用本发明实施例所提供的装置,获得当前时刻之前设定时间段内目标区域的交通流量时间序列后,对交通流量时间序列进行小波包分解,分解成多个子序列,利用基于飞蛾动态感知捕焰算法预先训练得到的神经网络优化模型对各子序列进行预测,可以获得多个预测值,对各预测值进行重构叠加,可以获得目标区域短期未来的交通流量值,捕获到交通流量的变化规律,提升预测交通流量时间序列的准确度和泛化能力。

在本发明的一种具体实施方式中,所述小波包分解模块220,具体用于:

根据以下公式对所述交通流量时间序列进行小波包分解,获得多个子序列:

其中,di为第I层的小波包分解频带系数,h0和g0均为小波包分解共轭滤波器的系数,l为位置指标的时间参数,k为尺度指标的频域参数。

在本发明的一种具体实施方式中,还包括神经网络优化模型获得模块,用于通过以下步骤基于飞蛾动态感知捕焰算法预先训练得到所述神经网络优化模型:

建立Elman神经网络,确定基本参数;

初始化包含多个个体的种群;

训练所述Elman神经网络,根据训练结果计算所述种群中每个个体的适应度值;

人工飞蛾进行光源动态感知捕焰,对所述种群的个体解码,寻优搜索开发,自适应调整相关的权值和阈值,并反馈给所述Elman神经网络;

重复执行所述训练所述Elman神经网络的步骤,直至所述种群的迭代次数大于设定第一阈值或者所述Elman神经网络的适应度函数的值小于设定第二阈值,获得所述神经网络优化模型。

在本发明的一种具体实施方式中,所述神经网络优化模型获得模块,具体用于:

根据以下公式计算所述种群中每个个体的适应度值:

其中,fobj为所述Elman神经网络的评价适应度函数,yk(w)和分别是所述Elman神经网络的期望输出值和实际输出值,m是输出层训练维数。

在本发明的一种具体实施方式中,所述神经网络优化模型获得模块,具体用于:

人工飞蛾根据以下公式进行光源动态感知捕焰:

S=a1·S(Mi,Fα)+a2·S(Mi,Fβ)+a3·S(Mi,Fγ);

其中,S为人工飞蛾更新后的位置,a1、a2、a3为[0,1]上的随机数,Fα,Fβ和Fγ为全局前三最优的火焰,S(Mi,Fbest)=Fbest-A·Di为人工飞蛾Mi朝全局最优火焰Fbest直线运动更新的位置,人工飞蛾Mi到火焰Fbest的距离为Di=|C·Fbest-Mi|,C=2r2,A=2a·r1-a,a在区间[0,2]上线性递减,r1、r2为[0,1]上的随机数。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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