温珏
摘要:
为了降低人为设定参数值对支持向量机运行结果准确度的影响,采用智能算法中的人工鱼群算法,搜寻支持向量机相应参数的最优解。由于人工鱼群算法运算在寻优精度和效率方面均有提升空间,故将混沌机制引入人工鱼参数初始化,通过改进固定参数和行为算子得到支持向量机预测模型。使用该模型进行中长期电力需求预测研究,并与其它参数优化算法产生的模型进行均方误差对比。研究结果表明:改进后的模型在拟合均方误差和预测均方误差上都优于未优化的模型,支持向量机在预测精度方面有一定程度的提升。
关键词:
中长期负荷预测;支持向量机;人工鱼群算法;混沌机制;参数优化;均方误差
DOIDOI:10.11907/rjdk.172423
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2018)003018304
英文摘要Abstract:In order to weaken the effect that artificial parameter values influence on accuracy of result of support vector machine(SVM), this paper uses the artificial fish swarm algorithm(AFSA), one of the intelligence algorithms, to search the optimum solution of corresponding parameters of SVM. Owing to the room for improvement in accuracy and efficiency of AFSA, the chaos mechanism is introduced into the parameter initialization of artificial fishes with the improvement of fixed parameters and operator, which reaches the prediction model of SVM based on parameter optimized by improved AFSA, and helps the prediction study of midandlong term power demand, which compares with models optimized by other algorithm. The results show that the improved model is more excellent than the model without optimization in mean square error (MSE) of fitting and forecasting. Besides that, the prediction accuracy of SVM has a certain degree of improvement.
英文关键词Key Words:midandlong term load forecast; support vector machine(SVM); artificial fish swarm algorithm(AFSA); chaotic mechanism; parameter optimization; mean square error (MSE)
0引言
电力系统建设投资大、周期长,为了实现中长期电力系统的合理规划和安全运行,应尽可能提高电力需求预测精确度。电力需求预测指未来某个时段内可能产生的电力需求量的一种估算,根據运算周期长短不同,可分为短期电力需求预测和中长期电力需求预测。其中,中长期电力需求预测的目标一般为月度、季度或年度电力需求[13]。
中长期电力需求预测研究较为广泛。孙辉等[4]对基于灰色预测理论的电力系统中长期负荷预测的实用方法进行了研究,在小样本量、相关影响因素复杂的条件下,得到了较为理想的预测结果。Rahman等[5]根据优化向量法比较各种因素对目标变量的影响,并通过专家系统进行预测。人工智能算法中,Islam等[6]将网络预测方法运用于中长期电力预测,雷绍兰等[7]使用BP网络进行短期电力负荷预测,牛东晓、Pai等[89]则利用数据挖掘和支持向量机进行电荷预测。
1支持向量机参数寻优
1.1支持向量机
支持向量机(SVM)是基于统计学概念的机器学习方法,这种方法使用探索结构化风险最小,提升算法的泛化能力,以达成经验风险及置信区间最小化。其理论基础来源于统计学的VC统计理论[10],在小样本、非线性特征、局部最优和高维模式等方面优势明显[11]。它具备较强的鲁棒性、泛化能力和非线性拟合能力。起初用于小样本、非线性的分类问题,随后逐步应用于非线性拟合,表现出良好的性能[12]。由于核函数有较强的局部插值能力,且在小样本前提下比其它算法更具优势,因此本算法更适用于中长期电力需求预测。
在预测过程中需对参数实行人工设定,其中支持向量机参数中的核函数和错误惩罚因子对运算结果影响较大,人为设置参数使预测精度难以提高,故需要对损失函数参数及核参数进行相应优化。近年来常用于支持向量机改进的智能算法有遗传算法[13]、果蝇算法、粒子群算法等,本文使用人工鱼群算法实现相关参数寻优。
1.2人工鱼群算法
人工鱼群算法[14](AFSA)是根据鱼类活动特点总结出的一种群智能随机全局优化技术。它学习自然界中鱼类的觅食、聚群以及追尾行为,通过鱼群中个体间的相互协助寻觅目标函数的全局最优解。此算法不但有较优秀的全局寻优能力,而且具备初始值不甚敏感、鲁棒性较强、收敛速度快等特点[15]。因此,本文使用人工鱼群算法对支持向量机进行关键参数的优化改进,以便提升支持向量机的稳定性和测量精度。
假如在一个D维空间中,共有N条人工鱼构成了一个整体,而其中第i条人工鱼所在的位置可描述成向量Xi,i=1,2,…,N。人工鱼当前位置对应的食物浓度(适应度)函数为Y=f(X),其中每条人工鱼所处位置都可视作一个潜在的解。将向量Xi代入食物浓度函数能得出该位置相应的适应度值Yi,并能使用适应度Yi的大小衡量人工鱼所在位置Xi的优劣。规定所有人工能检测到的视野范围为visual,step为人工鱼每次行动前进的步长,δ为拥挤度因子(δ<1),用以表示某个点周围的拥挤度大小,try_number为每条人工鱼执行觅食算子时可进行尝试的最大次数。
觅食、聚群及追尾算子是构成人工鱼群算法的3种核心算子,决定了算法性能的优劣和参数寻优的精度。如果分别执行上述算子后依旧无法改善适应度,则需要执行随机算子,该算子不一定能向最优解所在方向靠拢,但它能帮助鱼群更好地逃离局部最优的陷阱,寻觅更理想的解。
1.2.1觅食算子
设一条人工鱼i当前所在位置为Xi,所对应的适应度值为Yi,在其视野范围内依照式(1)随机选定另一位置Xj,其适应度值为Yj。如果Yi Xj=Xi+rand()stepXj-XiXj-Xi(1) Xnext=Xi+rand()step(2) 1.2.2聚群算子 假设人工鱼当前所在位置为Xi,其相应适应度函数为Yi,以其自身Xi为中心点的视野范围visual内共存在nf条人工鱼。当nf≥1时,根据式(3)得出该鱼群的中心位置为Xcenter,所对应的适应度为Ycenter。如果满足Ycenter/nf>δYi,表明该鱼群中心的食物较为充足且拥挤程度偏低,故根据式(4)向该中心位置所对应的方向移动一步;若不满足该条件,则选择执行觅食算子。 Xcenter=∑nfj=1Xjnf(3) Xnext=Xi+rand()stepXcenter-Xi‖Xcenter-Xi‖(4) 1.2.3追尾算子 在自然状态下,如果鱼群中的一条或几条鱼寻觅到食物较为充足且不太拥挤的区域,邻近的鱼就会紧随其后迅速抵达该点,这在寻优算法中表示为一种趋向性。设人工鱼i当前位置为Xi,其相应的适应度函数为Yi,人工鱼i在当前视野范围内能够搜寻到的具有适应度最大值的人工鱼伙伴所在位置为Xmax,则该位置所对的适应度值为Ymax。如果Ymax>Yi,则以Xmax为中心点搜寻在其视野范围内的所有人工鱼,所得条数为nf。如果同时满足Ymax>Yi与Ymax/nf<δYi,则说明该伙伴所在位置Xmax对应较高的适应度值,且四周不拥挤。按照式(5)向视野范围内拥有最大适应度值的伙伴位置Xmax前进一步,反之则选择执行觅食算子。 Xnext=Xi+rand()stepXmax-Xi‖Xmax-Xi‖(5) 2人工鱼群算法改进 2.1混沌初始化 基础的人工鱼群算法虽然具备初始值不敏感、鲁棒性较强等优点,但如果能使人工鱼群的初始值尽量均匀分布在可能的解空间内,就能使算法的寻优效率得到有效提升。此外,混沌算法自身具有遍历性与规律性,使用混沌算法对人工鱼群进行算法初始化,可提高初始解群的质量,加快人工鱼群算法的寻优进程[17]。本文所用的Tent映射函数如下: xk+1=xkax∈[0,a](1-xk)(1-a)x∈(a,1] (6)
δ=δ*β(11)
β=e-0.03Ymax(12)
其中Ymax为每次迭代时人工鱼位置所对应的适应度最大值。
3实例分析
以山西省统计局公布的2010年1月至2016年12月全社会用电量数据为研究对象,并取每月同期的主要工业产品产量(原煤、生态、粗钢、钢材)、地区生产总值(GDP)、居民消费价格指数以及当地平均气温为特征值。其中以2010年1月至2015年12月的相应数据为向量机训练样本,对山西省2016年1月至12月的用电量需求进行预测。初始数据经过小波降噪和归一化处理后所得的每月特征值如图1所示,其中,横坐标1-84分别表示2010年1月至2016年12月各月份。
分别选取支持向量机参数预设特定值(令错误惩罚因子c=2.0,核函数g=0.1),以及使用粒子群算法(PSO)、人工鱼群算法(AFSA)和本文的改进人工鱼群算法进行SVM参数寻优,并分别进行支持向量机拟合和预测。4种算法所得的拟合以及预测对比如图2、图3所示,其中,
将2010年1月至2014年12月的数据和2011年1月至2015年12月的全社会用电量分别作为向量机样本拟合的输入、输出,并以2015年全年数据和2016年全年的全社会用电量为向量机预测输入、输出。通过PSO、AFSA以及改进的AFSA,得出相应错误惩罚因子和核函数,同随机初始参数一起代入向量机并进行比较,以所得数据与原始数据的均方误差作为评判标准。可以看出,人工鱼群算法优于粒子群算法,且不像随机初始值一般因设定值不同变动过大。此外,改进后的人工鱼群算法亦比原始算法有所进步。由图2、图3可知,原始数据波动剧烈,非线性拟合难以得到很高的准确性。在全局拟合方面,由优化算法与原始数据的均方误差可知,改进的AFSA算法比其它算法更接近原始数据,尤其当原始数据出现大幅震荡时,SVM拟合精度普遍较低,改进的AFSA所得结果较其它3种优化算法更为接近原数据。
本文采用的改进人工鱼群算法可加快寻优速度,在AFSA上进一步提升寻优效率。与AFSA对比,在相同迭代次数下更快收敛,且具有更好的收敛效果。代入本文实例,可对比鱼群算法和改进鱼群算法每次迭代时的最大适应度,结果如图4所示。在本例中适应度值越大表明寻优效果越好,由此可知,优化后的鱼群算法能够更快更好地进行寻优。
上述实验表明,本文提出的改进人工鱼群算法优化了SVM关键参数的预测模型,明显比单独的SVM预测模型以及经粒子群算法优化的SVM模型有更好的精确度,比未经改进的人工鱼群算法优化的SVM模型的预测精度也有了进一步提升。
4结语
本文利用支持向量机在小样本、非线性特征、局部最优和高维模式等方面的突出优势,对中长期电力需求进行拟合预测。由于参数值选取对支持向量机预测的精确率起关键作用,因此提出了一种运用人工鱼群算法对支持向量机关键参数寻优的方法。在此基础上对人工鱼群算法相应算子和固定参数进行合理改进,进一步提升了算法的全局寻优能力,加快了运算后期的收敛进程,更好地避免了局部最优解。实例证明经过改进的人工鱼群算法,能有效提高支持向量机的预测精度。由于中长期电力预测涉及的数据量有限,而相关领域众多,未来研究中会对多领域的特征输入函数筛选和分类进行改进,以便能够更加深入、全面地对中长期电力负荷需求预测进行研究。
参考文献参考文献:
[1]OOLOFSSON T, ANDERSSON S. Longterm energy demand predictions based on shortterm measured data [J]. Energy and Buildings, 2001,33(2):8591.
[2]廖旎焕,胡智宏,马莹莹,等.电力系统短期负荷预测方法综述[J].电力系统保护与控制,2011,39(1):147152.
[3]麦鸿坤,肖坚红,吴熙辰,等.基于R语言的负荷预测ARIMA模型并行化研究[J].电网技术,2015,39(11):32163220.
[4]王大鹏.灰色预测模型及中长期电力负荷预测应用研究[D].武汉:华中科技大学,2013.
[5]RAHMAN S, BABA M. Software design and evaluation of a microcomputerbased automated load forecasting system [J]. Power Systems, IEEE Transactions on, 1989,4(2):7828.
[6]ISLAM S M, ALALAWI S M, ELLITHY K A. Forecasting monthly electric load and energy for a fast growing utility using an artificial neural network[J]. Electric Power Systems Research, 1995,34(1):19.
[7]雷紹兰,孙才新,张晓星,等.基于径向基神经网络和自适应神经模糊系统的电力短期负荷预测方法[J].中国电机工程学报,2005,25(22):7882.
[8]牛东晓,谷志红,邢棉,等.基于数据挖掘的SVM短期负荷预测方法研究[J].中国电机工程学报,2006,26(18):612.
[9]PAI P F, HONG W C. Forecasting regional electricity load based on recurrent support vector machines with genetic algorithms[J]. Electric Power Systems Research, 2005,74(3):417425.
[10]VAPNIK V. The nature of statistical learning theory [M]. New York; Springer Verlag, 1995.
[11]TAGLIAFERRI F, VIOLA I M, FLAY R G J. Wind direction forecasting with artificial neural networks and support vector machines[J]. Ocean Engineering, 2015,97(15):6573.
[12]李瑾,刘金朋,王建军.采用支持向量机和模拟退火算法的中长期负荷预测方法[J].中国电机工程学报,2011,31(16):6366.
[13]吴景龙,杨淑霞,刘承水.基于遗传算法优化参数的支持向量机短期负荷预测方法[J].中南大学学报:自然科学版,2009,40(1):180184.
[14]李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式:鱼群算法[J].系统工程理论与实践,2002,22(11):3238.
[15]朱旭辉,倪志伟,程美英.变步长自适应的改进人工鱼群算法[J].计算机科学,2015,42(2):210216.
[16]杨淑莹,张桦.群体智能与仿生计算——MATLAB技术实现[M].北京:电子工业出版社,2014:123.
[17]ALATAS B. Chaotic bee colony algorithms for global numerical optimization[J]. Expert Systems with Applications, 2010,37(8):56825687.
[18]LISUFESCU M. Finite Markov processes and their application [M]. Chichester, UK: Wiley Press, 1980.
责任编辑(责任编辑:杜能钢)