APP下载

基于注意力机制的CNN-LSTM短期电力负荷预测方法

2021-02-03赵红涛刘敦楠加鹤萍王宣元

关键词:卷积注意力负荷

魏 健,赵红涛,刘敦楠,加鹤萍,王宣元,张 浩,刘 蓁

(1.华北电力大学 数理学院, 北京 102206;2.华北电力大学 经济与管理学院, 北京 102206; 3.冀北电力交易中心有限公司,北京 100053)

0 引 言

提高短期电力负荷预测的预测精度,是保障电力系统安全可靠、经济高效运行重要手段[1]。短期电力负荷值的变化规律受多种因素影响,诸如时间序列等传统的方法难以胜任复杂的预测,而机器学习中以卷积神经网络(Convolutional Neural Network, CNN)为主体构建的预测模型是短期电力负荷预测方法的典型,在很多行业的预测中也体现了较高的准确性[2]。

目前电力负荷预测的方法主要包括支持向量机(Support Vector Machine, SVM)和神经网络[3]等,能够较好地处理非线性问题。然而,SVM方法在处理大规模数据方面存在一定困难,而CNN方法能充分解决大规模负荷数据中存在的非线性问题,因此在预测领域中得到应用广泛[4]。

文献[5,6]利用CNN模型提取输入数据的特征来进行负荷预测,指出CNN在学习非线性序列的负荷数据方面准确率更高。然而,当负荷数据波动性和不稳定性较大时,单一的 CNN模型难以较好地学习负荷的变化规律。文献[7]提出了基于长短期记忆网络(Long Short-Term Memory, LSTM)的短期电力负荷预测方法,并说明了这种方法在提取负荷值时序特征的有效性。文献[8]提出一种结合CNN与LSTM 的短期电力负荷预测模型,解决了LSTM因输入过长导致准确率下降的情况。文献[9]探究了城市不同种类负荷的预测方法。文献[16]也指出LSTM-CNN模型在训练速度和拟合效果上要强于单独的CNN或LSTM模型。

LSTM、RNN等方法在输入序列过长时容易丢失序列信息,从而在一定程度上影响了负荷预测的准确度。针对LSTM等方法存在的问题,本文首先分析电力负荷特点,提出基于注意力机制的CNN-LSTM模型,对LSTM隐含层赋予不同的概率权重[10],从而加强重要信息的影响,在很大程度上解决了输入序列过长丢失序列信息得问题,提高电力负荷预测精度。最后,通过算例分析,将本文所提方法与典型方法进行对比,指出本文所提方法具有更高的预测精度。

1 电力负荷特点

电力负荷每时每刻都在变化,在时间上具有周期性、波动性和随机性的特点[11]。周期性是根据季度、月,甚至小时、分钟,具有规律性的变化,大周期之内可能存在小周期。波动性指电力负荷值会出现震荡变化现象,随机性指电力负荷值的波动呈现一定的无规律性,波动幅度也因为各种因素的影响而存在不同。

以我国某地区的2013年3月28日至2017年9月30日的电力负荷值为例,如图1所示。从图1来看,该地区的年负荷曲线存在夏季和冬季两个高峰负荷,尤其是夏季高峰明显高于其它季节。考虑不同季节下电力负荷值的变化极大,本文考虑不同季节的负荷特点进行电力短期负荷预测。

图1 某市年负荷曲线图

2 基于注意力机制的CNN-LSTM负荷预测

2.1 LSTM原理结构

LSTM分为遗忘门、输入门和输出门。遗忘门对前面时刻的记忆信息和新输入的信息进行选择[12],通过sigmoid函数进行筛选,当值为1时代表所有信息全部通过,值为0代表所有信息均不能通过。由于遗忘门的存在,LSTM很难会发生梯度消失现象。LSTM各个计算细节如下:

遗忘门可以描述为(1)式所示。

ft=sigmoid(wf[ht,xt]+bf)

(1)

