鲶鱼粒子群算法优化支持向量机的短期负荷预测
2013-08-04安徽理工大学电气与信息工程学院自动化系安徽淮南232001
安徽理工大学 电气与信息工程学院 自动化系,安徽 淮南 232001
安徽理工大学 电气与信息工程学院 自动化系,安徽 淮南 232001
1 引言
准确的短期负荷预测是电力系统科学规划决策基础,同时,随着电网规模的扩大和电力市场化改革深化,对短期电力负荷预测精度提出了更高要求,因此短期电力负荷预测成为电力研究领域的一个热点问题[1]。
长期以来,国内外学者对短期负荷预测作了大量研究,提出许多预测模型[2]。传统负荷预测模型主要有多元线性回归、自回归滑动平均、趋势外推法等[3-6],短期电力负荷受到天气、季节、节假日等因素影响,具有不确定性、非线性以及混沌性,这些拟线性模型的应用范围有限[7]。随着人工智能和混沌理论不断发展,出现基于人工神经网络(ANN)、支持向量机(SVM)等机器学习算法与相空间重构技术相结合的短期负荷预测模型[8-9]。大量研究表明,基于SVM的电力负荷预测模型性能要优于ANN和其他方法[10]。然而SVM的预测能力很大程度上依赖于惩罚因子和核函数参数,粒子群优化(PSO)算法概念简单、实现容易、参数易调整,在解决SVM参数优化问题得到了广泛应用[11]。但PSO算法与其他智能优化算法一样,存在收敛速度慢、全局搜索能力差等缺点,有时会导致参数选择不恰当,对基于SVM的短期负荷预测精度产生不利影响。
为了提高短期负荷的预测精度,针对PSO算法优化SVM参数的不足,引入自然界的“鲶鱼效应”(catfish effect),提出了一种鲶鱼粒子群算法优化支持向量机的短期负荷预测模型(CFPSO-SVM),并通过实际短期负荷数据进行仿真实验,验证CFPSO-SVM在短期电力负荷预测中的有效性。
2 混沌理论和支持向量机
2.1 相空间重构
基于混沌理论的短期负荷预测建模需解决三个问题:短期负荷时间序列混沌性质的识别、短期负荷系统的相空间重构、短期负荷预测算法,其中时间序列性质的识别以及混沌分析,均在相空间中进行,因此相空间重构是短期负荷时间序列分析的基础[12]。
Takens定理指出,只要选择最适合嵌入维数和延迟时间,就可以从一维的短期负荷时间序列中重构一个与原动力系统在拓扑意义下等价的相空间。设短期负荷的时间序列为{x1,x2,…,xn-1,xn},嵌入维数为 m,延迟时间为 τ,那么通过坐标延迟法重构出的相空间向量为:
式中,i∈[( m-1)τ,n],X(i)为重构后的相点。
从式(1)可知,在相空间重构中,m和τ选取十分重要,本文首先采用wolf方法计算Lyapunov指数,以确认短期负荷时间序列是否具有混沌特性;如果有混沌特性,然后采用CAO方法选择m,最后采用互信息法计算τ。
2.2 支持向量机算法
通过式(1)对短期负荷时间序列进行相空间重构后,可以得到一个多维的短期负荷时间序列。设当前时刻为i,训练集的样本数为n,那么训练集可以表示为:
SVM通过非线性映射函数φ(X)将输入样本映射到高维的特征空间F,并在F中进行线性回归,SVM在高维特征空间中的回归函数为:
式中,w和b分别为回归函数的法向量及偏移量。
根据机构风险最小化原则,SVM回归可转化为如下优化问题,即
式中,‖w‖是与函数 f复杂度相关的项,ε为不敏感损失系数,ξi,表示松弛因子,C表示惩罚因子。
引入拉格朗日乘子,优化问题变为凸二次优化问题:
式中,αi和表示拉格朗日乘子。
为了加快求解速度,将式(3)转成对偶形式,即有:
采用核函数k(xi,x)代替高维空间中的向量内积(φ(xi),φ(x)),避免维数灾难,则SVM的回归函数为:
研究表明,当缺少过程的先验知识时,相对于其他核函数,径向基核函数参数少,且具更好的性能[13]。因此,本文选择径向基核函数进行SVM建模数,径向基核函数定义如下:
式中,σ为径向基核函数的宽度参数。
从SVM建模过程可知,SVM学习性能与惩罚系数C,不敏感系数ε,核函数参数σ的选取密切相关,本文采用鲶鱼粒子群算法(BPSO)优化SVM参数。
3 CFPSO算法优化SVM参数
3.1 CFPSO算法
在PSO算法中,待优化问题潜在解可看作n维搜索空间上的一个点,称之为“粒子”,粒子以一定的速度在搜索空间中飞行,该速度根据自身和同伴的飞行经验进行动态调整,粒子优劣程度由适应度值决定[14]。设粒子个体和整个群体的最优位置分别为pbest和gbest,粒子的速度与位置更新公式为:
式中,ω为惯性权重;c1和c2为学习因子;rand()为(0,1)之间的随机数;和分别为粒子i在第k次迭代中第d维的速度和位置;是粒子i在第d维的个体极值的位置;是群体在第d维的全局极值的位置。
由式(8)可知,粒子当前位置是由前一时刻的位置和当前的速度共同决定,而由式(9)可知,粒子当前速度由三个因素决定:前一时刻的速度、个体极值 pi与全局极值 pg,一旦算法出现“早熟”现象,全局极值 pg一定是局部最优解,因此可以通过改变全局极值 pg或间接地改变个体极值 pi,让粒子逃逸局部最优解区域,进入其他区域进行搜索,最终找到全局最优解[12]。
挪威人喜爱吃活的沙丁鱼,但沙丁鱼生性比较懒惰,不喜爱游动,经过长时间的运输后活着的沙丁鱼几乎所剩无几,如果将鲶鱼放入鱼槽中,由于环境陌生,便会四处游动,沙丁鱼见了鲶鱼十分紧张,为了躲避天敌的吞食,加速游动,从而保持了旺盛的生命力,沙丁鱼缺氧的问题就迎刃而解了,就不会死了,这就是著名的“鲶鱼效应”[15]。根据“鲶鱼效应”启示:当粒子聚集在局部最优而导致搜索停滞时,找一条“鲶鱼”去刺激粒子群,改变粒子群在局部最优位置的聚集状态,使粒子群跳出局部极值点而找到全局最,这就是鲶鱼粒子群(CFPSO)的基本思想。CFPSO采用偏差阈值作为触发条件,通过鲶鱼算子对全局极值或个体极值进行扰动,粒子速度更新变如下:
式中,c3表示鲶鱼对个体最优的冲撞强度,c4表示鲶鱼对全局最优的冲撞强度;c3·rand()和c4·rand()称为鲶鱼算子,其定义如下:
式中,ep表示当前值与当前个体最优值的偏差;eg表示当前值与当前全局最优值的偏差;e0p表示当前值与当前局部最优值之偏差的阈值;e0g表示当前值与当前全局最优值之偏差的阈值。
式(11)、(12)可知,若当前值的偏差大于偏差阈值,鲶鱼算子取为1,此时CFPSO算法为标准PSO算法;反之,认为此时粒子发生聚集,引入鲶鱼算子去冲撞个体最优值或全局最优值,以跳出局部最优。
3.2 CFPSO算法优化支持向量机参数步骤
SVM参数C,ε,σ选取与短期负荷预测精度关系密切,在CFPSO算法全局搜索能力的基础上,结合交叉验证算法对SVM参数进行选择,并建立最优电力负荷预测模型,具体步骤如下:
(1)收集短期负荷数据,确定m和τ的值,然后通过确定m和τ进行相空间重构,生成SVM学习样本集。
(2)确定SVM参数C,ε,σ的取值范围,并设置CFPSO算法的相关参数。
(3)根据各参数的取值范围,初始化粒子群(C,ε,σ)中粒子的位置和速度。
(4)读入训练数据,以均方差作为适应度值,采取交叉验证方法训练模型,得到每个粒子的适应度值,并取适应度值最小的粒子所对应的适应度值最优为最初全局极值gbest。
(5)根据式(11)、(12)确定鲶鱼算子,并更新粒子的速度和位置。
(6)计算每个粒子在新位置上的适应度值,如果粒子的适应度值优于 pbesti的适应度值,则 pbesti更新为新位置;如果粒子的适应度值优于gbest,则gbest更新为新位置。
(7)判断粒子群最优位置 pbesti的适应度值是否满足目标值或迭代次数是否达到最大值,如果满足停止条件,则输出SVM的最优参数组合。
(8)根据最优参数组合,建立基于SVM的短期负荷预测模型,如不满足返回步骤(4)。
4 仿真实验
4.1 数据来源
数据来源于安徽省某地区电网2012年7月1日至2012年7月30日的半小时短期负荷数据,共得到30×48=1 440个时间序列数据,具体如图1所示。用前29天(1 392个数据)的短期负荷数据作为训练集对模型进行训练,建立短期负荷预测模型;最后1天(48个数据)的负荷数据作为预测集来检验模型的预测效果。实验利用台湾林智仁教授的Libsvm 2.98工具箱,在Matlab 2009a平台上实现,并根据10-fold交叉验证误差最小作为SVM参数选择准则。SVM参数搜索区间设置为:C∈[1,1 000],ε∈[0.001,0.1],σ∈[0.001,100]。
图1 短期负荷时间序列数据
4.2 短期负荷时间序列的相空间重构
首先采用wolf方法计算短期负荷时间序列的最大Lyapunov指数,其为 λ=0.073,这表明该短期负荷时间序列具有混沌特性;然后采用互信息法得到延迟时间为48 h,最后利用Cao方法求嵌入维数,得到短期负荷时间序列的最小嵌入维数m=7。根据式(1)对短期负荷时间序列进行相空间重构,得到1 440-48×(7-1)-1=1 151多维时间序列样本,则有1 151-48=1 103个训练样本,利用SVM对训练样本进行训练。
为了提高收敛速度、缩短训练时间,对重构新后的短期负荷样本进行归一化处理,归一化公式为:
式中,xmax和xmin分别表示负荷的最大值和最小值。
4.3 对比模型及评价标准
为了验证CFPSO-SVM在短期负荷预测中的有效性和优越性,选择3个对比模型:网格搜索算法优化的SVM模型(SVM);GA优化的SVM模型(GA-SVM)进行预测;标准PSO优化的SVM模型(PSO-SVM)。考虑到智能优化算法搜索SVM参数结果的随机性和网格搜索算法结果的唯一性,GA-SVM、PSO-SVM、CFPSO-SVM均运行10次,SVM运行1次。CFPSO算法的参数设置为:粒子群规模为20,最大迭代次数为 500,c1=c2=2,c3=1,c4=4,偏差阈值e0g=0,e0p=0.01;PSO算法相关参数设置与CFPSO一致;GA参数设置为:交叉概率Pc=0.85,变异概率Pm=0.1,种群个数和最大迭代次数与CFPSO相同;网格搜索算法的步长设置为1,迭代终止误差eps=10-5。
模型的评价标准为平均相对误差(MAPE)和均方误差(MSE),它们定义如下:
式中,x(i)和x'(i)分别表示某时刻的实际和预测短期负荷值。
4.4 结果分析
4.4.1 粒子群算法改进前后的性能对比
CFPSO-SVM和PSO-SVM参数寻优过程的最优适应度值变化曲线如图2所示。对图2进行分析可知,CFPSO通过引入“鲶鱼”扰动机制,保持了粒子群的多样性,使得粒子群可以跳出局部最优点,兼顾了粒子全局搜索能力和局部搜索能力,能够更快地找到全局最优SVM参数,获得更高的学习精度。
图2 CFPSO、PSO的适应度值变化曲线
利用CFPSO-SVM和PSO-SVM对训练集进行10次建模,并根据建立的短期负荷预测模型对测试集进行预测,10次仿真实验预测结果的MAPE和MSE见表1。从表1中可知,基于PSO-SVM的电力负荷预测结果间差异较大,稳定性较差,而基于CFPSO-SVM的电力负荷预测效果稳定,变化比较均匀,预测结果间差异很小,且CFPSO-SVM电力负荷预测精度明显高于PSO-SVM。对比结果表明,CFPSO算法可以找到更优的SVM参数,建立的电力负荷量预测模型更好地反映电力负荷变化趋势,进一步提高了电力负荷的预测精度。
4.4.2 与其他算法的性能对比
CFPSO-SVM、PSO-SVM、GA-SVM和SVM对测试集预测结果的平均MAPE和MSE见表2。10次仿真实验中,CFPSO-SVM、PSO-SVM、GA-SVM预测误差最小的预测结果与SVM预测结果如图3所示。从图3可知,CFPSO-SVM预测结果与实际的短期电力负荷十分接近,预测效果更优;同时从表2可知,CFPSO-SVM的预测误差明显小于对比模型:PSO-SVM、GA-SVM和SVM,短期电力负荷的预测精度更高,对比结果表明,利用CFPSO-SVM进行短期电力负荷预测时,建立的短期电力负荷预测模型具有更高的寻优效率、预测精度,稳态性能更好。
表1 CFPSO-SVM和PSO-SVM的预测效果对比
图3 各模型对测试集的预测结果
表2 不同模型的短期电力负荷预测性能比较
5 结束语
SVM在短期负荷预测过程中,如果参数选取不合理,则直接影响短期负荷的预测精度,针对PSO算法存在收敛速度慢、易陷于局部极值等缺陷,引入自然界的“鲶鱼效应”,提出一种鲶鱼粒子群算法(CFPSO)优化SVM的短期电力负荷预测模型。仿真结果表明,CFPSO-SVM的短期电力负荷预测模型具有输出稳定性好、收敛速度、预测精度高等优点,预测结果对电力管理部门和电力企业的决策具有一定的实用参考价值。
[1] 杜怀松.电力系统负荷预测技术[J].华东电力,2000,9(1):50-52.
[2]张文亮,汤广福,查鲲鹏,等.先进电力电子技术在智能电网中的应用[J].中国电机工程学报,2010,30(4):1-7.
[3]雷绍兰,孙才新,周湶,等.电力短期负荷的多变量时间序列线性回归预测方法研究[J].中国电机工程学报,2006,26(2):25-29.
[4]霍利民,范新桥,黄丽华,等.基于基因表达式程序设计及误差循环补偿的电力系统短期负荷预测[J].中国电机工程学报,2008,28(28):103-107.
[5]黎灿兵,李晓辉,赵瑞,等.电力短期负荷预测相似日选取算法[J].电力系统自动化,2008,32(9):69-73.
[6]李永斌.短期电力负荷预测模型的建立与应用[J].计算机仿真,2011,28(10):316-319.
[7]Shi B,Li Y X,Yu X H,et al.A modified particle swarm optimization and radial basis function neural network hybrid algorithm model and its application[C]//2009 WRI Global Congress on Intelligent Systems,2009,1:134-138.
[8]Wang H,Li B S,Han X Y,et al.Study of neural networks for electric power load forecasting[C]//The 3rd International Symposium on Neural Networks,2010:1277-1283.
[9]耿艳,韩学山,韩力.基于最小二乘支持向量机的短期负荷预测[J].电网技术,2008,32(18):72-76.
[10]王武,张元敏,蔡子亮.基于遗传优化神经网络的电力系统短期负荷预测[J].继电器,2008,36(9):39-47.
[11]吴景龙,杨淑霞,刘承水.基于遗传算法优化参数的支持向量机短期负荷预测方法[J].中南大学学报:自然科学版,2009,40(1):180-184.
[12]朱原媛,杨有龙,张恒伟.基于贝叶斯网络的混沌时间序列预测[J].计算机工程与应用,2012,48(13):100-104.
[13]陈圣兵,王晓峰.基于样本差异度的SVM训练样本缩减算法[J].计算机工程与应用,2012,48(7):20-22.
[14]易文周.混沌鲶鱼粒子群优化和差分进化混合算法[J].计算机工程与应用,2012,48(15):54-58.
[15]Chuang Li-Yeh,Tsai Sheng-Wei,Yang Cheng-hong.Chaotic catfish particle swarm optimization for solving global numerical optimization problems[J].Applied Mathematics and Computation,2011,217:6900-6916.
鲶鱼粒子群算法优化支持向量机的短期负荷预测
石晓艳,刘淮霞,于水娟
SHI Xiaoyan,LIU Huaixia,YU Shuijuan
Department of Automation,College of Electrical and Information Engineering,Anhui University of Science and Technology, Huainan,Anhui 232001,China
In order to accurately,effectively predict short-term load,this paper proposes a short-term load prediction(BFPSO-SVM)based on support vector machine optimized by catfish particle swarm optimization algorithm.The short-term load time series are reconstructed based on chaos theory,and then the support vector machine SVM parameters are taken as a particle location string, and catfish effect is introduced to overcome the shortcomings of particle swarm algorithm to find the optimal parameters of support vector machine through the particle interactions,short-term load forecasting model is built according to the optimum parameters and the model performance is tested by simulation experiment.The simulation results show that,compared with other prediction models,BFPSO-SVM accelerates the parameters optimizing speed of support vector machine and improves the prediction precision of short term load,and it is more suitable for short-term load prediction needs.
short-time load;support vector machine;chaotic theory;particle swarm optimization algorithm;catfish effect
为了准确、有效地预测短期负荷,提出了一种鲶鱼粒子群算法优化支持向量机的短期负荷预测模型(BFPSO-SVM)。基于混沌理论对短期负荷时间序列进行相空间重构;将支持向量机参数的组合看作一个粒子位置串,通过粒子间互作找到最优支持向量机参数,并引入“鲶鱼效应”,克服基本粒子群算法的缺点;根据最优参数建立短期负荷预测模型,并对模型性能进行仿真测试。仿真结果表明,相对于其他预测模型,BFPSO-SVM不仅加快了支持向量机参数寻优速度,而且提高了短期负荷预测精度,更适用于短期负荷预测的需要。
短期电力负荷;支持向量机;混沌理论;粒子群算法;鲶鱼效应
A
TP393
10.3778/j.issn.1002-8331.1301-0005
SHI Xiaoyan,LIU Huaixia,YU Shuijuan.Short-time load prediction based on support vector machine optimized by catfish particle swarm optimization algorithm.Computer Engineering and Applications,2013,49(11):220-223.
石晓艳(1980—),女,讲师,主要研究领域为智能控制和计算机仿真;刘淮霞(1961—),女,副教授,主要研究领域为过程控制;于水娟(1979—),女,讲师,主要研究领域为计算机应用。
2013-01-05
2013-03-06
1002-8331(2013)11-0220-04