基于Luong Attention机制和特征优选策略的超短期负荷预测方法

2022-04-26 04:45刘立立唐子卓
电力系统及其自动化学报 2022年4期
关键词:训练样本特征选择步长

刘立立,刘 洋,唐子卓

(四川大学电气工程学院,成都 610065)

随着高级量测技术的发展,用电信息除电力负荷数据外,还包括电压、电流、水、气、热能耗等数据[1]。有效地利用多源异构的数据信息进行精确的超短期负荷预测,对于实时发电计划和电力市场清算价格的制定具有重要意义[2]。

近年来,以深度学习为代表的人工智能方法在学习数据深层特征方面表现出优异的性能,其中循环神经网络RNN(recurrent neural network)相较其他神经网络能更好地对动态时序数据进行建模[3]。门控循环单元GRU(gated recurrent unit)神经网络和长短期记忆LSTM(long short term memory)神经网络通过引入特殊的门结构,可以进一步解决原始RNN中具有的梯度消失问题,被广泛用于时序数据模型中[4-5]。文献[5]指出GRU网络相较LSTM网络在保持较高预测精度的同时具有更高的计算效率,在负荷预测领域被广泛使用。

但传统GRU模型由于其在负荷预测任务中输入序列和输出序列长度的限制,一次只能预测一个时间步长,并在下次预测时更新网络状态,这种序列到点的预测模式会极大程度上受到先前时间步长预测结果的影响[6],而且当输入的时间序列较长时,传统GRU模型难以提取数据关键信息,模型预测精度仍然较低[7]。

此外,现有用电信息呈现出海量高维的特点,将全部特征变量输入模型进行训练不仅会造成巨大的计算开销,而且不相关的特征变量反而会对模型的预测精度产生负面作用[8]。现有负荷预测研究在进行输入数据特征选择时,多是通过特征变量与负荷数据之间的相关性分析或专家经验判别,其选择流程过于粗糙,易丢失影响负荷预测精度的关键特征变量[9]。

因此,本文提出一种基于Luong注意力LA(Luong attention)机制和特征优选策略的超短期负荷预测方法。首先,以轻量型梯度提升机LightGBM(light gradient boosting machine)算法内部的树模型参数作为量化各个输入特征重要度的评价指标,并通过后向搜索策略得到最利于模型训练的优选特征集合;其次,通过序列到序列门控循环神经网络S2S-GRU(sequence-to-sequence gated recurrent unit)模型对输入特征集合及目标预测数据进行有监督学习,并引入LA机制对不同输入步长赋予不同的权重,突出影响负荷预测精度的关键时间步长信息。本方法旨在获取更适合预测模型学习的优选特征集合,并通过改进模型结构和引入LA机制,进而更准确地预测负荷变化。算例结果表明,本文所提负荷预测方法在算法精度和算法效率上均具有优越性。

1 输入数据特征选择

在基于深度学习的负荷预测任务中,首先需要对预测模型进行训练。本文训练样本集D包括输入数据变量和目标预测变量。每个输入数据变量可表示为矩阵x∈RT×F,包含历史电力负荷数据及相关特征变量,α=1,2,…,T,β=1,2,…,F,其中T为输入时间跨度,F为输入数据的特征维度。输入数据变量x定义为

每个输入数据变量对应1个目标预测变量y,y∈RN×1,其中N为预测时间跨度,target[N]为预测时间步长为N时的负荷值。目标预测变量y定义为

输入数据变量和目标预测变量的对应关系如图1所示。对于训练样本集的时间步长t,从t+1到t+T的连续负荷数据及相关特征变量生成1个输入数据变量,t+T+1到t+T+N的负荷数据形成相应的目标预测变量。

图1 训练样本数据Fig.1 Training sample data

为了降低输入数据变量的特征冗余度,提高模型的学习能力,本文提出一种基于LightGBM的嵌入式特征选择算法。首先通过LightGBM算法对训练样本集中的输入数据变量和目标预测变量做回归分析,然后利用其树模型的内部参数作为每个特征的重要度度量指标,最后通过后向搜索策略得到最优的特征集合。该算法利用模型回归分析的误差作为选择特征集合的评价指标,且其内部结构参数可作为特征重要性度量的依据,同时兼顾了特征选择的准确性和高效性。