这里ft代表的是通过的信息量。

输入门可以描述为(2)-(3)式所示。

it=sigmoid(wi[ht-1,xt]+bi)

(2)

(3)

细胞状态(信息传导)Ct如式(4)所示。

Ct=Ct-1ft+itCt

(4)

输出门Ot如式(5)-(6)所示.

Ot=sigmoid(wo[ht-1,xt]+bo)

(5)

ht=Ot*tanh(Ct)

(6)

在(1)-(6)式中,wf,wi,wc,wo均为权重指标,bf,bi,bc,bo均为偏移量。

相比于RNN模型,LSTM增加了多个门的设置,特别是遗忘门的设置,可以对上一个时段的输入信息进行筛选,从而保留关键信息,遗忘一部分不重要信息,这是LSTM能克服梯度消失的关键。但是,LSTM在输入序列过长时仍会有丢失重要数据信息的现象,因此,需要CNN对原有数据进行处理,过滤掉一部分不重要信息,从而提高负荷预测的准确度。

2.2 CNN原理结构

CNN[13]的主要作用是对数据进行特征提取,CNN由卷积层、池化层、全连接层构成。卷积层是提取特征的关键,由卷积核负责提取相应的数据特征,卷积核数量越多,提取的特征就越抽象[14]。池化方式分为最大池化、平均池化等方式,本文采取最大池化的方式,使用RELU激活函数来忽略一些不重要的特征,RELU激活函数是一个分段线性函数,其具体表达式如(7)式。全连接层的作用是把经过池化之后的神经元展开为一维向量形式,进而更加方便的对数据进行处理。然而,CNN在预测中难以学习时序数据之间的关系,因此,需要RNN系列典型方法的强化,将CNN方法与LSTM方法结合。

(7)

2.3 注意力机制

注意力机制是一种模拟人脑注意力的资源分配机制,人脑在某个特定时刻会将注意力集中在需要重点关注的区域,减少甚至忽略对其他区域的关注,以获取更多所需要关注的细节信息,抑制其他无用信息,忽略无关信息并放大所需信息[15]。注意力机制通过概率分配的方式,对关键信息赋予足够的关注,突出重要信息的影响,从而提高模型的准确率。注意力机制可以有效改进LSTM因序列过长而丢失信息的情况,同时以分配概率的方式代替原先随机分配权值的方法。

2.4 基于注意力机制的CNN-LSTM负荷预测流程

本文所用模型的流程图如图2所示,具体描述如下。

图2 模型流程图

(1)数据预处理:包括进行归一化、删除缺失值等。

(2)模型训练:将训练集的数据输入模型进行训练,由CNN层提取特征,LSTM学习负荷值的时序特征,同时使用Dropout方法来抑制过拟合。

(3)预测结果输出:注意力机制决定输出权重值,得到负荷预测输出值。

3 算例分析

3.1 电力负荷时间序列分析

本文采用的电力负荷数据是我国某地区2013年3月至2018年9月的负荷值数据,每天采集24个点,时间间隔为1 h。首先对数据进行预处理,其中包括缺失值填充及数据归一化处理等,有效数据为40 000条。通过对数据的初步分析发现,随着季节的变化,电力负荷数据有明显的周期性规律,且夏季和冬季的负荷值明显高于春秋季,且相对于春秋两季的负荷值具有较大的波动,因此,本文采取不同季节的电力负荷预测方式。不同季节的电力负荷时序图如图3所示,横坐标均为不同季节对应的数据点,纵坐标为负荷值。

图3 某地区不同季节电力负荷

为了验证不同季节电力负荷数据的平稳性,本文采用ADF检验和P值检验,如表1所示。由表1得出,四季的数据均通过ADF检验和P值检验,采用CNN提取负荷特征并过滤无关信息也更加容易。

表1 ADF检验及P值检验

3.2 模型参数设置

