一种基于蝙蝠算法优化支持向量机预测公交车到站时间的方法:选择影响公交车运行因素的数据作为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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。