1.1 LightGBM算法

LightGBM算法在梯度提升决策树[10]的基础上,引入了梯度单边采样技术GOSS(gradient-based one-side sampling)和独立特征合并技术MEF(merge exclusive features)[11]。GOSS 可以剔除很大一部分梯度较小的数据,在保证信息增益的同时减小训练量,提高模型的泛化能力。MEF可以将互斥特征进行组合,以减少数据特征规模,提高模型的训练速度。

1.2 重要度度量指标

LightGBM是基于树模型的结构,算法在运行过程中,每层会贪心地选取1个特征分割点作为叶子节点,使在分割之后整棵树增益值最大。在分割过程中,每个叶子节点的权重可以表示为w(gi,hi),其中gi和hi分别为

式中,训练误差L(yi,f(xi))表示目标变量yi和预测变量f(xi)之间的差距。根据所有叶子节点的权重,每个特征作为分割点的增益G为

式中:wle为叶子节点左子树的总权值;wri为叶子节点右子树的总权值;wnos为分割前的叶子节点的总权值。

在算法运行过程中特征分裂的次数越多,说明该特征给整棵树带来的正向增益越大,其特征重要度越高。因此,可以将分裂特征的次数B和特征平均增益Gave作为特征的重要性度量指标。B和Gave的计算公式分别为

式中:X为所求特征被分割到所有叶子节点的集合;count()为计数函数;GbX为集合X中第b个叶子节点由式(10)得到的在特征被分割时节点所获得的增益。

1.3 输入数据特征选择整体流程

本文所提输入数据特征选择方法流程如图2所示,具体步骤如下。

图2 特征选择算法框架Fig.2 Framework of feature selection algorithm

步骤1将训练样本集分为输入数据变量集合{x1,x2,…,xI}和目标预测变量集合{y1,y2,…,yI}。

步骤2通过LightGBM对训练样本集中的输入数据变量和目标预测变量做回归分析。

步骤3将式(11)和式(12)的评价值作为每个特征的重要性度量指标,按照重要性度量指标对特征进行排序,并舍弃1个重要性最低的特征变量,将余下的特征变量作为新的候选特征集合。

步骤4从完整的特征集合开始,重复进行步骤1~3直至LightGBM算法做回归分析的结果满足终止阈值或达到迭代次数。

步骤5将上述轮次中回归分析准确率最高的特征集合作为最终优选特征集合,回归分析的准确率评价指标采用平均绝对误差MAE(mean absolute error)评价函数。

2 基于LA机制S2S-GRU负荷预测模型

2.1 S2S-GRU模型结构

S2S模型是一种通用的编码-解码框架[12],在本文中编码器和解码器由GRU神经元构成[5]。S2S模型可以将1个原始序列通过编码和解码2个步骤转换到另1个序列,可以更好地学习数据之间的时序关系,避免传统GRU模型序列到点学习模式的缺陷,其结构如图3所示。

图3 S2S-GRU模型示意Fig.3 Schematic of S2S-GRU model

2.2 LA机制

在传统S2S模型中,编码端将输入序列中的所有信息压缩在固定的中间变量C中,所有时刻的输入对输出均具有相同的影响权值,使得整个模型的信息处理能力受到限制。本文在传统S2S模型中进一步引入LA机制[13],该机制能够通过动态可变的中间变量Cn对输入数据赋予不同的影响权重,使得模型在解码的各个时刻有不同的侧重点,提升对于信息的利用能力。LA机制在解码层时间步长n下的示意如图4所示,其中⊕表示变量之间的关联。

图4 LA机制示意Fig.4 Schematic of LA mechanism

编码层的隐含层状态hn和输出在时间步长n下的计算公式分别为

式中:[·]表示变量的连接;f为GRU细胞单元;g为Softmax函数;中间变量Cn是编码器隐藏状态的加权和,即

式中,αnj为编码层时间步长j下输入的隐藏层状态对解码层时间步长n下输出的注意力权重。αnj的计算公式为

式中,enm和enj分别为编码层时间步长m、j下输入的隐藏层状态对解码层时间步长n下输出的注意力值。enj的计算公式为

式中,S为对齐函数,用来计算编码层时间步长j下输入的隐藏层状态对解码层时间步长n下输出的相关程度。

2.3 本文整体预测流程

