基于CNN-BIGRU-ATTENTION的短期电力负荷预测

2022-03-15 09:45余俊杰李俊晓
计算机仿真 2022年2期
关键词:特征向量时序电价

方 娜,余俊杰,李俊晓,万 畅

(1.湖北工业大学太阳能高效利用及储能运行控制湖北省重点实验室,湖北 武汉 430068;2.湖北工业大学湖北省电网智能控制与装备工程技术研究中心,湖北 武汉 430068)

1 引言

短期负荷预测是维持电力系统经济运行以及实现安全稳定控制不可或缺的基础[1],作为电力调度的重要环节之一,其结果直接影响决策部门的行为,预测偏差过大将导致能源浪费和供需失衡,提高短期电力负荷预测的准确性和预测模型的稳定性尤为重要[2]。

电力负荷预测的模型大致可以分为四类:统计模型、基于知识的专家系统、混合模型和基于人工智能的模型[3],其中统计模型和人工智能模型逐渐成为负荷预测的主流。传统统计模型包括指数平滑法(Exponential Smoothing)[4]、自回归移动平均值(Auto Regressive Moving Average,ARMA)[5]和隐马尔可夫模型(Hidden Markov Model,HMM)[6]等,通过分析数据之间的相关性进行负荷预测,这些统计方法简单速度快,但存在局限性;另一类是基于人工智能的模型,包括人工神经网络(Artificial Neural Network,ANN)[7]、循环神经网络(Recurrent Neural Network,RNN)[8]、长短期记忆网络(Long Short-term Memory,LSTM)[9-10]和门控循环单元(Gated Recurrent Unit,GRU)[11]等,其中ANN具有自学习能力,可逼近任何非线性函数,但其无法学习序列数据相关性,需人为选择时间特征,可能会导致预测结果不理想。LSTM网络是一种特殊的RNN,相比ANN和传统RNN能更准确地学习时间序列中长期依赖性关系,解决了需要人工提取时序特征的问题,现阶段已有一些基于LSTM网络的短期负荷预测研究,但其存在收敛速度较慢的问题。GRU在LSTM的基础上进行改进,优化神经网络,具有更快的收敛速度,并保持与LSTM接近的准确率,十分适合处理时间序列数据。BIGRU[12]由双向的GRU层构成,将前后输入同时兼顾,能够充分提取数据的所有信息,在GRU的基础上提升特征提取的准确率。

因此为提高负荷预测精度,本文构建了一种基于注意力(ATTENTION)机制[13-14]的卷积神经网络(CNN)[15-16]和BIGRU网络的混合预测模型,简称CNN-BIGRU-ATTENTION网络混合模型。该模型整合了CNN、BIGRU和ATTENTION模块的各自特点,通过负荷预测的先验知识,输入负荷数据和电价数据,构造连续特征图;然后利用CNN提取特征图中时序数据之间的潜在关系,将处理后的特征向量作为BIGRU网络的输入;最后结合ATTENTION机制,进行动态时序建模,完成短期电力负荷预测。与仅使用BIGRU网络模型相比,CNN-BIGRU-ATTENTION混合模型中使用CNN模型提取出较为重要的特征,且在BIGRU模型后加上ATTENTION模块,突出经BIGRU分析后的重要时序特征,从而将模型中非重要特征的影响力削弱,解决了BIGRU模型未能较好区分时序特征重要程度的问题,进而提高了预测精度。

2 影响负荷预测的相关因素

传统方法将短期负荷预测影响因素主要归纳为三类:最近负荷或相似日负荷、气象信息、日期类型。但除了这些,也不可忽视实时波动的电价,用户的用电行为会被电价的波动影响。同时,历史负荷因其具有一定的周期性和规律性,在预测当前负荷值时,具有很好的参考价值。因此,本文选取电价及历史负荷作为负荷预测的影响因素。

图1是2016年丹麦西部两日的负荷和电价曲线,其中负荷与电价数值差异过大,为此将负荷数据通过标准化转为与电价数据的同样数量等级,具体方式如下:

1)用成倍缩小法即将该特征的所有取值都同时除以某个数η

(1)

本文负荷数据均为千位,因此将η取100。

2)计算特征的均值(mean)与标准差(std)。

3)特征的标准化

(2)

从图1可以看出,电价和负荷走势大致相似,随着负荷增加,电价也随之增长;随着负荷减少,电价也有减少的趋势。由此可知,用户在电价达到峰值时,会减少用电量,从而致使负荷减少;当负荷达到低谷时,也会通过降低电价的方式鼓励用户增加用电量。因此,在电力市场中电价和负荷存在着相互影响的关系。

图1 电价与负荷曲线

同时,预测效果的提高和处理效率的提升与采用合理的阶数有关。由于输入序列的长短不能随机选取,本文通过计算历史负荷数据集的自相关系数来确定,历史负荷数据为1小时取1负荷点。各阶自相关系数(Autocorrelation Coefficient,AC)的大小可反映各滞后阶状态间的相关关系。AC越大,相关性越好;AC越小,相关性越差,其计算公式为

