王立则,谢 东*,周立峰,王汉青
(1.南华大学 土木工程学院,湖南 衡阳 421001;2.南华大学 建筑环境控制技术湖南省工程实验室,湖南 衡阳 421001)
负荷预测依据预测时间长短可分为长期、中期、短期和超短期。其中,短期负荷预测主要用于制定电力负荷调度计划,包括设备检修、确定负荷分配比例、控制电网功率平衡等。准确的短期负荷预测有利于电力系统对用电量的精准把控和有效调度,有利于制定电力生产计划、确定配电网运行方式等。
短期电力负荷受多种因素影响(气象因素、日类型等),导致电力负荷呈现较高的随机性和波动性。因此,短期负荷预测的难点在于需要充分挖掘电网负荷的变动规律,分析影响负荷的多维输入特征,研究气象因素和日期因素对负荷的影响,充分提取重要特征进行模型预测。目前,常用的短期电力负荷预测模型主要分为两类。一类是传统的数理统计模型(如多元线性回归[1]、卡尔曼滤波[2]等),其特点是模型简单、计算效率高,但对非线性问题处理能力差,不适用于随机性大的短期电力负荷。另一类是基于机器学习的预测模型,主要包含单一模型和组合模型。
单一模型又分为传统机器学习方法和深度学习方法。传统的机器学习模型如反向传播(back propagation,BP)神经网络[3]、支持向量机(support vector regression,SVR)[4]、随机森林[5]等,在处理时序相关性、模型稳定性等表现不佳。深度学习模型如长短期记忆(long short-term memory,LSTM)神经网络、卷积神经网络(convolutional neural network,CNN)等。文献[6]和文献[7]利用LSTM模型对短期电力负荷进行预测,在时间序列处理方面取得了较好的预测结果。为了更好地学习过去和未来的信息,文献[8]和文献[9]使用双向长短期记忆网络(bi-directional long short-term memory,BiLSTM)进行负荷预测,模型充分提取数据的前后信息,提升了单个LSTM的准确率。
组合模型是将多种模型算法有效组合起来对短期电力负荷进行预测,有利于结合不同算法的优势满足工程的实际需要,以达到更高的预测精度。一般情况下,组合模型预测精度高于单一模型[10]。文献[11]提出CNN-LSTM神经网络模型,通过CNN强大的特征提取能力与LSTM结合,其预测结果优于单一的LSTM预测模型。文献[12]将CNN与BiLSTM组合模型,该方法通过CNN提取特征向量,利用BiLSTM进行双向网络训练,证明了组合模型的最新性能。上述研究均在单一输入特征的短期电力负荷预测取得了较好的结果,但实际电力系统工程中,短期电力负荷数据受多维输入特征的影响。因此,为进一步提高预测精度,保证多维输入特征信息不被丢失还需进一步研究。
注意力(Attention)机制通过将注意力集中到关键位置,降低非关键位置的分配权重,突出更相关的影响因素,帮助模型做出准确的判断[13]。文献[14]提出基于Attention机制的CNN-LSTM短期电力负荷预测方法,通过实验证明Attention机制在特征提取方面的有效性。文献[15]提出基于注意力机制的CNN和门控循环单元(gated recurrent unit,GRU)的短期电力负荷预测方法,结合Attention机制突出关键特征。对比CNN-GRU,Attention机制减少了模型参数的同时提取了重要特征,但是这样容易损失时序数据的位置信息以及特征的重要信息。
另外,A.Vaswani等人提出的Transformer模型中利用残差网络(residual network,ResNet)将数据进行残差运算,让模型更好的学习新的特征,防止梯度消失和梯度爆炸[16]。ResNet使得模型容易优化,并能够通过增加相当的深度来提高准确率[17]。文献[18]将ResNet-LSTM与Attention结合实现多元负荷的联合预测,利用ResNet做为特征提取单元,挖掘多能耗之间的空间耦合交互特征。因此,本文将Attention机制提取后的特征信息通过添加残差网络让模型更好地学习新特征。
为提高短期负荷预测精度,本文提出了一种结合Attention和ResNet的BiLSTM-CNN短期负荷预测模型,简称CNN-BiLSTM-Att-ResNet模型。该模型整合了CNN、BiLSTM、Attention、ResNet模块的各自特点,首先利用CNN提取短期电力数据的特征向量,学习潜在的特征关系,将提取的特征向量作为BiLSTM网络的输入,通过Attention机制加强关键信息对负荷的影响,利用ResNet进行残差运算,让模型学习残差,从而获取到更直接的多维时序特征,最后通过全连接层输出,进一步提高模型预测精度。将本文构建的结合Attention和ResNet的BiLSTM-CNN短期负荷预测模型,采用某电力数据集进行实验并与5种典型的预测模型进行比较,结果表明本文提出的模型在短期电力负荷预测上有更高的预测精度。
本文创新点如下:设计了一种结合Attention和ResNet的BiLSTM-CNN短期负荷预测组合模型,首次将此模型应用在负荷预测领域,丰富了经验模型算法库的多样性。通过定量评估实验结果,相比于其他模型,本文所提模型在短期负荷预测取得了更高的预测精度,并且该模型还可以应用于其他领域,为机器学习在其他领域的应用提供有力参考。
CNN通过局部连接和权值共享提取局部特征信息。其模型结构(输入层、卷积层、池化层和全连接层)中,卷积层和池化层用于对输入特征信息的卷积处理和降维运算;全连接层和输出层用于将模型训练结果输出[19]。
本文采取一维卷积,直接将时间序列数据作为模型的输入,可以降低特征提取和数据重构的复杂程度,更有效地挖掘数据之间的关系,并将提取的特征处理后传入BiLSTM。
因循环神经网络存在长期依赖和梯度消失的问题[20],LSTM在其基础上增加了三种门结构,输入门it、遗忘门ft、输出门ot。
(1)
式中:xt为输入序列;ht-1为上一时刻的状态记忆量;σ为激活函数,W为权重矩阵;b为偏置。
虽然LSTM模型具有记忆功能,可节省一些处理时间序列信息的时间,随着模型长度的增加,平均权重分布会降低模型的判别能力,在模型的训练过程中会忽略一些重要的时间序列信息,从而影响模型的预测精度[14]。在短期负荷预测中,当前时刻的输出不仅与过去时刻状态信息相关,还与未来时刻的状态信息有关,BiLSTM可以实现结合过去和未来信息对当前时刻进行预测,提高当前时刻的预测精确度[21]。
BiLSTM仍然无法充分地提取多维特征之间的关系,因此引入了Attention机制。Attention机制是一种用于优化编解码器结构模型的机构,它可以根据实际情况与多种模型相结合。具有Attention机制的编解码器模型首先从序列中学习每个元素的权重,然后按权重重新组合元素[22]。通过为每个输入元素分配不同的权重参数,注意力机制可以更多地关注与输入元素相关的部分,从而抑制其他无用信息。注意层的计算过程如下所示:
(2)
式中:et为t时刻的注意力分布;u、w为权重;b为偏置;αt为BiLSTM中各通道信息的不同权重值;st为带有Attention的BiLSTM输出。
随着深度学习的发展,越来越多的深度神经网络模型出现,结构也愈加复杂[23]。深度达到一定程度时,模型的准确率又开始下降。因此,深度残差模型被K.He等[24]提出,解决了网络退化问题,使模型的准确率得到提升。其内部的残差块使用了跳跃连接,有效缓解了深度神经网络中存在的梯度消失问题[25]。从而实现去掉相同主体部分,突出微小变化的目的。
x为信息输入,H(x)为特征的信息输出,F(x)为残差,残差函数表示为:
F(x)=H(x)-x
(3)
x通过直接与后边的接入层相互连接使得后边的层可以学习到残差,残差结构通过恒等映射来增加模型的深度。其计算公式为:
(4)
式中:xL为第L层的单元特征,当残差值为0时,残差网络相等于一个恒等映射,即H(x)=x,保证模型的训练精度不会下降。但是在实际应用中,由于数据的复杂性和多样性,残差值不会为0,结果是模型在不断的堆叠层,更好的学习新特征。
(5)
模型由输入层、CNN层、两个ResNet-block块、全连接层、输出层构成,每个ResNet-block块包含BiLSTM层、Attention层、ResNet层。
基于注意力和残差网络的CNN-BiLSTM短期电力负荷预测模型结构主要由6部分组成,模型结构如图1所示。
图1 CNN-BiLSTM-Att-ResNet模型结构图
1)输入层:将短期电力负荷数据及与负荷数据相关的气象、时间因素作为输入变量x,设数据长度为n,则表示为x:
x=[x1,x2,x3,…,xn]T
(6)
2)CNN层:CNN层利用一维卷积层对输入变量进行卷积运算和降维处理,提取多维时序特征之间的潜在关系,消除噪声,保证了第一步特征提取的完整性。设CNN层输出为c:
c=CNN(cn-1,xn)
(7)
3)BiLSTM层:BiLSTM层接收CNN输出的c作为新的输入变量,将卷积后的特征信息进行学习,同时兼顾特征信息的前后输入,捕获长短期之间的依赖关系,充分提取数据的所有信息输出状态为b:
b=LSTM(bn-1,cn)⊕LSTM(bn+1,cn)
(8)
4)Attention层:注意力层计算BiLSTM处理后双向时序特征向量不同的权重并进行分配,突出更关键的信息并赋予更高的权重,其权重矩阵为α,输出为a:
a=αnbn
(9)
5)ResNet层:在Attention层之间创建残差单元,增强梯度传播,提高模型的训练速度,充分挖掘短期电力负荷多维特征之间的耦合关系,设输出为r:
r=a1+a2
(10)
6)输出层:通过全连接层输出短期电力负荷预测模型的预测结果,激活函数为ReLU函数,设L,d分别为权重矩阵和偏置向量,模型输出结果y表示为:
y=ReLU(Lr+d)
(11)
超参数的选择不但影响算法运行的时间成本和模型质量,而且极大影响组合模型的预测精度。除了神经网络层的参数选择外,滑动窗口的宽度和输入特征的维度均对模型预测结果产生较大影响。
本文通过网格搜索选择神经网络层的参数,通过设置滑窗翻倍的方式对时间窗口大小进行实验,研究不同宽度的时间窗口对负荷预测的影响,影响逐时电量的指标包括最大温度、最小温度、平均温度、露点温度、体感温度、热指数、风寒指数、阵风、云量、湿度、降雨量、大气压、可见度、风向度、风速、时、日、月和年共19项。由于相关性较小的特征会在模型的训练中提供不必要的信息,从而影响模型的鲁棒性,因此对所有特征进行了皮尔逊相关分析,在最优网络层参数及最优时间窗口大小固定的条件下,根据相关性大小对输入特征进行组合实验。相关系数r计算公式如下。
(12)
在验证集上进行评估得到最佳的参数配置,如表1所示。
表1 各短期负荷预测模型的最优参数配置
数据集为2019年6月25日至2020年6月25日某电力数据集,包括气象参数和逐时负荷,共8 762×16条数据。以8∶1∶1划分训练集、验证集和测试集。为消除量纲影响,对数据进行归一化处理,公式如下:
(13)
式中:x为原始值,xmax为极大值,xmin为极小值。
本文的评价指标为:平均绝对百分比误差(MAPE)和均方根误差(RMSE)。MAPE可以反映预测值和实际值之间的关系,而RMSE对偏离实际值较大的预测值的惩罚效果更强。其中,评价值越小,模型性能越优。计算公式如下:
(14)
(15)
分区负荷模型验证时,增加了决定系数(R2)和平均绝对误差(MAE),其计算公式如下:
(16)
(17)
1)全年负荷预测
为验证本文提出的基于CNN-BiLSTM-Att-ResNet模型在逐时负荷预测精度方面的优势,采用5种典型的机器学习模型(CNN-BiLSTM、CNN-BiLSTM-ResNet、CNN-BiLSTM-Attention、XGBoost、BP)进行对比,分别记录每种模型对测试集进行逐时负荷预测的最优结果,不同模型在测试集的评价结果对比如表2所示。选取测试集中未来一周各个模型的预测结果进行对比如图2所示,可知本文所提组合模型在测试集上与实际符合拟合度最高,具有较高的预测精度。
表2 不同模型评价比较
图2 不同模型未来一周的预测值与实际值对比
由表2可知,与机器学习模型(BP、XGBoost)对比,本文提出的模型CNN-BiLSTM-Att-ResNet的MAPE分别降低了2.65%和1.57%,RMSE分别降低了52.85%和44.44%。与经典的深度模型(CNN-BiLSTM、CNN-BiLSTM-ResNet和CNN-BiLSTM-Attention)相比,本文提出的组合模型MAPE分别降低了1.27%、0.94%和0.89%,RMSE分别降低了43.42%、41.42%和39.78%。
分别分析Attention和ResNet对预测结果的影响,在测试集中,CNN-BiLSTM-Attention相比于CNN-BiLSTM,MAPE提高了0.38%,RMSE降低了6.05%。CNN-BiLSTM-ResNet相比于CNN-BiLSTM,MAPE降低了0.33%,RMSE降低了3.42%。所提模型在同时加入Attention和ResNet的情况下,相比于CNN-BiLSTM模型,MAPE降低了1.27%,RMSE降低了43.42%。
为验证模型在波动性强、随机性大的电力负荷的预测效果,在图3中显示了2022年5月21日前后的日逐时负荷预测结果。可见在波动性强的负荷区域,所提模型相比于其他模型具有更高的预测精度。
图3 日负荷预测值与实际值对比
2)分区负荷预测
为验证模型的泛化性及鲁棒性,并评估所提方法的性能,本文进行了分区实验,将数据集分为6个分区。训练集为两个月逐时负荷,验证集为一周逐时负荷。第一个分区中,训练数据是2019年6月25日至2019年8月18日收集的逐时负荷数据,测试数据为2019年8月18日至2019年8月25日的逐时负荷数据。依次类推,得出以下分区。表4显示了所提模型在6个分区的评估指标,模型拟合程度最低为94.5%,最高为98.9%,表明所提模型在各分区均具有较高的预测精度。
表3 六个分区的模型评估误差
为预测短期电力负荷,本文构建了结合Attention和ResNet的CNN-BiLSTM混合模型,先利用CNN进行空间特征提取,接着输入到BiLSTM对时序数据进行分析处理,并通过Attention机制赋予不同权重,通过残差网络进行连接,最后通过全连接网络输出。通过实验分析,得出如下结论:
1)相比于BP模型和XGBoost模型,本文所提模型在准确率和拟合情况方面均具有明显的优势,证明了在波动性强和随机性大的短期电力负荷预测序列中,所提模型具有更高的准确率。
2)在具有气候因素和日期因素的多维输入特征中,为突出本文方法的准确性,分别在基准模型CNN-BiLSTM中增加残差连接和注意力机制,通过某电力负荷数据实验,与常用的经典算法比较,本文所提模型的预测精度更高。