本文的超短期负荷预测方法的总体实施过程如图5所示。过程主要分为训练样本及测试样本生成、输入数据特征选择、预测模型训练及预测3部分。训练样本生成通过数据分段的方式,测试样本的生成过程采用滑动窗口的方式,以使不同的测试样本不重叠。输入数据特征选择方法采用本文所提的基于LightGBM的嵌入式特征选择算法,对输入特征变量进行筛选后得到优选特征集合。负荷预测模型采用本文所提的基于LA机制S2S-GRU负荷预测模型,通过对优选特征集合和目标预测变量进行训练,并将测试样本集输入训练完成的预测模型得到最终的超短期负荷预测结果。

图5 算法实施过程示意Fig.5 Schematic of algorithm implementation process

3 实例分析

本文选取加州大学欧文分校UCI(University of California Irvine)数据库中的“Individual household electric power consumption Data Set”[14]作为实验数据集。该数据集是1个多特征时间序列数据集,描述1个用户从2006年12月—2010年11月期间收集到的用电信息。本文实验选取其中2009年11月—2010年11月每天48个采集点的用电信息,数据共有8个时序特征变量,包括家庭总有功能耗(kW)、家庭总无功能耗(kVar)、电压(V)、电流(A)、厨房的有功能耗(kW)、洗衣房的有功能耗(kW)、气候控制系统的有功能耗(kW)、其他有功能耗(kW),其中家庭总有功能耗为本文负荷预测实验的目标预测数据。

超短期负荷预测一般指当前时刻往后1 h内的负荷预测,本文针对当前时刻后30 min的负荷点进行预测,由于待预测时刻负荷数据通常与前1天负荷具有较强的相关性,因此本文实验设置输入时间跨度T为48,预测时间跨度N为1。此外,超短期负荷预测任务的待预测样本点较少,难以体现负荷预测模型的效果,因此本文通过迭代预测的方法,针对连续7 d的负荷数据进行预测,以展现本文负荷预测模型实验效果的统计特性。

首先将本文所提特征选择方法与基于最大信息系数MIC(maximum information coefficient)的特征选择方法[15]、基于XGBoost的特征选择方法[16]进行对比,以验证本文所提特征选择方法的先进性;其次将本文所提负荷预测模型与LSTM、GRU、S2SLSTM、S2S-GRU、S2S-LSTM+LA进行对比,以验证本文负荷预测模型的先进性。

假设S2S模型的编码层的隐含层大小设置为[F,64],其中F为输入特征维度,解码层的隐含层为[65,64]。LA中对齐函数S选用dot-product函数。传统LSTM、GRU模型的隐含层为[F,64],所有深度学习模型的学习率为0.001,批处理参数为256,迭代次数为100次。

3.1 实验环境和评价指标设置

本文实验通过Python实现,采用PyTorch作为深度学习框架,具体实验环境信息包括处理器Intel(R)Core(TM)i5-4210U CPU@1.70 GHz、内存6 GB、硬盘500 GB、操作系统Windows10、Python版本3.6.0、PyTorch版本1.1.0。

误差指标采用MAE和平均绝对百分比误差MAPE(mean absolute percentage error),计算公式分别为

式中:Q为预测点个数;uq为第q点的实际负荷值;为第q点的预测负荷值。指标值越小表示模型预测精度越高。

3.2 不同特征选择算法效果对比

本文所提特征选择算法超参数的设置通过多次实验获取,本实验设置模型的学习率为0.05,决策树的最大分割次数为200次,训练样本和测试样本的比例与本文负荷预测模型相同。MIC特征选择算法选取MIC系数大于0.5的特征作为优选特征集合;基于XGBoost的特征选择算法的超参数设置与基于LightGBM的特征选择算法相同。模型训练样本为2009年11月—2010年10月的数据信息,测试样本为2010年11月7日—2010年11月14日的数据信息。

首先分别通过3种算法得到优选特征集合,然后将优选特征集合中的数据作为输入特征变量输入所有负荷预测模型进行负荷预测。本文所提特征选择方法得到的优选特征集合为[家庭总有功能耗,电流]。基于MIC的特征选择算法得到的优选特征集合为[家庭总有功能耗,电流,气候控制系统的有功能耗,其他有功能耗]。基于XGBoost特征选择方法得到的优选特征集合为[家庭总有功能耗]。分别测试不同输入特征集合作为模型输入数据的负荷预测结果,MAE、MAPE指标如图6所示。不同特征选择算法在S2S-GRU+LA模型的预测结果如图7所示。

