基于支持向量机的电网负荷预测
2020-06-28王诗涵周法国
王诗涵 周法国
摘 要:基于现有的电力负荷预测方法提高电力负荷预测的准确性,提出了一种基于支持向量机(SVM)的电力负荷预测模型。首先分析支持向量机的理论基础,通过建立支持向量机预测模型,将经过预处理的真实电力数据输入该模型进行学习预测,借助均方根误差(RMSE)、平均绝对百分比误差(MAPE)以及预测图表对模型预测性能进行验证分析。实验结果表明,SVM预测模型能够较为准确地对电力负荷预测进行刻画。
关键词:机器学习;电力负荷;支持向量机
中图分类号:TP273.4 文献标识码:A 文章编号:2096-4706(2020)24-0120-03
Load Forecasting of Power Grid Based on Support Vector Machine
WANG Shihan,ZHOU Faguo
(School of Mechanical Electronic & Information Engineering,China University of Mining and Technology-Beijing,
Beijing 100083,China)
Abstract:Based on the existing power load forecasting methods to improve the accuracy of power load forecasting,a power load forecasting model based on support vector machine(SVM)is proposed. First,analyze the theoretical basis of support vector machines,and by establishing a support vector machine prediction model,input the pre-processed real power data into the model for learning prediction. The prediction performance of the model is verified and analyzed with the help of root mean square error(RMSE),mean absolute percentage error(MAPE)and prediction chart. The experimental results show that the SVM prediction model can describe the power load forecast more accurately.
Keywords:machine learning;electric load;support vector machine
0 引 言
电力负荷在电力管理系统中有着极为重要的地位。随着电力事业的不断发展,准确地对电力负荷进行预测[1,2],可以更加经济且合理地对电网进行规划、对内部发电机组进行启停,实现供电的稳定性与合理性,充分满足用户需求,促进电力市场的进一步发展。
然而,由于电力负荷变化极其复杂,与天气因素、时间因素、季节因素甚至是否为节假日等方面的因素都息息相关。目前常见的负荷预测方法主要有两类:一类是基于数理统计的方法,另一类是智能预测方法。基于数理统计的方法有回归分析、时间序列法以及趋势外推法等;智能预测方法则主要是机器学习方法,比如支持向量机预测方法以及神经网络方法等。
由于各个因素与电力负荷并非都是线型相关的,其中也存在大量的非线性因素。因此,想要通过数学方法去建立相应的显式公式以及物理模型将会非常困难。正因为如此,数理统计方法往往存在很大的偏差,并且很难将许多因素综合考虑在内。同时,电力公司在多年的运营中已经产生了海量用电数据,借助这些数据,使用机器学习的方法进行分析,构建基于机器学习方法的电力负荷预测模型,就能够更好地解决非线性、局部值变化过大以及多维性等难题。其中深度学习作为一种崭新的机器学习方法,借助内部构建的多层感知器创建非线性网络,对目标预测进行函数逼近。对于海量的数据来说,基于机器学习的预测算法将会具备更优秀的数据处理能力,同时还能夠更好地提取有效数据。
1 现状分析
机器学习是一种致力于探究计算机如何通过算法来仿照或实现人类的学习能力,学习新的知识并根据自身经验对新的难题进行求解,从而不断提升自身性能的方法。通过学习不但可以灵活应对层出不穷的新问题,而且还可以对未来数据的特征和规律进行推演和预测。然而,通常情况下,现实生活中的样本往往数量不足且质量一般,难以找到足够多适用于机器学习的理想数据,因此Vapnik团队提出了一项统计学习理论[3],这是一项专门研究在训练集所含样本数量有限的情况下如何进行机器学习的理论科学。统计学习理论一般从部分训练样本出发,通过一定的方式得到一些还无法用确切的理论或原理进行分析的规律,并通过这些规律来对需要进行预测的数据进行比较精确的分析预测。
基于统计学习理论,产生了一种新的机器学习方法:支持向量机[4-6](Support Vector Machine,SVM),SVM是机器学习方法中被广泛研究和使用的一种方法。SVM是一类按监督学习方式对数据进行二元分类的广义线性分类器,但是随着SVM方面的研究越来越深入,在分类之外也得到了广泛的应用,比如回归、离散值分析以及排序等。为了改进现有负荷预测方法所存在的预测精确度不足等问题,本文通过构建基于支持向量机的电力负荷预测模型,将数据进行预处理后,将其作为训练集输入预测模型中,进行特征提取。通过逐层学习与参数调试,将所提取出来的数据特征作为训练集进行测试,然后通过输入预测集,利用电力负荷预测模型对其进行数据预测。
2 支持向量机算法
在给定的训练样本集D={(x1,y1),(x2,y2),…,(xn,yn)},yi∈{-1,1}中,线性分类器将会根据训练样本D在二维空间中寻找到一个超平面来将二类样本分离。
将该平面用函数f(x)=wTx+b表示,其中T为矩阵的转置,因此如果当f(x)恰好等于0的时候,x便是位于超平面上的点,而当f(x)大于0的点对应y=1的数据点,f(x)小于0的点对应的是y=-1的点。
此时我们令:
通过简单平面几何知识可求得空間中任意样本点x到超平面的距离为: 。
由于yi∈{-1,1},因此我们将两个异类支持向量与超平面之间的距离之和表示为 。我们需要找到一个符合条件的超平面来分开两类数据:该超平面离两类样本都足够远,能够使得距离之和达到最大,也就是说最终确定的参数w和b能够使得r达到最大,即: ,s.t.yi(wTxi+b)≥
1,i=1,2,…,n。
以上便是基本线性可分情况下的SVM模型的基本思想。而对于回归模型部分而言,优化目标函数部分与分类模型是一致的,但是区别在于约束条件有所不同。回归模型的目的是为了让训练集样本中的所有样本点都尽可能地拟合到同一个线性模型之上。SVM回归算法采用ε-insensitive误差函数,用Lε表示该函数,其定义为 ,其中ε为所能容忍的最大误差。因此优化目标可以定为将误差函数最小化:,其中C为正则化常数,n为平面中的样本点总数。
由于在上述的目标函数中含有绝对值项而不可微。因此考虑将其转化为约束优化问题,即为每一个样本数据都设置两个松弛变量ζi≥0, ≥0,将误差函数改写成一个凸二次优化问题: 。
通过引入拉格朗日乘子,将目标优化函数转化成无约束的形式,其中α>0, >0,μ>0, >0是拉格朗日的系数:
在满足约束条件时,,此时拉格朗日系数全部取0,。当不满足约束 时,则 无解。换言之 在满足约束条件时的解即 的解,并且在约束外无解。因此求解 即能得到满足约束的的解。因此首先对w,b,ζi,分别求偏导数并将其带回至拉格朗日函数中,化简后能够得到关于αi,的函数,将该函数最大化则为接下来的目标:
(1)
式(1)的约束条件为0≤αi≤C,0≤≤C。其中κ(xi,yi)=(xi)Txj为向量内积。接下来我们考虑KKT条件,KKT最优化条件一般用来判断一个非线性最优化问题是否包含一个待确定的解。以下仅列出核心部分:
αi(ε+ζi+wTxi+b-)=0 (2)
(ε+-(wTxi+b)+)=0 (3)
由式(2)、式(3)可知当αi>0时,必定有ε+ζi+wT xi+b-=0,ζi≥0,此时预测值将会小于真实值;当 >0时,必定有(ε+-(wTxi+b)+)=0, ≥0,此时预测值将会大于真实值。而且对于每一个任意的数据点,由于ε>0,则αi和不会出现同时大于0的情况,并且为了得到在误差范围以内的点,必定有αi=0以及=0。
由上述计算可得知 ,接下来进一步对b值进行计算,由式(2)可知某点预测值大于真实值时,有:ζi=0且(ε+ζi+wT xi+b-)=0。
可推导得出预测函数,其中(xi,)为预测值大于真实值的某个点:
3 预测实验
3.1 数据来源
为了验证所构建的SVM预测模型的有效性与精确性,实验将使用河北省某地区2017年6月1日到6月30日之间的真实电力数据,共包含17 279组电力负荷数据。数据中包含电压、功率等数据的实时最高值、最低值以及平均值,在实验中采用平均值进行计算。
3.2 数据预处理
在将数据输入模型之前,需要预处理原始电力负荷数据。由于数据按时间序列有部分缺失数据,直接将空值读入模型会导致模型运行、计算出错。因此需要将空值处理为有效值,将缺失值设置为上下时间序列按时间间隔的均值。
同时为了避免因数据范围不同而导致计算时出现饱和现象,需要对实验所用的数据进行归一化处理。采用下列方式完成数据归一化: 。
其中x为预处理数据的样本,xmax和xmin分别为样本数据中的最大值及最小值,ymax和ymin则为期望数据中每一行中的最大值及最小值。
3.3 模型评价指标
均方根误差RMSE,也被称为标准误差,一般被用来测量观测值与实际值之间的误差大小。计算公式为:。
平均绝对百分比误差MAPE也是机器学习中常用的一个评价指标,可以用来衡量一个模型预测结果的好坏,计算公式为:。
其中,yi和 分别为样本的真实值及预测值,n则为测试集中的样本数量。
3.4 预测结果与分析
将17 279组电力负荷数据分为三组,首先对其进行预处理使其变为可操作的合理数据。其中8 000组数据作为训练集,用以构建短期电力负荷预测模型,对模型进行学习训练;5 000组数据作为测试集,用以对学习后的电力负荷预测模型的预测准确性进行检验;其余4 279组数据作为预测集,默认其为未来数据,即只有时间数据而无电力负荷数据,通过预测其电力负荷再与实际电力负荷值比对,进一步检验其预测性能。测试结果如图1所示。
对应的模型输出的评价指标如表1所示。
对图1及表1中的结果进行分析,可以发现:
(1)SVM模型可以较好地对电力负荷进行预测,结果能比较准确地刻画出电力负荷在一定时间内的变化趨势。
(2)对于特定时段的电力负荷的峰值变化难以把握,模型在预测峰值负荷的时候往往趋于平稳,导致对极端情况下的电力负荷预测准确性不高。因为在实际用电环境下,电力负荷往往不不仅仅只与时间有一定关系,还有大量其他因子会影响电力负荷。
4 结 论
本文通过构建SVM模型实现对电力负荷数据特征的学习,并通过此数据特征对电力负荷数据进行预测。对实际数据进行测试调试后发现,本文所提出的电力负荷预测模型可较为精准地对电力负荷进行预测,与真实值接近,模型有效性良好。对于其他会影响电力负荷的因素,如何将其合理地融入模型以对电力负荷进行更加准确的预测,还需要进一步研究。
参考文献:
[1] 韩禹.非侵入式低压电力负荷构成识别与聚合建模的研究及应用 [D].镇江:江苏大学,2020.
[2] 鞠平,郭德正,曹路,等.含主动负荷的综合电力负荷建模研究综述与展望 [J].河海大学学报(自然科学版),2020,48(4):367-376.
[3] 林洪桦.测量误差分析及数据处理若干要点系列论文(四) ——统计学习理论及支持向量机方法统用于形位误差评定 [J].自动化与信息工程,2020,41(4):1-5.
[4] 陈卫东,梁朔,肖园园,等.基于模糊最小二乘支持向量机的微电网群状态评估方法 [J].电力系统自动化,2019,43(2):76-82.
[5] 姜涛,王长江,陈厚合,等.基于正则化投影孪生支持向量机的电力系统暂态稳定评估 [J].电力系统自动化,2019,43(1):141-148.
[6] 胡天宇,郭庆来,孙宏斌.基于堆叠去相关自编码器和支持向量机的窃电检测 [J].电力系统自动化,2019,43(1):119-125.
作者简介:王诗涵(1996—),男,汉族,广东中山人,硕士研究生在读,研究方向:计算机应用技术;周法国(1976—),男,汉
族,山东聊城人,副教授,博士,研究方向:数据挖掘、人工智能等。