基于注意力机制和EMD-GRU模型的电力负荷预测
2021-08-09黄元行刘晓波范津玮熊焱叶琦
黄元行 刘晓波 范津玮 熊焱 叶琦
摘 要:为提高非平稳性电力负荷的预测精度以及充分挖掘历史负荷数据的时序特征,本文提出了基于注意力(Attention)机制和经验模态分解(EMD)以及门控循环神经网络(GRU)组合的负荷预测方法。首先使用EMD对原始负荷数据进行EMD分解,继而得到有限个具有本征模态函数(IMF)的分量;然后考虑到各分量间的相关性,使用多层GRU网络对IMF分量进行多输入多输出预测,同时引入注意力机制,深入挖掘历史负荷数据的时序相关性特征;最后对多层神经网络输出的有限个分量预测结果进行重构得到最终的负荷预测值。算例分析采用贵州电网某地实际负荷数据,经过与不同模型进行预测误差分析和对比,本文所提方法能够有效提高预测精度。
关键词: 电力负荷预测; 经验模态分解; 门控循环神经网络; 注意力机制
文章编号: 2095-2163(2021)03-0033-06 中图分类号: TP18 文献标志码: A
【Abstract】In order to improve the prediction accuracy of non-stationary electric load and fully exploit the time-series characteristics of historical load data, this paper proposes a method of load prediction based on a combination of Attention mechanism and empirical modal decomposition (EMD) and gated recurrent unit (GRU). Firstly, EMD is used to decompose the original load data, and then some components with intrinsic modal functions (IMFs) are obtained; subsequently, considering the correlation among these components, a multi-layer GRU network is used to predict the IMF components with multiple inputs and multiple outputs, and the Attention mechanism is also introduced to deeply explore the time-series correlation characteristics of the historical load data; finally, the results of load prediction are obtained by reconstructing the finite components from the multilayer neural network. The actual load data of a place in Guizhou power grid are used to the simulative analysis, and the prediction errors of different models are compared, which shows the proposed method could effectively improve the prediction accuracy.
【Key words】 power load forecasting; empirical modal decomposition; gated recurrent unit; Attention mechanism
0 引 言
隨着智能电网的发展,配电侧用电负荷呈现多元化,电网负荷波动性和尖峰性较为明显,其对电网的调度和运行规划提出了更高的要求。因此,准确而实时的负荷预测有助于电网的经济和可靠运行。同时随着调度系统对负荷的采集频率和数据准确性也不断提升,为负荷特性分析和负荷预测提供了高质量、海量化的数据基础[1]。
过去由于预测算法的限制以及计算机并行处理的能力和电力负荷大数据的不足,负荷预测通常采用经典的预测方法如回归分析法[2]、时间序列法[3]和传统的负荷求导法、指数平滑法[4]、卡尔曼滤波法[5]以及灰色预测法[6]等。近年来,随着计算机和智能算法的发展,以小波分析法、支持向量机、专家系统以及人工神经网络为代表的智能预测方法使得负荷预测的精度越来越高。文献[7]通过循环神经网络(Recurrent Neural Network, RNN)将上一时刻的神经元状态值输入当前神经元,实现了时间序列数据的挖掘,但是循环神经网络无法对长时序数据进行特征提取。文献[8]通过长短期记忆神经网络(Long Short-Term Memory, LSTM)网络有效解决了RNN梯度消失问题且可以有效地处理和挖掘长时间序列的有效信息,但是单一的LSTM网络在数据特征提取上效果不明显。文献[9]先通过卷积神经网络(Convolutional Neural Networks, CNN)提取特征向量,将特征向量以时序序列方式构造并作为门控循环神经网络(Gated Recurrent Unit, GRU)输入数据从而提高预测精度,但是CNN对单变量的负荷数据特征提取不明显。考虑到负荷数据的非平稳性特点,文献[10]通过经验模态分解(Empirical Mode Decomposition, EMD)对原始数据进行分解得到有限个本征模态(Intrinsic Mode Function, IMF)分量,然后再对每个分量进行LSTM模型预测,但是单独的分量重构未考虑到分量间的相关性。文献[11]使用了注意力机制与LSTM结合,利用注意力机制对历史数据进行侧重点的学习,增强网络的关注点。以上文献算法较于单一,在处理非平稳性负荷数据时有所不足。
为了减小直接对非平稳性时序数据直接预测所带来的误差,本文首先使用EMD对数据进行分解,得到有限个平稳性IMF分量;为了减少超参数设置,提高训练效率,同时考虑到由原始负荷数据进行EMD分解得到的每个IMF分量之间存在一定相关性,使用GRU网络对所有IMF分量进行多输入多输出预测;为了提高GRU网络对历史数据特征的学习能力,在GRU网络中引入注意力机制重点关注历史数据的时序相关性特征;最后对输出的IMF分量预测结果进行重构,得到最终的负荷预测结果。本文选取了GRU模型、EMD-GRU模型以及本文提出的含注意力机制的EMD-GRU模型进行实验误差分析,经过算例分析表明,本文所提含注意力机制的EMD-GRU模型能够有效提高负荷预测精度。
1 原理分析
1.1 EMD基本原理
经验模态分解(EMD)是一种新的自适应处理非平稳信号分析方法,适用于处理非线性、非平稳性的时间序列数据。短期的电力负荷数据常呈现非线性、非平稳性等特点,受影响因素较多,波动性较大,将其看作是标准的非平稳性时间序列数据,使用EMD对其进行分解可以得到不同时间尺度的平稳性分量。对时间序列数据x(t)进行经验模态分解包含有以下几个步骤:
(1)找出原始数据x(t)的所有极大值点,并使用三次样条插值函数拟合出原始数据的上包络线US(t),并使用同样的方法找出原始数据的下包络线VS(t),并运算求出均值包络线m1。具体公式为:
(2) 使用原始信号减去均值包络线得到中间信号c1(t)。具体公式为:
(3)判断该中间信号是否满足IMF的2个条件,即:
① 在整个数据段内,极值点的个数和过零点的个数必须相等或相差最多不能超过一个。
② 在任意时刻,由局部极大值点形成的上包络线和由局部极小值点形成的下包络线的平均值为零。
如果满足这两个条件,该信号就是一个IMF分量;如果不满足,则以该信号为基础,重新做(1)~(3)的分析。
(4)当中间信号满足2个条件时,令c1(t)=IMF1,用原始信号减IMF1,作为新的原始信号。具体公式为:
(5)重复通过(1)~(4)的分析,可以得到IMF2,以此类推,完成EMD分解。最终得到n个IMF分量和一个残余分量rn。具体公式为:
1.2 GRU基本原理
为了解决传统循环神经网络在训练长序列数据时产生的梯度消失以及梯度爆炸问题,长短期记忆神经网络(LSTM)通过在循环神经网络的神经元中加入输入门、输出门和遗忘门来控制存储单元中的信息,从而提高网络的记忆能力[12]。但是在面对大量数据时,LSTM需要设置的参数较多,训练时间长,收敛速度慢。
门控循环神经网络(GRU)是LSTM的一个变体[13]。相较于具有3个门的LSTM,GRU只有2个门:更新门和重置门。使用更新门代替了LSTM中的输入门和遗忘门。这样的设计结构使得GRU参数设置减少,收敛速度更快,有效提高了训练效率[14]。GRU网络结构如图1所示。对图1中的结构阐析,拟做研究分述如下。
(1)更新门:决定了前一時刻有多少状态历史信息被保留到当前状态中,同时决定了保留多少当前时刻的候选状态信息。此时需用到的公式为:
(2)重置门:决定了当前时刻的状态对上一时刻网络状态的依赖程度,此时需用到的公式为:
在此基础上,研究推导可得候选隐藏状态的数学公式为:
其中,tanh为激活函数;Wc、bc为隐藏状态单元的权重矩阵、偏置。
最终,可得当前时刻的网络状态输出为:
1.3 Attention机制
Attention机制的本质是模仿人类视觉注意力的资源分配机制,特定时刻人的大脑只会将注意力集中在某一重点关注的区域[15],从而减少对其他区域的关注。这样的关注方式可以减少资源损耗,从重点需要的区域获取更有用的特征信息,提高任务效率。从网络结构上来说,注意力机制通过对数据输入进行关注,学习出一个对数据特征的权重分布,再把学习到的权重施加到原来的数据特征上,为后续对数据的处理能够提供一个突出的特征影响,使重点特征得到更大的关注。Attention机制的模型结构如图2所示。
2 含注意力机制的EMD-GRU预测模型
2.1 输入数据处理
为了便于模型的训练,本文先对输入数据进行处理,由于所使用的数据无缺失、异常等问题,现只需对输入数据进行MinMaxScaler归一化处理,公式为:
2.2 含注意力机制的GRU网络结构设计
本文设计使用了2层GRU网络,并在GRU层后加入注意力层,而后通过一个全连接层输出全部分量的预测结果。含注意力机制的多层GRU网络结构如图3所示。
基于keras的GRU模型参数设置为:2层GRU网络,每层网络神经元数目为128个,激活函数使用修正线性单元(ReLU),并采用100次epochs迭代训练,损失函数采用均方误差MSE,梯度优化函数使用Adam可以更快收敛,并提高准确率。
2.3 含注意力机制的EMD-GRU模型预测流程
本文采用含注意力机制的EMD-GRU模型,EMD部分对数据进行分解,把非平稳性数据分解成多个平稳性分量;GRU对负荷数据进行多输入多输出短期预测,同时使用Attention机制进行历史数据学习,选择负荷数据的历史时序状态特征,增加网络对历史时序特征的关注。对此预测流程,可做分述如下。
(1)先对原始数据进行归一化,使数据分布在[0,1]区间,以便后续模型的训练。
(2) 对归一化的数据进行EMD分解,分解成有限个不同频率的IMF分量和一个趋势分量。
(3) 本文在大量的历史负荷数据的基础上,同时考虑到每个分量之间的相关性,对所有分量建立了2层GRU神经网络模型。为了深入挖掘历史负荷曲线特征,在GRU模型中加入Attention机制进行历史数据的时序状态特征学习,获取历史时序状态权重,为预测提供关键信息。
(4) 根据得到的每个IMF分量预测数据进行重构获得最终的负荷预测结果。
含注意力机制的EMD-GRU预测模型流程图如图4所示。
2.4 评价指标
本文选取均方根误差(RMSE)、平均绝对百分误差(MAPE)来评价模型的预测准确性。其公式分别为:
3 算例分析
选取贵州某地电网2019年10月27日至2020年10月25日电力负荷数据作为数据集,采样时间间隔为10 min,总计364天,有52 560个数据。同时划分2019年10月27日至2020年10月18日的12个月数据为训练集,用于模型的训练,调整模型的权重。以2020年10月19 ~ 25日一个星期数据作为测试集,用于評估模型的预测精度。基于此则在同一数据集下,分别采用GRU、EMD-GRU和含注意力机制的EMD-GRU三个模型进行负荷预测,并对3个模型进行评价。
3.1 数据展示
算例分析使用的2019年10月27日到2020年10月25日实际负荷数据如图5所示。从图5中可以看出,该地区2020年负荷基本稳定在均值800 MW。在一年的负荷趋势中,11月和12月具有最大值,尖峰性较为明显;在2月中达到最小值,这是由于2月处于春节假期,并且2020年由于疫情影响,企业还未复工复产,因此总体负荷偏小;到3月以后疫情控制有利,企业逐渐开始有序复工复产,总体负荷逐渐增加;4~10月期间总体负荷较为稳定。
3.2 EMD分解结果
负荷数据经过EMD分解以后得到13个IMF分量和一个趋势RES分量,各分量如图6所示。从图6中可以看出每个IMF分量频率都是从高频到低频分布,同时高频分量的周期性比较明显,而低频分量具有一定的趋势性。在RES分量中,分量变化趋势从高到低,这与原始负荷数据整体负荷从高到低变化趋势相符。
3.3 含注意力机制的EMD-GRU模型预测结果
为了更好地体现出模型预测的效果,把作为比较的GRU和不含注意力机制的EMD-GRU模型预测结果也进行叠加得到不同模型的预测曲线图,其中含有注意力机制的EMD-GRU模型缩写为AT-EMD-GRU。3个模型6月1日一天的预测结果见图7。由图7中可以看出,含有注意力机制的EMD-GRU模型预测的结果与实际值更接近,更能拟合真实值,具有更好的预测精度。
不同模型预测七天的指标对比结果见表1。从指标对比可以看出,含有注意力机制的EMD-GRU模型(AT-EMD-GRU)预测误差比其他模型更小。在7日均误差中,含注意力机制的EMD-GRU模型在RMSE、MAPE误差指标中相对于GRU模型分别降低了2.64 MW和0.22%;相对于EMD-GRU模型分别降低了1.37 MW和0.05%。同时从每日的误差指标中也可以看出,使用EMD-GRU模型预测的误差要比直接使用GRU预测的误差有很大降低,加上注意力机制的EMD-GRU模型预测误差又比EMD-GRU模型预测误差有了小幅的降低,这表明注意力机制在重要时间特征上发挥了作用。
图8为含注意力机制的EMD-GRU模型预测一个星期的误差。从图8中可以看出,一周内最大RMSE为18.89 MW,最小RMSE为13.6 MW,最大MAPE为2.07%,最小MAPE为1.3%。最大误差出现在星期天,最小误差出现在星期六。另外,周一至周五预测误差相差不大,而周末预测误差相对较大。这与实际负荷变化中工作日负荷变化规律性较强而休息日负荷波动较大的情况相吻合。
4 结束语
为了有效处理非平稳性负荷数据以及进一步提高负荷预测的精度,本文提出了含注意力机制的EMD-GRU负荷预测方法。模型首先对原始数据进行了EMD分解,然后再对平稳性的IMF分量进行预测,降低了直接对非平稳性负荷数据进行预测带来的误差;构建多层GRU网络并加入了Attention机制,深入挖掘当前数据与历史数据在关键时间上的相关性特征,进一步提高预测精度;使用贵州某地实际负荷数据进行实例分析并与3个不同模型进行指标对比,验证了本文所提方法的有效性。
参考文献
[1]陆继翔,张琪培,杨志宏,等. 基于CNN-LSTM混合神经网络模型的短期负荷预测方法[J]. 电力系统自动化,2019,43(8):131-137.
[2] 李春涛,李啸骢,袁辉,等. 基于改进灰色模型的短期负荷预测[J]. 电气开关,2017,55(2):11-13,96.
[3] 杨正瓴,张广涛,林孔元. 时间序列法短期负荷预测准确度上限估计[J]. 电力系统及其自动化学报,2004(2):36-39.
[4] CHARLTON N, SINGLETON C. A refined parametric model for short term load forecasting[J]. International Journal of Forecasting,2014,30(2):364-368.
[5] QIU Xueheng,REN Ye,SUGANTHAN P N,et al. Empirical mode decomposition based ensemble deep learning for load demand time series forecasting[J]. Applied Soft Computing,2017,54:246-255.
[6] 赵峰,孙波,张承慧. 基于多变量相空间重构和卡尔曼滤波的冷热电联供系统负荷预测方法[J]. 中国电机工程学报,2016,36(2):399-406.
[7] ZHENG J,XU J A,ZHANG C A,et al. Electric load forecasting in smart grids using long-short-term-memory based recurrent neural network [C]// 2017 51st Annual Conference on Information Sciences and Systems (CISS). Baltimore, MD,USA:IEEE,2017:1-6.
[8] 陈卓,孙龙祥. 基于深度学习LSTM网络的短期电力负荷预测方法[J]. 电子技术,2018,47(1):39-41.
[9] 张立峰,刘旭. 基于CNN-GRU神经网络的短期负荷预测[J]. 电力科学与工程,2020,36(11):53-57.
[10]任成国,肖儿良,简献忠,等. EMD-LSTM算法在短期电力负荷预测中的应用[J]. 电力科学与工程,2019,35(8):12-16.
[11]彭文,王金睿,尹山青. 电力市场中基于Attention-LSTM的短期负荷预测模型[J]. 电网技术,2019,43(5):1745-1751.
[12]李鹏,何帅,韩鹏飞,等. 基于长短期记忆的实时电价条件下智能电网短期负荷预测[J]. 电网技术,2018,42(12):4045-4052.
[13]邓带雨,李坚,张真源,等. 基于EEMD-GRU-MLR的短期电力负荷预测[J]. 电网技术,2020,44(2):593-602.
[14]朱伟,孙运全,钱尧,等. 基于CEEMD-GRU模型的短期电力负荷预测方法[J/OL]. 電测与仪表:1-8[2020-07-28]. http://kns.cnki.net/kcms/detail/23.1202.TH.20200727.1613.026.html.
[15]赵兵,王增平,纪维佳,等. 基于注意力机制的CNN-GRU短期电力负荷预测方法[J]. 电网技术,2019,43(12):4370-4376.