基于Bagging的双向GRU集成神经网络短期负荷预测
2021-10-28张智晟撖奥洋于立涛
王 康,张智晟,撖奥洋,于立涛
(1.青岛大学电气工程学院,青岛 266071;2.国网青岛供电公司,青岛 266002)
由于目前的技术还无法实现电能的大量存储,要想保证电力系统的安全稳定运行,提高经济效益,就需要对电力负荷进行预测。电力系统短期负荷预测主要是根据历史电力负荷、天气温度、日期类型等因素对未来几个小时至几天的电力负荷进行预估[1]。高精度的短期负荷预测对实现电力系统的供求平衡、减少资源浪费具有重要的指导意义[2],并直接影响电力系统后续的经济调度等工作,短期负荷预测已经成为提高电力系统发电设备利用率和经济调度效率的重要环节。
电力负荷受天气温度、日期类型等多种因素的影响,使得负荷预测的难度增大。目前应用较多的短期负荷预测方法主要有传统统计学方法和机器学习方法两类。统计学方法主要有卡尔曼滤波法[3]、指数平滑法[4]等,这些方法计算简单,但是对原始序列的要求较高,使得预测精度有所下降且预测稳定性较差。机器学习方法主要有支持向量机SVM(support vector machine)[5]和人工神经网络ANN(artificial neural network)[6]等。SVM方法较好地解决了预测过程中容易出现的局部最优解的问题,但是参数选取较为复杂,收敛速度慢。ANN方法因其运算速度快、预测精度高的特点得到了广泛应用。在ANN中,反向传播BP(back propagation)神经网络结构简单,计算速度较快,但BP神经网络容易陷入局部最优解,预测精度较低[7]。文献[8]提出了一种基于CNN-LSTM混合神经网络模型的短期负荷预测方法,将卷积神经网络CNN(convolu⁃tional neural network)与长短期记忆LSTM(long short-term memory)网络进行结合,利用了CNN能够有效提取特征向量和LSTM网络训练过程中不会出现梯度问题的特点,但是3个门控循环单元的引入使得LSTM网络训练速度有所下降。文献[9]提出了一种基于GRU的深度学习网络短期负荷预测模型,将门控循环单元GRU(gated recurrent unit)神经网络和深度神经网络相结合,达到了提高预测精度的效果,但是单向GRU神经网络在预测过程中无法考虑未来时刻的负荷信息。文献[10]提出了一种基于多层双向循环神经网络的短期负荷预测模型,预测过程中充分考虑了预测点过去和未来的状态信息,但是预测过程中仅利用人工神经网络使得模型预测稳定性较差。
为了达到更好的预测效果,本文提出了一种基于Bagging算法的双向加权GRU集成神经网络短期负荷预测模型,对双向门控循环单元BiGRU(bidi⁃rectional gated recurrent unit)神经网络[11]中两个方向的隐含层状态进行加权求和处理,解决了循环神经网络RNN(recurrent neural network)中容易出现的梯度问题[12],在预测过程中通过调节比例系数可以改变两个方向信息的融合比例,从而使前向信息和反向信息得到更充分的利用[13]。与LSTM网络[14]相比,GRU网络将门控循环单元的个数从3个减少到2个[15],在一定程度上可以加快训练速度。通过Bagging算法集成双向加权GRU神经网络,可以进一步提高预测模型的稳定性,增强了模型的泛化能力。利用某地区电网真实负荷数据进行验证可以得出,本文所提模型具有较高的预测精度。
1 双向加权GRU神经网络
1.1 GRU神经网络
RNN在模型中加入了循环结构,从而可以考虑预测点上一时刻的隐含层状态,在时间序列预测方面应用效果较好。传统的RNN将当前时刻的输入与上一时刻隐含层的状态共同作为神经网络的输入,将RNN按照时间维度展开的结构如图1所示。图1中:xt为当前时刻的输入值;W为RNN输入层到隐含层的权重;Wy为RNN隐含层到输出层的权重;ht为当前时刻隐含层状态;yt为当前时刻的输出。
图1 RNN展开结构Fig.1 Expanded structure of RNN
从图1可以看出,RNN在预测时考虑了历史时刻的状态对当前时刻的影响,故能对时间序列数据进行较好的预测,但是传统的RNN在预测长时间序列时容易出现梯度消失、梯度爆炸的问题,GRU神经网络以门控循环单元代替传统的循环单元来解决RNN中容易出现的梯度问题,与同样使用门控循环单元的LSTM神经网络相比,GRU神经网络仅需要2个门控循环单元即可解决梯度问题[16],在一定程度上节省了内存,加快了运行速度,GRU神经网络循环单元的结构如图2所示。图2中:ht-1为上一时刻隐含层状态;rt为重置门;zt为更新门;σ为sigmoid激活函数。
图2 GRU循环单元结构Fig.2 Structure of GRU
式中:wr、ur、wz、uz、w、u为神经网络权值;⊙为不同矩阵的Hadamard积;yt为当前时刻的输出值。
GRU神经网络主要通过2个门对输入信息进行更新[17],通过sigmoid函数将数据变换到0~1之间,并结合乘法操作可以实现对输入信息以及历史信息的选择性重置,重置门rt主要影响上一时刻信息的保留情况,更新门zt主要对当前时刻隐含层状态进行更新。与LSTM相比,GRU循环单元最大的改进就是仅通过1个更新门zt以及1-zt同时实现了对信息的遗忘和保留,从而提高了训练速度。
1.2 双向加权GRU神经网络
GRU神经网络与LSTM神经网络都是对RNN的改进,在保证RNN在时间序列预测方面的优势的同时解决了RNN中容易出现的梯度问题,而GRU神经网络简化了循环单元结构,使得训练速度有所提升。但是GRU神经网络和LSTM神经网络都只能考虑预测点过去时刻的信息而无法考虑未来时刻的状态,使得预测精度无法进一步提高。
BiGRU在单向GRU神经网络的基础上增加了一层隐含层,将预测过程分为前向预测与后向预测两个方向,并由两个方向的隐含层共同决定输出结果[18]。BiGRU神经网络的结构如图3所示。
图3 BiGRU神经网络Fig.3 BiGRU neural network
图3中:Wf为前向预测过程中输入层到隐含层权值;Wb为后向预测过程中输入层到隐含层权值;为前向预测过程的隐含层状态;为后向预测过程的隐含层状态。
由图3可以看出,与单向GRU神经网络相比较,BiGRU神经网络将预测过程分为两个方向进行,前向过程为传统的单向GRU神经网络,后向过程是与前向过程相对应的相反方向的预测过程,后向预测过程可以考虑预测点后面时刻的数据对当前隐含层的影响,而预测结果的隐含层状态由两个方向的隐含层共同决定,故BiGRU神经网络结合了预测点过去和未来的隐含层状态,从而在预测过程中可以进一步提高准确性。
BiGRU神经网络将两个方向的隐含层进行叠加进而达到同时考虑预测点过去和未来信息的目的,传统的叠加方式有拼接、求和及取平均值等,这些叠加方式在输入数据较多时会出现预测稳定性下降的问题,本文采用了一种对两个方向的隐含层进行加权求和的叠加方式,计算公式为
式中,o为比例系数。
双向加权GRU神经网络通过改变o的值可以改变两个方向的隐含层状态所占权重,从而更好地利用两个方向的输出数据。与传统叠加方式相比,加权求和的方法可以对两个方向信息的叠加比例进行更有效地控制,提高了预测过程的效率。
2 基于Bagging算法的双向加权GRU集成神经网络短期负荷预测模型
2.1 Bagging集成算法
集成学习将多个基学习器进行组合来得到一个学习效果更强的强学习器,采用一定的组合策略将基学习器进行结合,可以有效利用各个基学习器的特征,从而提高模型的学习性能。本文采用集成学习中的Bagging集成算法,其基本思想为从初始数据集中随机有放回地采样N次,得到N个训练数据集,利用采样得到的训练数据集通过N个基学习器进行训练学习从而得到N个预测模型,对于回归问题将N个预测模型进行等权重取平均值处理即可得到强学习器,基本流程如图4所示。
图4 Bagging算法流程Fig.4 Flow chart of Bagging algorithm
2.2 预测模型
双向加权GRU神经网络预测过程中对预测点过去和未来的信息进行了充分的利用,可以较好地建立时间序列相关模型,但是单一的双向加权GRU神经网络仍然存在着预测过程不够稳定、随机性较大的问题。Bagging集成算法在建模过程中引入了随机取样[19],通过结合多个基学习器的特征可以较好地提高预测过程中的稳定性,优化了模型的整体预测性能,利用Bagging算法对双向加权GRU神经网络进行集成处理,可以显著提升预测模型的泛化能力[20]。将双向加权GRU神经网络作为Bagging算法中的基学习器,利用生成的N个训练数据集对N个双向加权GRU神经网络模型进行并行训练,基于Bagging算法的双向加权GRU集成神经网络短期预测模型结构如图5所示。
图5 基于Bagging算法的双向加权GRU集成神经网络模型Fig.5 Modelof bi-directional weighted GRU neural network integrated by Bagging algorithm
模型结构主要分为输入层、Bagging取样层、双向加权GRU层、Bagging集成层和输出层。首先从输入层的初始训练集中随机有放回的抽取样本数为v的子数据集,将此抽样过程重复N次从而得到N个子数据集,随机有放回的取样过程使得N个子数据集之间互不影响。将双向加权GRU神经网络作为Bagging集成算法中的基学习器,把N个子数据集作为双向加权GRU神经网络的输入,通过N个双向加权GRU神经网络模型进行预测,从而得到N个预测输出值,N个神经网络模型的预测过程是并列运行的,一定程度上加快了模型的训练速度。在回归问题中,Bagging集成算法的组合策略为等权重取平均值法,将得到的N个预测输出值进行取平均值处理,即可得到基于Bagging算法的双向加权GRU集成神经网络的输出值。
在双向加权GRU神经网络的训练过程中,通过粒子群优化PSO(particle swarm optimization)算法对前向和后向传播过程中的权重wr、wz、ur、uz、w、u、wy以及比例系数o进行寻优[21]。PSO算法是一种源于鸟类觅食行为的最优化算法,可以较好地解决传统梯度下降算法在训练过程中精度有所下降的问题,双向加权GRU神经网络的预测过程流程图如图6所示。
图6 双向加权GRU神经网络预测流程Fig.6 Flow chart of prediction using bi-directional weighted GRU neural network
预测模型首先对输入数据进行归一化处理,建立训练矩阵与预测矩阵,然后将训练矩阵作为输入,经由前向与后向两个方向进行矩阵计算,两个方向的预测过程是单独进行的,得到两个方向的隐含层状态,并对两个方向的隐含层状态进行加权求和,通过计算得到当前的负荷值。利用PSO算法对神经网络权值和加权比例系数进行寻优,将损失函数作为目标函数,得到使得损失函数达到最优时的权值与比例系数。按照最优权值与最优比例系数,结合预测矩阵,经由所提预测模型计算得到负荷输出值,并对负荷值进行反归一化处理,即可得到负荷的预测值,达到负荷预测的目的。
2.3 损失函数
本文所提模型中,将损失函数作为预测模型的目标函数,通过不断迭代得到最优解。选取均方误差函数作为损失函数[22],即
式中:n为预测点的个数;Yi为第i个预测点的实际负荷值;yi为第i个预测点的预测值。
3 算例分析
3.1 数据处理
为验证所提模型的预测效果,按照所提模型对某地区负荷进行预测,本文所采用数据源于某地区电网真实负荷数据。历史负荷数据是负荷预测过程中的最重要数据,但电力负荷受多种因素的影响,在预测过程中还应考虑温度、日期类型(工作日,休息日)等多个因素的影响。
神经网络的输入数据包括历史负荷数据、温度数据和日类型数据。在训练过程中,每15 min取一个负荷点,即一天内选取96个负荷点进行训练。将预测日前10 d的负荷数据作为训练样本并以此构造训练矩阵,将预测日当天的负荷数据作为测试样本构造预测矩阵。训练矩阵和预测矩阵的历史负荷数据选取与样本中预测日相关性最大的前3 d负荷数据,具体包括预测日(第k天)预测时刻t前3 d的第t-1、t、t+1时刻的负荷值共9维数据。温度数据具体包括预测日(第k天)前3 d以及预测日当天的日最高温度、日最低温度和日平均温度共12维数据。日类型数据中具体包括预测日(第k天)前3 d以及预测日当天的日类型共4维数据,将工作日日类型定为1,休息日日类型定为0,故双向加权GRU神经网络采取25维输入矩阵。输出矩阵为1维矩阵,即为预测日预测时刻t的负荷预测值。
电力系统短期负荷预测有多种评价标准,本文采用平均绝对百分比误差Emape和最大相对误差Emax来对预测效果进行评价,平均绝对百分比误差的计算公式为
式中:Yk为预测点的真实负荷值;yk为预测负荷值;n为预测点个数。
3.2 仿真结果分析
为了比较预测结果,将BP神经网络预测模型(模型1)、LSTM神经网络预测模型(模型2)、GRU神经网络预测模型(模型3)、BiGRU神经网络预测模型(模型4)与本文提出的基于Bagging算法的双向加权GRU集成神经网络短期负荷预测模型(模型5)进行对比验证。5种模型均采用25-10-1的神经网络结构,其中模型1训练次数取10 000次,训练的精度要求取0.01;模型2、模型3和模型4训练次数都取8 000次,梯度步长取0.001;模型5中PSO算法的粒子数取50个,训练次数取900次,学习因子取1.795,粒子速度的最大值取0.4,最小值取-0.4,基学习器的数目取6个,5种模型的预测效果如图7和图8所示。
图8 模型4和5预测的负荷曲线Fig.8 Load curves predicted by models 4 and 5
5种预测模型的Emape和Emax如表1所示。
由图7可以得出,模型5所得曲线与实际负荷的拟合度更高。由表1可以得出,与模型1、模型2、模型3、模型4相比,模型5的 Emape分别降低了2.12%、0.71%、0.66%、0.21%,Emax分别降低了4.37%、0.31%、0.88%、0.45%,说明本文所提模型具有较高的预测精度,预测效果较好。为了验证所提模型的稳定性,分别通过模型4和模型5对某地区连续一周内的负荷进行预测,预测误差如表2所示。
图7 模型1~3预测的负荷曲线Fig.7 Load curves predicted by models 1,2,3
表1 5种模型的预测误差对比Tab.1 Comparison of prediction error among five models %
表2 两种预测模型一星期内预测误差对比Tab.2 Comparison of weekly prediction errors between two prediction models %
由表2可以看出,与模型4相比,模型5在一星期内Emape的平均值降低了0.17%,Emax的平均值降低了1.27%,模型5在一星期内的整体预测性能要优于模型4,在休息日期间两种模型的预测精度有所下降,主要原因是休息日的训练数据相对较少。从一星期内的预测误差可以得出,本文所提模型5有较高的预测精度,预测过程较为稳定,符合实际应用的要求。
4 结语
本文提出了一种基于Bagging算法的双向加权GRU集成神经网络短期负荷预测模型,BiGRU神经网络解决了RNN中容易出现的梯度问题,并且可以同时考虑负荷点过去和未来时刻的信息,对BiG⁃RU神经网络中两个方向的隐含层状态进行加权求和处理,可以对两个方向的信息进行更充分地利用。通过Bagging算法对双向加权GRU神经网络进行集成,有效提高了模型的泛化能力。在预测过程中考虑温度、日类型等外界因素的影响,并按照某地区电网真实负荷数据进行验证,与BP神经网络、LSTM神经网络、单向GRU神经网络及BiGRU神经网络进行对比可以得出,本文所提模型具有较高的预测精度与预测稳定性。PSO算法和Bagging算法与双向加权GRU神经网络的结合使得所提模型的训练速度有所下降,在今后的研究中将进一步优化模型结构。