基于蝙蝠算法优化支持向量机预测公交车到站时间的方法技术

技术编号:12695254 阅读:90 留言:0更新日期:2016-01-13 13:40
一种基于蝙蝠算法优化支持向量机预测公交车到站时间的方法:选择影响公交车运行因素的数据作为SVM的输入变量;对影响公交车运行因素的数据进行归一化处理;选择核函数得到SVM参数,选择径向基核作为核函数;构造蝙蝠算法寻找最优支持向量机参数c和g的最优参数。将得到的归一化处理后的数据划分为三个子集:训练样本集、检验样本集和测试样本集,并输入数据集,生成预测值;对预测值进行误差分析,如果误差小于设定值,所得预测值为预测结果,结束。本发明专利技术采用的蝙蝠算法具有结构简单、参数少、鲁棒性强、易于理解和易于编程等特点,正因为如此,我们将其与SVM结合在一起,优化参数的同时保证了预测的精准性。

【技术实现步骤摘要】

本专利技术涉及一种预测公交车到站时间的方法。特别是涉及一种基于蝙蝠算法优化 支持向量机预测公交车到站时间的方法。
技术介绍
公共交通系统的运行,旨在保证人们的日常出行,在此过程中,为乘客提供可靠、 舒适的服务是非常关键的。服务的准时性及稳定性是解决公交运营调度问题的核心内容, 其不仅适用于正常运营的情况下,即使当正常运营受到干扰时,运营者也可以根据实时情 况采取适当的措施(比如,增设或减少公交车在该线路的数量)来调整运行时刻表和发车 间隔,从而更有效地进行运营管理。 公交车到站时间预测技术,可以提高公交车行程时间预测精度,而提高公交车准 时性的同时,就可以减少乘客等待时间,从而提高公交吸引力,这对于促进智能运输系统 (ITS,IntelligentTransportationSystem)在交通运输领域的应用具有重要意义。 近年来,出现了一种新的机器学习方法 支持向量机(SVM,SupportVector Machine),它具有很强的学习能力和泛化能力,其作为新兴技术已在很多领域得到应用,并 取得了很多突破。SVM预测的关键在于参数的选定,好的参数会使预测变得更加准确。 智能算法如遗传算法、神经网络算法虽可能找到最优解,但在运行时间还存 在不足,且易陷入局部最优。所以我们采用一种新的智能算法一蝙蝠算法(BA,Bat Algorithm)。由于蝙蝠算法具有相互协助、稳定性、可扩充性、简单性等优点,所以也逐渐成 为计算智能领域的研究热点,很多学者致力于蝙蝠算法的应用,且已被成功应用到许多领 域。主要应用在约束优化,多目标优化和工程问题等领域。【
技术实现思路
】 本专利技术所要解决的技术问题是,提供一种准确率更高,泛化能力更强的基于蝙蝠 算法优化支持向量机预测公交车到站时间的方法。 本专利技术所采用的技术方案是:一种基于蝙蝠算法优化支持向量机预测公交车到站 时间的方法,包括如下步骤: 1)选择影响公交车运行因素的数据作为SVM的输入变量; 2)对影响公交车运行因素的数据进行归一化处理; 3)选择核函数得到SVM参数,选择径向基核作为核函数; 径向基核函数对应的支持向量机参数有c和g,其中c是惩罚系数,即对误差的宽 容度,g是选择径向基函数作为核函数后,所述核函数自带的一个参数,支持向量机参数c的取值范围在1~1000,支持向量机参数g的取值范围在2 5, 2 4···,24, 25。 4)构造蝙蝠算法寻找最优支持向量机参数c和g的最优参数。 5)将步骤2)得到的归一化处理后的数据划分为三个子集:训练样本集、检验样本 集和测试样本集,并输入数据集,生成预测值; 6)对预测值进行误差分析,具体是将预测值代入如下公式: 如果MSE大于0. 01则返回步骤4),否则,步骤5)所得预测值为预测结果,结束。 步骤1)所述的因素包括:天气、时间段和路段、下一路段最新运行时间以及当前 路段运行时间。 步骤2)所述的归一化处理包括首先设定:晴天为1,雨天为0 ;高峰期为1,非高峰 期为〇 ;路段编号为1-N,归一化后的数据为各自编号与最大编号N的比值,归一化的路段 数 值为1/N- 1 ;下一路段最新运行时间和当前路段运行时间采用了如下式归一化 处理: 其中p是欲归一化的样本数据,匕是归一化后的值,?_和P_是样本数据中的最 大和最小值。即把样本数据转化为〇~1之间的数据。 步骤4)所述的寻找最优支持向量机参数c和g的最优参数包括: (1)在支持向量机参数c的取值范围和支持向量机参数g的取值范围 中分别随机产生一组支持向量机参数c和g,用随机产生的参数值进行编 码,进而构造初始群体; (2)计算个体适应度值,更新个体最优值和全局最优值; (3)进行条件判断,判断个体适应度值是否达到了设定的预测精度,设定预测精度 为0.001,当个体适应度值小于预测精度,则进入步骤(4),否则返回步骤(2); (4)更新个体位置,并进行边界处理;(5)重复步骤(2),使初始确定的一组支持向量机参数不断进化,如果在当前迭代 中第i只蝙蝠的适应度f(xld)优于全局最优位置xtest的适应度f(Xtest),就用第i只蝙蝠的 新位置Xid替换当前位置Xtest,否则Xfest不用更新,直到满足设定的最大迭代次数为止; (6)得到最优支持向量机参数c和g。 步骤(1)中,当t= 0时,对所有蝙蝠个体进行随机初始化,取值约束在设置的范 围内使种群中各个蝙蝠具有位置向量xld,其中ie,m是蝙蝠个数,de,D是 粒子的维数,初始化脉冲的响度A。和脉冲发射速率ri,还有最大频率和最小频率f 具体来说,假设在D维空间中进行搜索,由m个蝙蝠构成一个蝙蝠种群,则第i只 蝙蝠的当前位置表示为向量Xi=(Xxi;!,一XiD),速度记为向量Vi=(vvi2,…,viD),目 前整个蝙蝠种群搜索到的全局最优位置为xbf3St=(XDx2,…,XD)其中i= 1,2, ···,ηι。步骤(2)所述的计算个体适应度值,通常衡量预测值与实测值差别的变量采用平 均相对变动值,定义为: 其中:Ν-一用于预测数据的组数; x(i)一一影响公交车运行因素的数据归一化后用于预测数据值; m一一影响公交车运行因素的数据归一化后用于预测数据平均值; λ-(/)一一影响公交车运行因素的数据归一化后计算得到的预测值。 显然,平均相对变动值ARV越小,也表明预测效果越好,ARV= 0表示达到了理想 预测效果,当ARV= 1时,表明模型仅达到平均值的预测效果。由于ARV反映了网络的泛化 能力,所以定义适应度函数为: 步骤(4)所述的更新个体位置,并进行边界处理,具体方法如下: 计算全局最优位置xtest为种群中最优粒子的位置,结合以下公式,更新粒子i的位 置xld和速度Vld并检查位置Xld是否越界, fx=(fnax-fnin)β (4) + (5) (6) 其中t为当前的迭代次数,β是在0, 1之间均匀分布的随机变量, Xnew=Xld+εA1 (7) εe是随机的数值,At是指t次迭代后所有蝙蝠求得的平均响度; 判断产生的随机数ε是否大于巧,如果是,则由公式f二匕"1 + (x,h- 在第 i只蝙蝠的历史最优位置附近产生一个新解替代当前解xld; 如果第i只蝙蝠的新的适应度f(x_)优于第i只蝙蝠当前位置xld的适应度 f(Xid),就用粒子当前位置替换Xid,否则Xid不用更新。 步骤5)中,测试样本占10%数据,检验样本占20%数据,其余为训练样本。 本专利技术的,具有以下优 点:1、本专利技术米用一种新型的智能优化算法 蝙蝠算法。蝙蝠算法是受蝙蝠回声定位这 一行为的启发而提出的一种新型的搜索算法,该算法已成当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种基于蝙蝠算法优化支持向量机预测公交车到站时间的方法,其特征在于,包括如下步骤:1)选择影响公交车运行因素的数据作为SVM的输入变量;2)对影响公交车运行因素的数据进行归一化处理;3)选择核函数得到SVM参数,选择径向基核作为核函数;径向基核函数对应的支持向量机参数有c和g,其中c是惩罚系数,即对误差的宽容度,g是选择径向基函数作为核函数后,所述核函数自带的一个参数,支持向量机参数c的取值范围在1~1000,支持向量机参数g的取值范围在2‑5,2‑4…,24,25。4)构造蝙蝠算法寻找最优支持向量机参数c和g的最优参数。5)将步骤2)得到的归一化处理后的数据划分为三个子集:训练样本集、检验样本集和测试样本集,并输入数据集,生成预测值;6)对预测值进行误差分析,具体是将预测值代入如下公式:MSE=1NΣi=1N(xi-x^i)2---(11)]]>如果MSE大于0.01则返回步骤4),否则,步骤5)所得预测值为预测结果,结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:马红伟白子建徐建平王海燕柯水平邢锦赵巍郑利申婵韩敏徐汉清张志学宋洋刘明林王志攀刘岩姚宝珍于滨
申请(专利权)人:天津市市政工程设计研究院
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1