(3)

图2是历史负荷数据集自相关系数曲线图,分别计算负荷序列滞后数为0阶到500阶的自相关系数。可看出数据集的自相关系数处于一种不断震荡的状态,具有一定周期性,同时也可看出每段波形的波峰与波谷之间的相差滞后阶数都十分接近,可知在这个滞后阶数内,序列之间的自相关系数较高。因此,为保证模型输入序列的整体的相关性较高,提升预测效果和处理效率,将输入序列设定在此间隔阶数以内。

图2 历史负荷数据集自相关系数曲线图

3 CNN-BIGRU-ATTENTION混合模型

3.1 CNN模型

CNN模型主要由卷积层、池化层组成,文中根据序列长短和序列中特征位置,采用了一维卷积(1D-CNN),简称Convd1。这种结构网络模型简单,可以减少权值数量。同时,可以直接将时间序列数据作为模型的输入,因此特征提取和数据重构的复杂程度会有效降低。本文通过此模型来学习时序序列的特征,挖掘输入数据之间的关系并从中消除噪声及不稳定因素,最终将特征处理后传入BIGRU网络。

3.2 BIGRU模型

本文选择的负荷影响因素为历史数据和电价,这两者之间互为关联,且在同一时刻,历史数据与电价对预测效果都有影响,同时BIGRU模型是由两个GRU隐藏层共同组成的神经网络结构,但这两个隐藏层方向相反,在每一时刻都能接收到同一个输入,因此为将特征向量提取的准确率提高,充分分析历史数据和电价,本文选择BIGRU网络模型,其示意图如图3所示。

图3 BIGRU示意图

BIGRU网络由以下公式定义得出

(4)

(5)

(6)

3.3 ATTENTION机制

ATTENTION机制是通过对特征向量分配不同的权重,对重要特征给予足够的关注,忽略无关信息,从而来突出关键特征。在CNN和BIGRU对输入数据分别进行特征提取和时序分析后,与之进行结合,其示意图如图4所示。

图4 ATTENTION机制示意图

计算公式如下:

C=Tanh(ht)

(7)

∂=Softmax(wT·C)

(8)

α=ht·∂T

(9)

式中,ht为BIGRU层输出,wT为权重矩阵,α为ATTENTION层的输出,最后结果由全连接层映射,得到预测结果。

3.4 CNN-BIGRU-ATTENTION模型

CNN-BIGRU-ATTENTION模型如图5所示,模型分三部分,第一部分为CNN用于挖掘数据特征和消除噪声及不稳定因素;第二部分为BIGRU,此网络在GRU能捕获时间序列长短期之间的依赖关系且收敛快、预测精度高的基础上,通过正反两个方向对特征向量进行提取,充分分析电价和负荷数据,进一步提高特征提取的准确率;第三部分为Attention机制,通过计算对BIGRU处理后的特征向量分配不同的权重,突出关键特征;最后由全连接层输出最终预测结果。

图5 CNN-BIGRU-ATTENTION模型结构图

设计2层的CNN,内核大小均为4,第一层卷积核数目取64,补零策略为same,激活函数为指数线性单元(elu),第二层卷积核数目取128,其余参数同上。选用最大值池化(MaxPooling,MP),池化大小为2,步长为1,把变长的输入整理成固定长度的输入,保证特征的位置与旋转的不变性,同时也减少模型参数数量和过拟合问题。

设置1层BIGRU能用较少的时间得到很好的效果,单元数设置为128,返回所有的隐藏状态,再将其输入Python语言编写完成的Attention机制,进行计算,通过分配不同权重,将其中重要特征突显出来,最后通过全连接层(Dense),单元数为64,激活函数为Tanh,输出指定时间预测值。

通过上述数据组合方式,即在训练集中每n×2的输入数据结构对应一个点,通过调用上述构建的模型预测对应点负荷值大小,采用损失函数为均方误差函数,用Adam优化算法对模型参数进行优化,批次大小取512,训练轮数为200,进而对模型整体进行训练确定,最后在测试集中以同样的数据组合方式通过训练后的模型得到预测值,通过误差指标评估模型。基于TensorFlow-GPU框架下设计网络结构,调用Keras中的函数式模型,根据上述具体参数编写代码,进行仿真。

4 算例仿真及分析

数据集为2016年丹麦西部的电价与用电负荷,从2016年1月1日至2016年12月31日,一小时取1负荷点和电价,各8784条数据,取前90%作训练,后10%做测试,在训练集中取前n个点对应第n+1的点,即[x1,x2,…,xn]对应xn+1,[x2,x3,x4,…,xn+1]对应xn+2,依次对训练集进行分割,测试集也做同样处理。数据部分特征如图1所示,构建的模型如图5示。通过与BP模型,GRU模型,CNN-GRU模型,CNN-BIGRU模型和CNN-GRU-ATTENTION模型的仿真结果对比,验证本文提出的CNN-BIGRU-ATTENTION模型的预测效果。

