杨世杰,龙 丹,周庆标
1.浙江工业职业技术学院 信息工程分院,浙江 绍兴 312000
2.浙江大学医学院,杭州 310058
基于CEPSO-LSSVM的煤炭消费量预测模型
杨世杰1,龙 丹2,周庆标1
1.浙江工业职业技术学院 信息工程分院,浙江 绍兴 312000
2.浙江大学医学院,杭州 310058
煤炭是我国的主要能源,在经济生活中具有不可替代的地位,但由于缺乏长期、科学的规划,我国煤炭供需处于一种失衡状态,科学地对煤炭消费量进行预测,解决煤炭供需失衡问题,保证经济正常、快速发展,具有十分重要的意义[1]。
针对煤炭消费量预测问题,国内外学者进行了大量研究,有回归分析、灰色系统和时间序列分析等传统预测方法[2]。传统方法假设煤炭消费量是一种线性变化规律,但由于煤炭消费量受到多种因素影响,实际上具有非平稳性、时变性等特点,因此,传统方法预测效果并不理想[3]。20世纪80年代以来,非线性的神经网络算法在煤炭消费量预测中得到了广泛的应用,提高了煤炭消费量预测的精度[4],但是神经网络要求样本数量大,而煤炭消费量是一种小样本数据,难以满足该条件,因此预测结果易出现过拟合现象[5]。最小二乘支持向量机(Least Square Support Vector Machines,LSSVM)是专门解决小样本、非线性等难题的机器学习算法,泛化能力强,为煤炭消费量预测提供了一种新的研究方法[6]。LSSVM的预测性能与其参数密切相关,粒子群优化(PSO)算法的全局搜索能力强,在LSSVM参数优化中应用最为广泛[7-8]。但传统PSO算法存在“早熟”收敛和陷入局部最优等缺陷,难以获得最优的LSSVM参数,从而对煤炭消费量预测结果产生不利影响[9]。
“鲶鱼效应”(catfish effect)模拟鲶鱼对沙丁鱼群体的驱赶机制,以改变沙丁鱼的惰性,提高了沙丁鱼群体活性[10]。基于此,针对PSO算法的不足,引入“鲶鱼效应”产生一种鲶鱼粒子群优化(CEPSO)算法,并采用CEPSO优化LSSVM参数,最后根据最优参数的LSSVM建立煤炭消费量预测模型,通过仿真测试检验模型的性能。
2.1 最小二乘支持向量机
对于训练样本{(xi,yi)},i=1,2,…,n,LSSVM通过非线性映射函数Φ(·)将样本映射到高维特征空间,并进行线性回归,则有:
式中,w为权值向量,b为偏置量。
根据预测误差和计算复杂折衷原则,式(2)变为:
式中,γ为正则化参数,ei为预测误差[11-12]。
为简化LSSVM求解过程,引入拉格朗日乘子,将式(2)变为对偶优化问题,即
式中,αi为拉格朗日乘子。
对于非线性预测问题,引入核函数转变成为线性预测问题,选择径向基核函数作为LSSVM的核函数,最后LSSVM回归模型为:
式中,σ表示径向基核函数的宽度。
2.2 CEPSO算法
设粒子i的飞行速度和位置分别为:vi=(vi1,vi2,…,viD)T和xi=(xi1,xi2,…,xiD)T,粒子i的历史最优位置为pi=(pi1,pi2,…,piD),种群最优位置为pg=(pg1,pg2,…,pgD),粒子i的位置和速度更新方式为:
式中,c1、c2为加速系数;rand()为[0,1]之间的随机数;t为当前迭代次数;w为惯性权值[13-14]。
由式(6)可知,一旦PSO算法出现“早熟”现象,全局极值pg一定是局部最优解,因此可以通过直接改变pg或间接改变pi,帮助粒子逃逸局部最优解区域,进入其他区域进行搜索,最终找到全局最优解[15]。根据“鲶鱼效应”启示:当粒子聚集在局部最优解,搜索出现停滞时,用一条“鲶鱼”去刺激粒子群,增加粒子活力,帮助其中逃出局部极值点,这就是鲶鱼粒子群算法(CEPSO)的基本思想。CEPSO算法通过偏差的阈值作为“鲶鱼效应”触发条件,采用鲶鱼算子对pg或pi进行扰动,这样粒子速度更新变为:
式中,c3表示鲶鱼对个体最优的冲撞强度,c4表示鲶鱼对全局最优的冲撞强度;c3×rand()和c4×rand()为鲶鱼算子,分别定义为:
式中,ep表示当前值与当前个体最优值的偏差;eg表示当前值与当前全局最优值的偏差;e0p和e0g分别表示当前值与当前局部最优值、全局最优值间偏差的阈值。
2.3 LSSVM参数优化的数学模型
其中,f()表示LSSVM模型。
要建立最优的煤炭消费量预测模型,首先要找到最优的LSSVM参数,然而LSSVM参数优化的目标是找到最优参数组合,使LSSVM预测值与实际煤炭消费量值之间的误差最小,因此采用均方根误差作为煤炭消费量LSSVM参数优化的目标函数,即
式中,n为煤炭消费量样本个数;yi和yˆi分别表示第i个样本实际值和预测值。
2.4 CEPSO算法优化支持向量机参数步骤
艾司西酞普兰与度洛西汀治疗抑郁症有效性与安全性的Meta分析 ……………………………………… 路淑淑等(10):1395
(1)收集一维煤炭消费量时间序列,并将其重构成多维时间序列,产生LSSVM的训练集和验证集。
(2)预估计LSSVM参数γ、σ范围,并设置CEPSO算法的相关参数值。
(3)随机产生粒子群,每一个粒子位置串包括γ、σ。
(4)LSSVM根据初始粒子群的γ、σ对训练集进行学习,并通过式(12)计算每一个粒子的适应度值,并将适应度值最小者作为个体极值Pi和群体极值Pg。
(5)根据式(8)、式(9)确定鲶鱼算子,并更新粒子的速度和位置。
(6)根据式(12)计算每个粒子在新位置上的适应度值,粒子的适应度值与Pi的适应度值比较,如果优于Pi的适应度值,则用该粒子代替最优适应度值,并用该粒子位置代替Pi。
(7)将粒子的适应度值与Pg的适应度值比较,如果优于Pg的适应度值,则该粒子为群体的最优适应度值,同时用该粒子的位置代替Pg。
(8)若迭代次数超过最大允许迭代次数,则训练结束,并输出粒子群全局最优位置相对应的LSSVM的γ、σ,否则跳转至步骤(5)继续进行参数优化。
(9)采用最优γ、σ建立煤炭消费量预测模型,并对验证集进行预测,对预测结果进行分析。
3.1 数据来源
数据来自1990年—2012年中国煤炭消费量,具体如图1所示。前18个数据组成训练集用于寻找LSSVM最优参数,其余5个数据组成验证集对参数有效性能和模型泛化能力进行检验,仿真测试在CPU Intel 2.8 GHz,RAM 1 GB,Windows XP,Matlab 2009的平台上编程实现。
图1 煤炭消费量数据
3.2 数据归一化处理
LSSVM对[0 1]之间的数据十分灵敏,煤炭消费量具有突变性,数值差异较大,为此,在建模之前,进行归一化处理,具体为:
式中,表示归一化后煤炭消费量值,xmax、xmin分别为煤炭消费量的最大、最小值。
3.3 模型评价指标
为了使CEPSO-LSSVM预测结果更具说服力,采用粒子群算法优化LSSVM(PSO-LSSVM)、遗传算法优化LSSVM(GA-LSSVM)作为对比模型。采用均方根误差(RMSE)和平均绝对百分误差(MAPE)作为模型的评价指标,它们分别定义如下:
3.4 LSSVM参数优化过程
煤炭消费量数据是一种时间序列,因此数据之间有明显的数据相关性,当前时刻的煤炭消费量与前段时间煤炭消费量存在一定的联系,这样就可以利用历史煤炭消费量数据对未来时刻煤炭消费量进行预测,本研究选择前12个时间点的数据对当前煤炭消费量进行预测,那么要预测yi,其输入为:{yi-1,yi-2,…,yi-12}。
GA的交叉概率为Pc=0.9,变异概率为Pm=0.02;CEPSO的c1=c2=2,c3=1.2,c4=3.5,e0g=0,e0p=0.01,PSO参数与CEPSO设置相同,所有算法的种群大小均为10,最大迭代次数为500。LSSVM参数的范围为:γ∈[1,1 000],σ∈[0.1,10],将煤炭消费量训练集输入到LSSVM进行训练,在训练过程中用GA、PSO、CEPSO对参数(γ,σ)进行在线优化,根据训练集的10折交叉验证误差最小原则,参数优化过程如图2所示,得到的最优参数结果见表1。从图2可知,相对于PSO、GA,CEPSO可以更快地找到LSSVM参数,且交叉验证误差更小,这表明CEPSO是一种有效的LSSVM参数优化算法。
图2 各算法的LSSVM参数寻优曲线对比
表1 各算法优化LSSVM的参数结果
3.5 结果与分析
3.5.1 拟合能力比较
采用表1中的γ、σ值作为LSSVM参数,对训练集进行学习,建立相应的GA-LSSVM、PSO-LSSVM、CEPSOLSSVM的煤炭消费量预测模型,并采用这些模型对训练集进行拟合,得到的拟合结果见表2所示。从表2可知,在所有模型中,CEPSO-LSSVM的拟合误差最小,拟合精度最高,根据拟合对比结果可知,CEPSO可以获得更优的LSSVM参数,更加准确地刻画了煤炭消费量变化趋势。
表2 各模型对训练集的拟合误差
3.5.2 泛化能力比较
评价一个预测模型性能的优劣,主要考察其预测能力,为此采用建立的煤炭消费量模型对验证集进行预测,均采用一步预测,具体方式:采用前18个煤炭消费量数据作为最原始训练集,对第19个数据进行预测,然后采用滚动方式将第19个数据合到训练集,对第20个数据进行预测,依此类推,最后得到第23个数据的预测结果,预测结果如图3和表3所示。从图3和表3可知,相对于对比模型,CEPSO-LSSVM的预测精度更高,说明CEPSO具有较好的全局搜索能力,通过引入“鲶鱼效应”,有助于跳出局部最优值,从而找到了更优的LSSVM参数,建立的煤炭消费量预测模型更加准确地描述了煤炭消费量时变、非平稳变化趋势。
图3 各模型对验证集的预测结果对比
表3 各模型对验证集的预测误差
煤炭消费量受到多种因素的影响,具有随机性、时变性,针对LSSVM在煤炭消费量预测中的参数优化问题,提出一种CEPSO-LSSVM的煤炭消费量预测模型。首先将LSSVM参数优化视为一个组合优化问题,并根据煤炭消费量预测建立参数优化的目标函数,然后基于煤炭消费量预测结果的误差最小原则,采用PSO算法对LSSVM最优参数进行寻优,并引入“鲶鱼效应”解决PSO算法存在的不足,最后采用实际煤炭消费量进行仿真实验,并与其他模型进行对比。结果表明,CEPSO-LSSVM可以获得更优的煤炭消费量预测模型,提高了煤炭消费量的预测精度,并扩展了LSSVM在其他非线性预测领域的应用范围。
[1]王延中.我国能源消费政策的变迁及展望[J].中国工业经济,2001(4):33-38.
[2]李世祥,吴巧生.我国煤炭需求函数回归模型的建立及需求预测[J].中国煤炭,2005,31(6):17-19.
[3]孙国文,尹光志.基于灰色系统理论的重庆市煤炭消费预测[J].重庆大学学报,2006,29(7):142-145.
[4]宁云.煤炭需求预测的复合小波神经网络模型[J].煤炭学报,2003,28(1):108-112.
[5]张宏,李仲学.煤炭需求影响因素及前景分析[J].煤炭学报,2007,32(5):557-560.
[6]韩超,车永才,王继波.改进的BP神经网络煤炭需求预测模型[J].辽宁工程技术大学学报,2005(S1):121-126.
[7]穆朝絮,张瑞民,孙长银.基于粒群优化的非线性系统最小二乘支持向量机预控制方法[J].控制理论与应用,2010,27(2):164-167.
[8]刘智国,张雅明,林立忠.基于粒子群LSSVM的网络入侵[J].计算机仿真,2011,27(11):136-139.
[9]张朝龙,江巨浪,李彦梅.基于云粒子群-最小二乘支持向量机的传感器温度补偿[J].传感技术学报,2012,25(4):472-477.
[10]陈磊.遗传最小二乘支持向量机法预测时用水量[J].浙江大学学报:工学版,2011,45(6).
[11]梁昔明,阎纲,李山春,等.基于最小二乘支持向量机和混沌优化的非线性预测控制[J].信息与控制,2010,39(2):129-135.
[12]景龙,杨淑霞,刘承水.基于遗传算法优化参数的支持向量机短期负荷预测方法[J].中南大学学报:自然科学版,2009,40(1).
[13]易文周.混沌鲶鱼粒子群优化和差分进化混合算法[J].计算机工程与应用,2012,48(15):54-58.
[14]Hu X H,Eberhart R C.Multi-objective optimization using dynamic neighborhood particle swarm optimization[C]//Proceedings of the 2002 Congress on Evolutionary Computation.Honolulu:IEEE,2002.
[15]Li Y,Wang C S,Yang C H.Chaotic catfish particle swarm optimization for solving global numerical optimization problems[J].Applied Mathematics and Computation,2011,217:6900-6916.
YANG Shijie1,LONG Dan2,ZHOU Qingbiao1
1.School of Computer Science,Zhejiang Industry Polytechnic College,Shaoxing,Zhejiang 312000,China
2.Zhejiang University School of Medicine,Hangzhou 310058,China
The coal consumption has time-varying and nonlinear characteristics.In order to improve the prediction accuracy of coal consumption,a coal consumption prediction model based on Catfish Particle Swarm algorithm and Least Squares Support Vector Machine(CEPSO-LSSVM)is proposed.LSSVM parameter is encoded into the position of the particle,and minimum of the cross validation error of network training set is taken as optimal target,and then the parameters of LSSVM are obtained by the exchange information among particles,and“catfish effect”is introduced to keep the diversity of particle swarm to overcome the local optimum of the traditional particle swarm optimization algorithm,and coal consumption prediction model is built according to the optimum parameters,and the simulation test is carried out on actual coal consumption data.The results show that,compared with other prediction models,the proposed model can get better parameters,and coal consumption prediction accuracy can be improved.It is more suitable for complex coal consumption prediction.
coal consumption;Least Squares Support Vector Machine(LSSVM);Particle Swarm Optimization(PSO)algorithm; catfish effect
针对煤炭消费量的时变性、非平稳性特点,为了提高煤炭消费量预测精度,提出了一种鲶鱼粒子群算法优化最小二乘支持向量机(LSSVM)的煤炭消费量预测模型(CEPSO-LSSVM)。将LSSVM参数编码成粒子位置串,并根据煤炭消费量训练集的交叉验证误差最小作为参数优化目标,通过粒子间信息交流找到最优LSSVM参数,并引入“鲶鱼效应”,保持粒子群的多样性,克服传统粒子群算法的局部最优,根据最优参数建立煤炭消费量预测模型,并采用实际煤炭消费量数据进行仿真测试。结果表明,相对于其他预测模型,CEPSO-LSSVM可以获得更优的LSSVM参数,提高了煤炭消费量预测精度,更加适用于复杂非线性的煤炭消费量预测。
煤炭消费量;最小二乘支持向量机;粒子群优化算法;鲶鱼效应
A
TP391
10.3778/j.issn.1002-8331.1305-0287
YANG Shijie,LONG Dan,ZHOU Qingbiao.Coal consumption prediction based on LSSVM optimized by Catfish Particle Swarm Optimization algorithm.Computer Engineering and Applications,2013,49(18):108-111.
浙江省教育技术研究规划课题(No.JB083)。
杨世杰(1979—),男,讲师,主要研究领域为机器学习算法、模式识别、图形图像;龙丹(1975—),男,博士,主要研究领域为计算机应用、机器学习算法;周庆标(1972—),男,博士,副教授,主要研究领域为计算机应用、时间序列预测。
2013-05-22
2013-06-17
1002-8331(2013)18-0108-04