一种基于萤火虫算法与RBF神经网络的交通流预测方法与流程

文档序号:12787526阅读:264来源:国知局
一种基于萤火虫算法与RBF神经网络的交通流预测方法与流程
本发明涉及一种交通流预测方法,尤其涉及一种基于萤火虫算法与RBF神经网络的交通流预测方法。
背景技术
:为了缓解城市交通拥堵、减少交通事故的发生,需要对现代的道路交通进行科学的规划、管理、诱导以及控制,在这种情况下,智能交通系统(IntelligentTransportSystem,ITS)便应运而生。在智能交通系统中,交通信息的预测在交通规划、交通诱导等方面都起着关键的作用,其中交通流预测又是交通信息预测的重要组成部分。较早期的交通流预测方法有:自回归方法(AR)、滑动平均模型(MA)、自回归滑动平均模型(ARMA)和历史平均模型(HA)等。相对而言,这些方法模型简单,但是只适用于简单的线性系统,无法反映出交通流的不确定性和非线性,所以预测的准确度不高。随着研究的深入与计算机学科的发展,人们又提出一系列精度更高且比较复杂的预测模型。其中有自回归综合移动平均模型(ARIMA)、Volterra滤波器(SunShiliang,ZhangChangshui,YuGuoqiang.ABayesiannetworkapproachtotrafficflowforecasting[J].IEEETransactionsonIntelligentTransportationSystems,2006,7(1):124-132.)、支持向量机(supportvectormachine,SVM)(TangHaiyan,QiWeigui,DingBao.PredictionofelevatortrafficflowbasedonSVMandphasespacereconstruction[J].JournalofHarbinInstituteofTechnology:NewSeries,2011,18(3):111-114.)、非参数回归模型以及各种神经网络模型。神经网络由于其自身特有的自学习和自适应的特点,在交通流预测领域中变得极为流行与重要。在多种神经网络预测模型中BP(BackPropagation)网络与径向基函数神经网络(RBF)是应用最广泛的两种神经网络模型。然而BP神经网络存在着易陷于局部极小值、学习过程收敛速度慢、隐层深度和隐层神经元个数难以确定等缺点,RBF神经网络已经逐步的在各个领域取代了BP神经网络的位置。但在实际应用中,RBF神经网络中隐层神经元的参数确定是其难点。许多专家对此提出了改进算法,如DavisGary,Nihan发现RBF神经网络的特点适用于交通流预测,并将C均值聚类(FCM)方法与RBF神经网络相结合,解决了一般动态网络普遍具有的时滞现象,提高了RBF神经网络的泛化能力(DavisGary,Nihan.NonparametericRegressionandShort-termFreewayTrafficForecasting[J].JournalofTransportationEngineering.1991,117(2):178-188.)。Horng将萤火虫算法用于RBF神经网络的训练,实现了RBF中心和隐层神经元与输出层神经元连接权值的同步训练,并应用于疾病的诊断与分类,提高了RBF神经网络的训练速度。(HorngH,LeeX,etal.Fireflymetaheuristicalgorithmfortrainingtheradialbasisfunctionnetworkfordataclassificationanddiseasediagnosis[C]TheoryandNewApplicationsofSwarmIntelligence,2012,4(7):115-132.)。冯明发,卢锦川提出了基于粒子群(PSO)算法优化的RBF神经网络的交通流预测模型,并对该模型进行实验仿真,结果表明相比于RBF神经网络预测模型,PSO算法优化的RBF神经网络预测模型具有较快的收敛速度以及较高的预测精度(冯明发,卢锦川.粒子群优化RBF神经网络的短时交通流量预测[J].计算机仿真,2010(12):323-326.)。以上几种模型虽然在交通流预测和神经网络的训练中取得了一些进展,但其方法本身还有不完善之处,具体表现为:例如遗传算法的早熟现象,粒子群算法迭代后期收敛速度较慢等。技术实现要素:为了解决现有的交通流预测方法的不足,本发明提供一种基于改进萤火虫算法的RBF神经网络的交通流预测方法,具体方案如下:一种基于萤火虫算法与RBF神经网络的交通流预测方法,获取交通流待预测数据作为RBF神经网络的输入数据,得到输出数据,将该输出数据作为预测结果;所述的RBF神经网络输入层神经元个数为m,输出层神经元个数为n,隐层神经元个数为h,隐层神经元的中心参数为c,隐层神经元的宽度参数为σ,隐层神经元与输出层神经元之间的权值为w;所述的输入层神经元个数m,输出层神经元个数n通过初始化确定其中m取为3-6之间任意整数,n=1;所述的隐层神经元个数h、隐层神经元的中心参数c、隐层神经元的宽度参数σ、隐层神经元与输出层神经元之间的权值w均通过提取预测需要的最优个体的参数获得,所述的预测需要的最优个体通过萤火虫算法优化RBF神经网络确定,具体包括:步骤1:获取待预测的高速公路的交通流数据作为样本数据,对样本数据作归一化处理,将处理后的样本数据作为初始的RBF神经网络的训练数据,根据划分规则在训练数据中划分多组输入数据和期望输出;步骤2:根据公式:设得到的10个隐层神经元个数的取值范围为h1,h2…hi…h10,其中μi为1~10的任意整数,其中1≤i≤10;步骤3:将编码规则中的hi替换为h1后,用替换后的编码规则对萤火虫种群D中的萤火虫个体进行编码,得到由萤火虫种群D中所有个体构成矩阵E;调用rand函数对矩阵E中所有元素进行随机赋值得到赋值后的萤火虫种群F;步骤4:根据RBF神经网络的确定方法得到萤火虫种群F中所有萤火虫个体对应的RBF神经网络分别为R1,R2…Rs,其中每一个萤火虫个体对应一个RBF神经网络,其中S为种群F中的萤火虫个体数,S的取值范围为20-25;根据萤火虫个体亮度值计算方法计算萤火虫种群F中每个萤火虫个体的亮度值;所述的RBF神经网络的确定方法为:每个萤火虫个体在矩阵中对应一个行列式,根据编码规则得到每个萤火虫个体对应的行列式中的RBF神经网络的中心参数、宽度参数以及隐层神经元与输出层神经元之间的权值所对应的数值;步骤5:初始化萤火虫算法的光强吸收系数γ,光源处最大亮度β0,随机步长因子α,对矩阵F进行萤火虫算法优化,得到萤火虫种群F中的最优萤火虫个体;步骤6:依次将编码规则中的hi替换为h2,h3,…h10,重复执行步骤3、4、5,得到10个最优个体及每个最优个体的亮度值,比较这些最优个体的亮度值,将亮度值最高的最优个体作为预测需要的最优个体;步骤7:根据步骤6得到的预测需要的最优个体,提取该最优个体中RBF神经网络的隐层神经元个数h;隐层神经元的中心参数c,隐层神经元的宽度参数σ,隐层神经元与输出层神经元之间的权值w。所述的萤火虫种群D包括的萤火虫个体为D1,D2…Ds,其中下标S表示萤火虫种群D中萤火虫的个体数,S的取值范围为20-25。所述的编码规则为:将萤火虫种群D中的任意一个萤火虫个体表示为包含式(1)中所有元素的集合:其中m为输入层神经元个数,hi为隐层神经元个数,ci1,ci2,…,cim为第i个隐层神经元的m维中心参数,σi为第i个隐层神经元的宽度参数,为隐层神经元与输出层神经元之间的权值;根据式(1)中的一个萤火虫个体包含的所有元素得到该萤火虫个体对应的行列式,形式如式(2)。所述萤火虫种群D中所有个体构成矩阵E=|D1D2…DS|,其中D1,D2…DS分别表示萤火虫种群中每个个体对应的行列式;所述的萤火虫种群F=|D1′D2′…DS′|,其中D1′D2′…DS′分别表示每个萤火虫赋值后对应的行列式。所述的萤火虫个体亮度值计算方法为:对于一个RBF神经网络R,将步骤1中的每一组的输入数据输入到该神经网络中,得到RBF神经网络的一个实际输出,该实际输出与步骤1中划分的该组中的期望输出组成一组,得到多组RBF神经网络的期望输出和实际输出,根据公式(3)得到每个神经网络对应的目标函数Re,式(3)中yk为一组RBF神经网络中的期望输出,为该组RBF神经网络的实际输出,N为RBF神经网络的期望输出和实际输出的组数,其中N取值为200-600之间任意整数;适应度函数fe为目标函数的倒数,即得到矩阵F中每个萤火虫个体对应的适应度函数值,将每个萤火虫个体对应的适应度函数值作为该萤火虫个体的亮度值。所述的步骤5具体包括:5.1:用每一个萤火虫个体在矩阵中对应的行列式表示该萤火虫在该矩阵中的位置,对矩阵F进行萤火虫算法优化,得到矩阵F2,计算并记录矩阵F2亮度最高的萤火虫个体的亮度值;将得到矩阵F2作为新的矩阵F;5.2:重复执行步骤5.1;直到当前得到的亮度最高的萤火虫个体的亮度值与前次循环得到的亮度值最高的萤火虫的亮度值相同,将当前的亮度值最高的萤火虫个体作为最优萤火虫个体。7、如权利要求6所述的交通流预测方法,其特征在于,所述的步骤5.1具体包括:5.1.1:对于每一个萤火虫个体分别计算该萤火虫个体与矩阵F中其他萤火虫个体的相对亮度,找到与该萤火虫个体相对亮度最高的萤火虫个体,该萤火虫向与其相对亮度最高的萤火虫移动,计算该萤火虫个体移动后的位置,得到矩阵F中所有萤火虫个体移动后的位置对应的矩阵F1;其中,萤火虫个体j被萤火虫个体i吸引而向萤火虫i移动后的位置表示为:其中,式中α*ε为随机扰动项,α为步长因子,是[0,1]上的常数;εj为[0,1]上服从高斯分布的随机因子,Dj为矩阵F中萤火虫个体j移动前的位置,为矩阵F中萤火虫个体j移动后的位置,Di为矩阵F中萤火虫个体i的位置,β(rij)表示萤火虫个体i和萤火虫个体j之间的相对吸引度;5.1.2:根据步骤5.1.1得到的矩阵F1,根据步骤4中所述的RBF神经网络的确定方法得到矩阵F1中所有萤火虫个体确定的神经网络,根据萤火虫个体亮度值计算方法得到矩阵F1中每个萤火虫个体的亮度值,找到亮度值最高的萤火虫个体并记录其亮度值;5.1.3:对步骤5.1.2中得到的亮度值最高的萤火虫个体进行随机扰动,得到矩阵F2,计算并记录F2中亮度最高的萤火虫个体的亮度值;所述的增加随机扰动为,通过公式(5)计算该亮度最高的萤火虫个体进行随机扰动后在矩阵F1中的位置,x*=x+α*ε(5)其中x*为增加随机扰动项后该亮度最高的萤火虫在矩阵F1的位置,x为增加随机扰动项前该亮度最高的萤火虫的位置,α*ε为随机扰动项,α为步长因子,是[0,1]上的常数;ε为[0,1]上服从高斯分布的随机因子。所述的划分规则为:得到的训练数据为[a1,a2,a3,a4,a5,a6…a(n-1),an],将a(a(n-4),a(n-3),a(n-2),a(n-1)作为输入数据,an为输出数据,其中5≤n≤604a(n-4),a(n-3),a(n-2),a(n-1)与an划分为一组输入数据和期望输出。1、本方法在进行萤火虫个体位置计算时,在移动距离函数中加入随机扰动项,提高萤火虫的多样性,提高算法的全局搜索能力,避免算法的过早收敛。2、本发明的方法充分考虑了RBF神经网络中的隐层神经元个数问题,并采用了萤火虫算法进行优化,具有更精确的预测结果、更快的训练效率以及更好的泛化能力的优点,本发明的方法适用于交通流预测,在智能交通系统中有重要应用价值。附图说明图1是本发明方法的流程图;图2为采集的工作日样本数据时萤火虫算法不同隐层神经元个数对应的适应度值;图3为采集的休息日样本数据时萤火虫算法不同隐层神经元个数对应的适应度值。具体实施方式本发明第一次获取的待预测的高速公路的交通流数据作为样本数据,该数据经过归一化处理后,用来作为优化初始的RBF神经网络用,在经过萤火虫算法优化后得到的RBF神经网络后,获取交通流待预测数据作为RBF神经网络的输入数据,此时得到的输出数据作为预测的结果。本发明中每个萤火虫种群构成一个矩阵,在矩阵中每个萤火虫个体对应一个行列式,用每一个萤火虫个体在矩阵中对应的行列式表示该萤火虫在该矩阵中的位置,在对矩阵进行萤火虫算法优化时,每个萤火虫的位置发生变化,也就是每个萤火虫对应的行列式中的元素的值发生变化。本发明中RBF神经网络的确定方法为:每个萤火虫个体在矩阵中对应一个行列式,根据编码规则得到每个萤火虫个体对应的行列式中的RBF神经网络的中心参数、宽度参数以及隐层神经元与输出层神经元之间的权值所对应的数值,根据这些数值和初始化确定的m和n的值确定一个RBF神经网络;。本发明中每个萤火虫个体的亮度值计算方法为:对于一个RBF神经网络R,将步骤1中的每一组的输入数据输入到该神经网络中,得到RBF神经网络的一个实际输出,该实际输出与步骤1中划分的该组中的期望输出组成一组,得到多组RBF神经网络的期望输出和实际输出,根据公式(3)得到每个神经网络对应的目标函数Re,其中yk为一组RBF神经网络中的期望输出,为该组RBF神经网络的实际输出,N为RBF神经网络的期望输出和实际输出的组数;适应度函数fe为目标函数的倒数,即得到矩阵F中每个萤火虫个体对应的适应度函数值,将每个萤火虫个体对应的适应度函数值作为该萤火虫个体的亮度值。实施例1本实施例中,在训练数据中,输入数据和期望输出数据的划分规则为:得到的训练数据为[a1,a2,a3,a4,a5,a6…a(n-1),an],将训练数据中前四个数据作为输入数据,则第五个数据作为期望输出,这四个输入数据和一个期望输出划分为一组输入数据和期望输出;即a1,a2,a3,a4为输入数据,将a5作为期望输出数据,将a2,a3,a4,a5作为输入数据,则a6作为期望输出数据,将a(n-4),a(n-3),a(n-2),a(n-1)作为输入数据,an为输出数据,a(n-4),a(n-3),a(n-2),a(n-1)与an划分为一组输入数据和期望输出;实施例2在实施例1的基础上,萤火虫i相对于萤火虫j的相对亮度计算公式为:其中rij为矩阵F中萤火虫i和萤火虫j之间的欧式距离,I0为萤火虫个体j的自身亮度,γ为光强吸收系数;1≤i≤s,1≤j≤s;s表示矩阵F中萤火虫的个体数;两个萤火虫之间相对吸引度计算公式为:其中,β(rij)表示两个萤火虫之间的相对吸引度,其中rij为两个萤火虫之间的欧式距离,β0为两个萤火虫之间的最大吸引力,β0=1,m取2;γ为光强吸收系数。实施例3:本实施例数据来源于美国加利福尼亚州圣华金县斯托克顿的一条高速公路上的车流量,该高速公路有三个观测点,为每五分钟的车流量。第一列为具体的采集数据的时间,每隔五分钟统计一次。第二列为第一个观测点的车流量,第三列为第二个观测点的车流量,第四列为第三个观测点的车流量,最后一列为三个观测点的车流量总和。由于预测方法要利用发展状况类似的事物对预测对象进行预测,所以本文将工作日与休息日的车流量区分做训练与预测。选取样本中2011年4月份一个月的数据作为实验用数据。选取前三个星期的数据作为训练数据,最后一个星期的数据作为待预测数据。一般短时交通流预测不宜超过15min,但是时间间隔越短,交通流的不确定性以及非线性越强,不利于交通流的预测。所以本文选择15min作为时间间隔,预测时间窗口为一个小时,即利用前1个小时的车流量也就是前4个15min的时间间隔车流量预测下一个15min时间间隔的车流量。所以一天24个小时可以划分为96个时间间隔,92个时间窗口。本实施例中将训练数据分成一组四个,共采集552组数据,如下表1为本实施例采集的训练数据,表一在训练数据中划分多组输出数据和期望输出,如表二为本实施例中划分的期望输出数据。表二将采集的训练数据划分好多组输入数据和期望输出数据后,将数据进行归一化处理,样本数据全部归一化到区间[0,1]中;初始化随机步长α为0.2,光源处最大亮度为1,光强吸收系数γ为0.5。本发明选取初始种群个数为25,引入RBF神经网络,对于萤火虫算法中的萤火虫种群,用神经网络中的隐层神经元个数参数、中心参数和宽度参数对种群中每个个体进行编码;本发明中初始化输入层神经元个数m为4,输出层神经元个数n为1,根据经公式:其中,其中h为隐层神经元个数,m为输入层神经元个数,n为输出层神经元个数,μ为1~10的随机数。根据经验公式得到隐层神经元个数为4-14之间最佳,本文将对4-14的范围内的每个隐层神经元个数值,依次萤火虫算法优化处理,找到最优的隐层神经元个数值,最优隐层神经元个数值对应的找到的最优个体为预测需要的最优个体。如图2、图3分别为工作日和休息日数据,在隐层神经元个数范围4-14之间,对萤火虫算法尽心迭代,直到找到最优萤火虫个体时,算法收敛时的迭代次数和最优个体适应度值,由图可知,当实验隐层神经元个数值为13时,算法收敛时最优萤火虫个体的适应度值最大,即将13作为最优隐层神经元个数,找到的萤火虫个体为预测需要的最优个体。根据预测需要的最优个体,得到对应的RBF神经网络的中心参数和宽度参数和隐层神经元到输出层神经元的权值,从而得到RBF神经网络。本实施例得到待预测需要的最优个体携带的参数为表三中所示:表三15.16887.574316.584313.74851.987411.962312.89895.225810.03613.85236.99994.17418.71927.58384.56727.475818.89857.67603.21897.828812.44417.999116.028311.0426本实施例获取一组待预测的交通流作为待预测数据如表4,在该待预测数据中划分出期望输出如表五为部分数据:表4表五将表4中的待预测数据,输入到训练得到的最优萤火虫个体对应的训练好的神经网络中,得到实际输出数据,将该实际输出数据与表五中对应的期望输出数据做差比较,结果如表6,表6由表6可知,用本发明提供的基于萤火虫算法训练的RBF神经网络来预测交通流数据,得到的实际输出与期望输出误差很小,表明本发明提供的交通流预测方法预测结果更加准确。结果分析:本发明的结果,从2个方面对FA算法进行评估,第一个方面是算法的效率,用算法中的迭代次数来表示收敛速度,迭代次数越少,即收敛速度越快,通过比较三种算法达到收敛时的迭代次数,评估算法的效率。当达到收敛时,迭代次数越少,说明算法的效率越高。第二个方面是算法的泛化能力,即利用训练好的神经网络,对非测试数据进行预测,比较预测数据与实际数据的拟合程度。预测曲线与实际曲线的拟合程度越高,说明算法的泛化能力越好。针对工作日与休息日的三种算法的适应度值与迭代次数如表1所示:从表1中对于工作日FA算法(萤火虫算法)的迭代次数最小并且适应度值最大,相比于遗传算法迭代次数减少了69%,并且适应度值提高了24.9%;相比于粒子群算法迭代次数减少了61.1%,并且适应度值提高了12.1%。对于休息日FA算法的适应度值最大,迭代次数较小,相比于遗传算法虽然迭代次数多了25.5%,但是适应度值相应提高了13.8%,以较少的迭代次数增加提高了最优解得精确性。相比于粒子群算法,迭代次数减少了5.3%,适应度值提高了6.1%。表1所以从整体性能看,FA(萤火虫)算法收敛速度较快,搜索的最优解更为精确。本文根据第二种指标来描述预测结果的好坏,即平均绝对离差(MAD),平均绝对百分比误差(MAPE),均方根偏差(RMSD),结果如表二所示:表二从上表中的结果可以看出,对于工作日的预测,FA算法的MAD值为49.93554,MAPE值为0.10486,RMSE值为69.56822都要小于遗传算法与粒子群算法。相比于遗传算法,MAD减少了16.3%,MAPE减少了52.2%,RMSE减少了10.7%;相比于粒子群算法,MAD减少了5%,MAPE减少了2.2%,RMSE减少了6.6%。对于休息日的预测,FA算法的MAD值为32.6338,MAPE值为0.09345,RMSE的值为42.0308都要小于遗传算法与粒子群算法。相比于遗传算法,MAD减少了11.8%,MAPE减少了10.7%,RMSE减少了11.8%;相比于粒子群算法,MAD减少了2.6%,MAPE减少了10.7%,RMSE减少了3.1%。由以上可知,FA算法优化的RBF神经网络的预测结果最为接近真实结果,误差最小,所以FA算法优化的RBF神经网络的泛化能力要强于遗传算法和粒子群算法。所以FA算法优化的RBF神经网络的训练效率、预测准确性、泛化能力都要高于遗传算法和粒子群算法优化的RBF神经网络预测模型。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1