负荷功率模型的最优特征选择研究
2021-06-17严雪颖秦川鞠平曹路李建华
严雪颖,秦川,鞠平,曹路,李建华
(1. 河海大学能源与电气学院,江苏 南京 211100;2. 国家电网有限公司华东分部,上海 200120)
0 引言
电力负荷预测是根据历史负荷数据及其他外界影响因素对将来的负荷需求进行科学预测的过程[1]。电力系统瞬时供需平衡的特点决定了其预测工作的紧迫性,构建精准的负荷功率模型并进行准确的负荷预测是电力系统进行安全调度和经济运转的重要前提条件。然而负荷功率呈现多样的时空变化特性,受多因素(如气象、日期类型等)影响。随着各种储能设备、电动汽车、分布式电源等大规模接入电网,以及基于激励措施、电价等需求侧管理方案的实施,负荷预测的复杂度增加[2]。
构建负荷功率模型并进行负荷预测的关键因素之一是确定模型的输入特征量。国内外大部分短期负荷预测研究是对模型和方法的探索[3—4]。近年来,许多专家学者将电力负荷预测相关影响因素作为研究重点[5—9],这些研究也表明对负荷特征的深入挖掘分析可有效提高预测效果。
特征选择(feature selection,FS)是通过移除无关、冗余特征,从一组给定的特征集合中选出最有效的相关特征子集从而实现特征空间维数降低的过程[10]。经过特征选择后的低维数据在后期聚类分析或机器学习中能降低复杂度,提高精度和稳定性。就数据类型而言,特征选择分类包括监督式、无监督式和半监督式;从机制层面来看,又可以分为过滤式(Filter)、封装式(Wrapper)和嵌入式(Embedded)。Filter法用评价准则来增强特征与类的相关性或削减特征之间的相关性[10];Wrapper法直接采用学习器分类性能作为特征子集的评价标准;而Embedded法将特征选择与学习算法相结合,在训练过程中自主完成了特征选择。快速消除冗余特征,提高算法分类性能是特征选择重要的研究方向[11]。结合子算法的优势,混合方法通常比传统方法更稳健,因此成为解决特定问题的新策略。文献[12]提出了一种混合的过滤器和包装器方法,采用自举策略创建特征子集,通过计算每个特征子集的分类精度找到优化子集。
文中首先以气象、日期及历史负荷等因素作为初始输入特征集,并引入负荷和温度的导数以刻画变量之间的非线性影响;接着,分别采用基于Filter、Wrapper和Embedded的方法进行负荷功率模型的特征选择;最后,基于各方法选择结果的明显差异提出基于遗传算法的最优特征集搜索策略,实现了输入特征集的最优化,并通过算例进行验证。
1 数据处理
1.1 数据预处理
负荷预测往往都是实时采集数据,而动态的数据采集可能存在通道拥堵、故障等现象,导致相应数据采集程序发生中断,从而原始数据会出现错误与不真实的情况。同时可能因为天气突变、特殊突发事件等引起数据异常,造成大量伪数据的存在[13],这必定会严重影响预测精度,因此须对负荷数据进行加工、完善。
(1) 插值法补全缺失值。文中取某地区220 kV变电站能量管理系统(energy management sys-tem,EMS)记录数据,数据缺失情况非常少,个别空缺数据采用线性插值法补全,具体是将空缺点前后两点数据取平均作为空缺点的缺失值。
(2) 小波去噪法处理异常值。文中算例的母线负荷预测量级小,随机性与波动性较强,且往往掺杂部分坏数据,从而对预测精度产生较大影响。文中选择db4小波作为小基波,利用小波去噪处理负荷数据的异常波动。该方法首先在各尺度上将含噪声的信号进行小波分解,得到小波系数和尺度系数;然后对高频系数置零,去除噪声信号;最后利用重构算法、小波系数和尺度系数重构出估计信号[14],具体流程如图1所示。
图1 db4小波去噪流程Fig.1 Flow chart of db4 wavelet denoising
(3) 归一化。由于样本气象数据、负荷数据单位不一致,在进行负荷功率模型构建和训练前,应对其进行归一化处理,将数据取值范围定在[0,1]或[-1,1]之间,计算公式为:
(1)
式中:xi,x′i分别为归一化之前和之后的数值;xmin,xmax分别为该组数据中的最小值与最大值。
1.2 输入特征集
负荷功率模型的输入特征集考虑气象、历史负荷等36个特征,符号表示及其含义如表1所示。左边一栏为气象、日期等负荷相关的外部因素,右边一栏为历史负荷特征,其中前一时刻负荷为预测值。
表1 相关特征命名Table 1 Nomenclature of the related features
气象因素中加入了前3 d的温度特征,以充分考虑温度对负荷的影响和气温的累积效应[15]。实际值往往不及一阶导或二阶导能够捕捉到变量的基本趋势[16],考虑将负荷和温度曲线的日动态变化趋势作为新的预测因素以系统地解释不同特征量之间的非线性相互作用,特征中加入温度和负荷的一阶和二阶导数,计算公式为:
(2)
式中:L′(t)为t时刻的负荷一阶导数;L(t+1),L(t-1)分别表示t+1,t-1时刻的负荷值。利用差分法同样可求负荷二阶导数和温度相关导数。
2 特征选择方法性能比较
2.1 特征选择方法
文中采用Filter法中的最大信息系数(maximal information coefficient,MIC)、Wrapper法中基于支持向量机的递归特征消除(support vector machine based recursive feature elimination,SVM-RFE)和Embedded法中的随机森林(random forest,RF)。
MIC主要利用互信息和网格划分方法进行计算,互信息是衡量变量之间相关程度的指标[17],对于给定样本数为n的变量,X={xi,i=1,2,…,n}和Y={yi,i=1,2,…,n},互信息定义为:
(3)
式中:p(x,y)为X和Y的联合概率密度;p(x),p(y)分别为X和Y的边缘概率密度。
假设Z={(xi,yi),i=1,2,…,n}为一有限的有序对的集合,定义G为a×b的网格,将X,Y的值域分别分成a段和b段。MIC定义为:
(4)
式中:maxIMI(Z|G)为划分G下Z的最大互信息,取不同划分方式中的IMI(X,Y)最大值作为划分G的互信息值。B(n)为网格划分a×b的上限值,当B=n0.6时效果较好。
SVM-RFE是将SVM作为递归特征消除过程中的分类器,通过调节SVM模型的各项参数以确定特征排序的标准,算法流程如图2所示。
图2 SVM-RFE算法流程Fig.2 Flow chart of SVM-RFE algorithm
SVM-RFE是一个向后消去特征的迭代过程,需经过多轮训练,每次迭代都要经过以下3步:
(1) 利用当前数据集对SVM进行训练,获得与分类器特征相关的信息;
(2) 按照评估准则计算特征权重值;
(3) 移除特征重要性排名最靠后的特征。
当特征集中只剩1个特征时,结束循环,输出五折交叉验证得分最高时所对应的特征集合。
RF算法结构示意如图3所示,核心思想是从样本M维特征中随机抽取m个特征组成分裂特征集,进行节点分裂,每个决策树不进行剪枝处理[18],使其最大程度地生长,最终生成一片森林,森林中的所有决策树投票得出最终结果。
图3 随机森林结构Fig.3 Structure of random forest
2.2 3种特征选择方法结果对比分析
在进行特征选择时,历史负荷特征往往会掩盖其他特征,故将历史负荷特征单独考虑,利用以上3种方法对表1中历史负荷特征进行选择,得到的MIC、RFE算法中不同特征数的交叉验证分数、RF模型特征权重值分别如图4—图6所示。
图4 最大信息数Fig.4 Maximum information coefficient
图5 递归特征消除交叉验证分数Fig.5 Cross-validation scores of SVM-RFE
图6 随机森林特征权重Fig.6 Feature weights of random forest
随着我国经济持续增长,人民生活水平不断提高,大功率家用电器也越来越普及,导致各种降温取暖负荷(特别是空调负荷)在社会总用电负荷中所占比例越来越大,故气象因素对于电力负荷的影响也是愈加显著。为此,同样应用以上3种方法对气表1左栏气象、日期类型等特征进行选择,根据每个特征的MIC值、SVM-RFE算法中每个特征的得分和RF特征权重,将特征重要性按由大到小排序,所得特征排名如表2所示。
表2 3种方法的负荷外部因素特征排名Table 2 Ranking of load-related external features in three methods
根据以上特征选择结果可得如下结论:
(1) MIC与RF的历史负荷特征排序相差不大,虽然3种方法选择结果略有不同,但前一时刻负荷和1 d前时刻负荷的重要性排名都是位于第一和第二,可见这2个特征对于负荷预测的重要性。
(2) 相较于时刻负荷特征,各种日平均负荷排名相对靠后。对于负荷导数特征,除了SVM-RFE,其他2种方法中几乎排在末尾;MIC方法中负荷二阶导数排名普遍高于一阶导数,RF中则相反。
(3) 由于气象因素的随机多变、不确定性,且对于负荷功率的影响存在延时和累积效应,各方法的特征排名存在明显差异,选择结果也不尽相同,但可知外部因素中温度特征均占有较大权重。
(4) 据历史负荷和温度特征的排名,可知同一类型特征中,特征所在时间与预测日越近,重要性排名越高,这也体现了负荷影响因素的近因效应。
综上,尽管对比结果说明了部分历史负荷和温度特征的重要性,但负荷导数特征的重要性也未得到体现且3种方法的特征排名结果之间存在明显差异,仅靠设定阈值或是排名难以统一所选特征集,因此需要进一步对输入特征集进行优化搜索和验证分析。
3 基于遗传算法的最优特征集搜索
针对以上3种特征选择方法结果的差异性,文中提出利用遗传算法对36个特征优化搜索得到最优特征子集。
3.1 个体染色体编码
与生物遗传概念相对应,遗传算法里个体指优化问题的可行解,为1个变量序列,可行解中每一分量代表的特征就是基因[19]。根据具体问题通过1种编码方式,将可行解域中的每个解都表示为简单的字符串或数字符串,即染色体。
待选特征集中共有36个特征,对应染色体中36个基因,每个个体都代表1种可能的特征组合,采用二进制对个体基因编码,1代表选中该特征,0代表没有选中,因此每个特征组合都可由1个长度为36的二进制串表示。
3.2 适应性函数计算
为找出使负荷预测准确率达到最高的最优特征子集,预测模型采用极限梯度提升XGBoost模型,通过1组弱分类器的迭代计算实现准确的分类效果[20—23]。目标函数采用负荷预测模型日负荷平均引用误差的倒数,具体公式为:
(5)
其中:
(6)
式中:Xi为第i个遗传个体,即1个可能的特征子集;Et为t时刻母线的负荷预测的引用误差;N为测试集中的天数。文中日负荷曲线采用96点,时间间隔为15 min;Pt为t时刻母线负荷的实际值;P′t为t时刻母线负荷的预测值;PB为负荷基准值,220 kV母线的负荷基准值为305 MV·A。
3.3 算法流程
文中基于遗传算法的最优特征集搜索流程如图7所示。由图7可知,首先对待选特征集进行染色体编码,接着随机生成具有一定数量个体的初始种群。在每一代中,通过适应性函数计算值评价每一个体,并按照适应度高低进行排序。根据排名将优良个体挑选出来,通过交叉和变异过程实现种群的遗传进化。该过程不断重复,直至达到迭代次数,最终输出最优特征子集。
图7 遗传算法流程Fig.7 Flow chart of genetic algorithm
4 算例分析
4.1 负荷评价指标
文中采用某地区220 kV高压侧母线2017-01-01—2018-10-23的负荷数据作为算例,根据国网公司发布的《电网母线负荷预测工作考核管理办法》,采用了母线的负荷预测引用误差作为负荷预测相关考核指标,具体计算公式见式(5)和式(6)。除此之外,文中还采用平均绝对百分误差(mean abso-lu-te percentage error,MAPE)来描述模型的预测性能。
(7)
式中:Pi为i时刻负荷的真实值;P′i为i时刻负荷的预测值;N为每日预测点总数。
4.2 遗传算法结果
依照以上遗传算法流程,将交叉概率设为0.7,变异概率设为0.1,种群进化迭代次数设为100,每生成新一代种群,选择其中最优个体输出,种群进化100次后,共有18个特征,其中包含负荷导数特征,输出的最优特征集如表3所示。
表3 遗传算法输出最优特征集Table 3 Optimal feature set obtained by genetic algorithm
遗传算法迭代100次的目标函数值变化曲线如图8所示。从迭代曲线和相应输出结果数据中得出,当迭代次数达到56次,算法已经收敛。
图8 遗传算法目标函数变化曲线Fig.8 Curve of genetic algorithm objective function
表4列出了部分迭代次数后种群中最优个体的目标函数和相关负荷预测评价指标值。
表4 评价指标变化情况Table 4 Change of evaluation index values
由表4可知,算法每轮的输出结果表明当前最优特征组合在逐步向最终的最优特征集合靠拢,目标函数值不断增大,而日负荷平均引用误差和预测模型的平均绝对百分比误差在逐渐减小,最终得到最优特征子集。
4.3 有效性分析
在第2节中,已经得到MIC、SVM-RFE、RF的特征排名,考虑到阈值的设定会对各方法所选特征数量产生较大影响,选定3种特征选取方案对比上述3种方法与遗传算法的特征选择效果,具体分别为:
方案一:不做任何特征选择,分别选取仅含历史负荷因素和仅含负荷外部因素的特征集以及所有36个特征组成的特征集。
方案二:3种方法单独考虑历史负荷时,从历史负荷排名结果中选取前9位,其他外部相关因素排名中选前9位,18个特征组成各自的输入集。
方案三:3种方法将所有特征一起考虑,选择总排名前18位特征作为输入集。
为体现导数特征对于负荷预测的影响,增加一组对比量,利用遗传算法对不含导数特征的输入特征集进行优化搜索。
分别将上述方案中各方法的特征选择结果作为负荷功率模型的特征输入集,采用与遗传算法中相同的XGBoost预测模型对算例中相同的训练集和测试集分别进行训练和负荷预测,各评价指标统计结果如表5所示。
表5 各特征选择方法的负荷预测误差统计Table 5 Load forecasting error statistics of various feature selection methods
由表5可知:
(1) 由方案一的3组结果对比得到历史负荷因素对于负荷预测精度的重要性明显高于外部因素。从3种方法的总排名中也可以得到验证,其中历史负荷特征排名总体相对靠前,导数特征中温度导数特征重要性明显弱于负荷导数特征。
(2) 后2种方案中,MIC结果变动不大,误差结果较大;SVM-RFE结果同样差距不大,且误差较小;RF方法中3种方案的负荷预测误差跨距最大。这说明历史负荷特征与外部因素特征分开或合并选择对MIC和RFE影响不大,对RF影响较大。
(3) 将不考虑导数特征的遗传算法输出结果作为负荷预测输入特征时,误差指标明显增加,即负荷预测准确性下降,说明负荷导数特征一定程度上能描述负荷的变化趋势,对负荷预测具有重要意义。
(4) SVM-RFE的2种方案选择结果中均含有负荷导数,RF总排名前18位中也含有负荷导数特征。方案一中当仅有历史负荷特征作为输入和所有特征作为输入时,模型的输入特征集中包含了负荷导数特征,且预测效果有很大提升,与遗传算法结果较为接近,进一步验证了负荷导数特征的重要性,也对(2)中现象做出了合理解释。但是,递归特征消除方法在所有特征一起考虑时仅仅选择了3个,其中并不包含负荷导数特征,说明该方法利用交叉验证分数存在一定的局限性。
(5) 综合以上误差统计情况,就日负荷平均引用误差和MAPE而言,遗传算法对应的数值结果都是所在行的最小值,说明遗传算法所选特征集的预测结果要优于MIC、SVM-RFE和RF这3种方法所有特征选取方案和不做特征选择时的预测结果,表明文中基于遗传算法的最优特征集搜索方法对于负荷功率模型的特征输入集确实有一定的优化效果,能够有效提升负荷预测效果。
5 结语
文中研究了短期功率模型的输入特征集的选择,针对MIC、SVM-RFE和RF 3种特征选择方法结果存在差异性这一情况,进一步提出利用遗传算法优化搜索最优特征集。对比各特征选择方法和特征选取方案,误差结果表明基于遗传算法得到的最优特征集作为输入可有效提高负荷预测精度,有助于确定负荷功率模型的输入特征集,并验证特征选择相关研究在短期负荷预测方面的有效性。