图6 特征选择算法对比Fig.6 Comparison among feature selection algorithms

图7 不同特征选择算法下负荷预测结果对比Fig.7 Comparison of load forecasting results among different feature selection algorithms

可以看出,不同特征变量集合得到的负荷预测结果存在较大差异,未经选择的特征变量集合其负荷预测结果存在较大波动;经基于XGBoost特征选择算法选取后的单一特征变量所能提供的信息量较少;基于MIC特征选择算法只考虑了变量和负荷数据之间的相关性,没有考虑到特征集合对预测模型的综合影响;而本文的特征选择算法考虑了特征变量之间的综合影响,选取了对负荷预测模型增益最大的特征集合,其选择后的特征集合最有利于模型进行负荷预测。

此外,对比不同特征选择算法的计算效率,本文特征选择算法的平均计算时间为23.87 s,基于MIC的特征选择算法和基于XGBoost的特征选择方法的平均计算时间分别为226.21 s、47.32 s。可以看出,本文所提特征选择算法在算法效率上也具有明显优势。

3.3 不同负荷预测模型对比

对所有6种负荷预测模型进行超短期负荷预测实验,验证本文所提模型的精度优势。设定输入变量为经过本文特征选择算法选择后的优选特征集合,模型训练样本为2009年11月—2010年10月的数据信息,采用负荷预测模型对连续7 d(2010年11月7日—2010年11月14日)的负荷数据进行超短期负荷预测,不同模型实验结果的MAE、MAPE值如图8所示。

图8 不同负荷预测模型对比Fig.8 Comparison among different load forecasting models

由图8可知,S2S模型相较LSTM、GRU模型具有明显的预测精度优势,这是由于S2S模型可以有效降低负荷的随机波动特性对模型预测过程的影响,而LA机制可以突出影响负荷预测精度的关键时间步长信息,进一步提高模型的预测精度。另一方面,LSTM类模型和GRU类模型的预测精度较为接近,说明GRU类模型虽然相较LSTM类模型简化了网络结构,但其依旧保持了较强的时序数据学习能力。

对比不同负荷预测模型的计算效率,引入LA机制前后的预测模型的训练收敛速度如图9所示。在负荷预测模型训练达到收敛状态时,GRU迭代次数为57,S2S-GRU迭代次数为81,而S2SGRU+LA的迭代次数仅为41,其算法收敛速度显著提升。可以看出,引入LA机制可以明显提升预测模型对时序数据关联特性的学习能力。

图9 不同算法收敛速度对比Fig.9 Comparison of convergence rate among different algorithms

此外,对比各个负荷预测模型的单次训练时长和总体预测时长如表1所示。可以看出,S2S模型的单次训练时长相较LSTM/GRU模型无明显增加,LA机制会使得S2S模型的单次训练时长平均增加16.9%。但是LA机制弥补了S2S模型训练收敛速度慢的不足,有效节约了模型的总训练时长,总体运算效率有显著提升。GRU类模型相较LSTM类模型因其简化了门结构,可以在保持较高学习精度的同时具有较高的计算效率。

表1 不同算法单次训练时长对比Tab.1 Comparison of single training time among different algorithms

4 结论

(1)基于LightGBM算法的嵌入式特征选择方法与基于MIC的特征选择方法、基于XGBoost的特征选择方法相比,本文方法具有更高的效率,且经过筛选后的优选特征可以有效提高负荷预测精度。

(2)S2S-LSTM/GRU+LA模型在算法精度上的表现均优于传统LSTM、GRU和S2S-LSTM/GRU模型,GRU类模型在保持高预测精度的同时较LSTM类模型具有更高的计算效率,且引入LA机制可以进一步提高模型的收敛性能。

猜你喜欢
训练样本特征选择步长
中心差商公式变步长算法的计算终止条件
正交基低冗余无监督特征选择法
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
网络入侵检测场景下的特征选择方法对比研究
一种改进的变步长LMS自适应滤波算法
人工智能
基于特征聚类集成技术的在线特征选择
Kmeans 应用与特征选择
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究