本文提出的基于注意力机制的CNN-LSTM模型,采用一层卷积层、一层池化层。卷积核设置为5个,通道宽度设定为(6,1,1),池化层中stride=1。LSTM分为两层其后连接Dense层,本节中Dense层起到加强学习数据特征的作用,每层均设置16个神经元,输出层为1个神经元。将每个季节负荷值中的前9 000个数据作为训练集,后1 000个数据作为测试集,训练次数为1 000次,batch-size设定为8 000个,梯度下降的方式采用adam训练算法。

3.3 预测误差对比

本文采取平均绝对百分误差(Mean Absolute Percentage Error, MAPE)和均方根误差(Root Mean Square Error, RMSE)来展示不同方法的负荷预测误差,如式(8)-(9)所示。

(8)

(9)

表2列出本文所提出方法的预测误差与其他典型机器学习方法(CNN、LSTM、CNN-LSTM、SVM、随机森林)的预测误差对比。

由表2可知,本文所提出的预测方法对不同季节的负荷预测均有较小的预测误差,尤其是对于负荷值相对较高的夏季和冬季有很好的预测效果。

表2 不同预测方法的误差对比

3.4 真实值与预测值对比及原因探讨

在本节中,为了验证本文所提出方法的优越性,以夏季电力负荷数据位例,将CNN、LSTM、CNN-LSTM以及本文所提出的预测方法(基于注意力机制的CNN-LSTM)的预测值与真实值作对比。不同预测方法的预测值与真实值如图4所示。

图4 不同预测方法的预测值与真实值对比

(1)从CNN的对比可以看出,CNN在拟合的效果上要强于LSTM,这与CNN的卷积核能够提取负荷数据特征具有较大关系。例如卷积核提取了劳动节假期期间负荷值变化的特征,但是对于负荷曲线极值点处的预测效果较差。

(2)从图4(a)可以看出,LSTM在对负荷曲线高峰值处的预测比CNN较好,然而在在负荷值低峰值处的预测效果不及CNN。LSTM预测在MAPE的标准下略小于CNN。且LSTM更多的考虑整体特征,所以在整体曲线的走势上LSTM的拟合程度也很优秀。

(3)从图4(c)可以看出,CNN-LSTM在很大程度上结合了CNN与LSTM的优点,因而在MAPE和RMSE上比单一的CNN或LSTM要小。但是由于最后一层隐含层和输出层的权值是随机分配的形式,未能突出关键信息的影响,所以对于特征的抽取依然有待提高。

(4)从图4(d)可以看出,本文所提出的负荷预测方法在拟合度上大大增强,能够十分准确的判断真实值的走势,同时对于个别突变值的预测也大大强于前三者。

本文提出的方法通过CNN对负荷序列提取特征,再利用与注意力机制结合的LSTM学习负荷值中的时序特征,从而完成电力负荷预测。本文模型的MAPE在春夏秋冬四季分别为2.22%、1.18%、1.54%、1.49%。在负荷值最高的夏季,本文提出的模型与CNN、LSTM和CNN-LSTM、SVM、随机森林模型相比,MAPE分别降低了1.443%、1.074%、0.928%、2.04%、1.51%,RMSE分别降低了17.36、12.57、12.33、19.90、18.18。从而证实了本文提出的方法有一定的应用潜力。

4 结 论

本文考虑了不同季节的城市负荷值变化特点,从而根据季节划分将负荷值数据分为四类。考虑到数据波动较大时,CNN难以准确地学习数据特征;当输入序列过长时,LSTM会发生丢失序列现象;CNN-LSTM无法决定LSTM隐含层的权值,所以本文提出了基于注意力机制的CNN-LSTM的短期负荷预测方法。通过实例验证,本文方法有一定的应用前景。

猜你喜欢

卷积注意力负荷
人造革合成革拉伸负荷测量不确定度评定
3项标准中维持热负荷要求对比分析
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
A Beautiful Way Of Looking At Things
SGT5-4000F(4)燃气轮机夏季最大负荷研究及应用