4.1 数据与处理

CNN-BIGRU-ATTENTION模型的输入数据采用历史负荷与电价构成的多维向量,历史负荷与电价都是相互独立的时间序列,为了表示这些影响负荷的特征信息,历史负荷和电价在时间t1,t2,…,tn时两两串联成向量,根据所取序列长度n,将其组合成n×2的向量矩阵,形成一组全新的数据结构,具体组合方式如图6所示。

图6 输入数据结构

由于负荷与电价数据大小差异过大,为便于模型的训练,均对其归一化处理,方式如下

(10)

式中,x为原始值,xmax为极大值,xmin为极小值。

4.2 误差指标

平均绝对百分误差和均方根误差分别表示为MAPE和RMSE,来评估预测结果,公式如下

(11)

(12)

式中,yl为预测值,yi为实际值,n为样本数量。

4.3 仿真结果分析及对比

4.3.1 CNN和BIGRU模型参数选取

根据本文提出的CNN-BIGRU-ATTENTION混合模型,利用2016年丹麦西部的电价与用电负荷数据进行仿真。分别固定CNN和BIGRU参数,对CNN和BIGRU网络层数的选取做出调整,通过MAPE的大小来判断预测精度,仿真结果如表1、表2所示。从表中可以看出,适当增加CNN和BIGRU层数可提高预测精度,发现CNN层数在超过2层和BIGRU层数超过1层时,出现了过拟合的情况。因此,本文将CNN层数定为2层,BIGRU层数定为1层。

表1 CNN层数调整结果

表2 BIGRU层数调整结果

4.3.2 仿真结果对比

本文使用同样的数据集,运用各种模型进行仿真,计算一天及一个月的平均百分误差和均方差,结果如表3所示。表3中C代表CNN,B代表BIGRU,G代表GRU,A代表ATTENTION。在所有模型中,CNN-BIGRU-ATTENTION模型在12月27日这一天中平均百分误差和均方差最低,分别为1.62%和55.3MWh;在一个月里CNN-BIGRU-ATTENTION模型取得最好的预测效果,其平均百分误差比CNN-GRU-ATTENTION模型降低了0.31个百分点,均方差也最低,为50.9MWh。可知本文提出的方法,在精度指标相较于其它方法均有明显的提升,预测精度更高,也更稳定。

表3 不同网络模型的平均百分误差和均方差

图7为不同模型由同一测试集滚动预测所得到两天(2016年11月27日、2016年11月28日)的负荷预测结果,从表3可明显看出BP模型、GRU模型在某些时间段与真实值数值偏离过大,CNN-GRU、CNN-BIGRU、CNN-GRU-ATTENTION与CNN-BIGRU-ATTENTION模型的预测效果较好,与真实值的重合度较高。

图7 不同网络模型预测结果对比

由图8可明显看出,在部分时段,CNN-BIGRU模型在结合ATTENTION机制后预测效果得到提升。由图9可看出,将CNN-GRU-ATTENTION模型中GRU网络替换为BIGRU后,波峰和波谷位置均能更好地拟合真实曲线。

图8 结合ATTENTION前后CNN-BIGRU模型预测结果对比

图9 基于CNN-GRU-ATTENTION和CNN-BIGRU-ATTENTION模型预测结果对比

5 结束语

本文提出了一种基于CNN-BIGRU-ATTENTION混合模型的短期电力负荷预测方法。先利用CNN处理多维数据进行特征提取,再通过BIGRU网络分析时序数据,最后结合ATTENTION机制赋予不同权值,通过建模完成短期电力负荷预测。该模型特点如下:

1)按时间滑动窗口构造连续特征图作为输入,充分发挥CNN模型对潜在特征向量的提取优势,有效的挖掘数据中蕴含的更多信息。

2)将CNN处理后的特征向量,作为BIGRU网络模型的输入,通过BIGRU,负荷数据的时序性和复杂非线性关系可被较好地分析。

3)结合ATTENTION机制,计算BIGRU处理后的特征向量,给予不同权值,突出关键特征,进一步提高负荷预测精度。

4)CNN-BIGRU-ATTENTION网络混合模型兼顾CNN模型和BIGRU网络模型的特点,同时发挥了ATTENTION机制的作用。同传统负荷预测方法相比,本文提出的CNN-BIGRU-ATTENTION网络混合模型提高了短期负荷预测精度。

猜你喜欢
特征向量时序电价
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
高中数学特征值和特征向量解题策略
你不能把整个春天都搬到冬天来
三个高阶微分方程的解法研究
氨基酸序列特征向量提取方法的探讨
矩阵方法求一类数列的通项