基于JANET神经网络的短期负荷预测模型
2021-03-19许飞武志刚张文倩
许飞,武志刚,张文倩
(华南理工大学 电力学院,广东 广州 510640)
0 引 言
电力系统负荷预测是保证电力系统安全稳定经济运行的重要基础,按照时间尺度可以分为长期负荷预测、中长期负荷预测、短期负荷预测和超短期负荷预测。不同时间尺度的负荷预测对电力系统有不同的作用,其中短期负荷预测有利于提高发电设备的利用率和经济调度的有效性[1],同时有利于帮助电力系统运行人员制定更加合理的调度计划,维持供需平衡和确保电网安全,减少资源浪费和用电成本[2]。
国内外对短期电力负荷预测方法已经做了非常多的研究,可以达到一定的预测精度。目前的研究方法主要分为两大类。一类是传统的时间序列分析方法,包括回归分析法、多元线性回归法和自回归积分滑动平均模型等。文献[3]基于人口、GDP和用电量的海量历史负荷数据建立多元线性回归模型,这种方法只能预测线性关系的模型,预测误差较大。文献[4]使用自回归滑动平均混合模型来研究季节性特征与负荷预测之间的关系,但是只考虑了单一影响因素,预测误差较大。文献[5]使用改进的卡尔曼滤波算法能够考虑包括日期和温度等外界因素的存在使负荷产生很大的波动,具有更高的预测精度、收敛速度和耗时短等优点,但是仍然无法解决具有时序性特点的短期负荷预测问题,同时无法拟合影响因素与负荷之间的高度非线性关系。另一类是人工智能分析方法,包括反向传播算法、支持向量机、深度信念网络以及长短期记忆网络等。文献[6]使用基于改进的BP反向传播网络进行短期负荷预测,具有一定的预测精度,但是收敛速度慢,泛化能力差,易陷入局部最优。文献[7]将SVM算法、Elman以及BP神经网络相结合,分析温度、湿度和气压等气象因素对负荷的影响。文献[8]使用深度信念网络,通过逐层无监督训练的方法得到网络的初始权重,能够有效地解决传统神经网络中随机初始化导致的一系列问题,同时能够很好地解决过拟合和欠拟合问题,但是需要人工选择负荷序列,破坏了负荷数据的时序性。文献[9]使用长短期记忆网络并且引入Attention机制来突出对短期负荷预测起到关键作用的影响因素,在一定程度上能够提高模型的鲁棒性和稳定性。文献[10]将卷积神经网络与长短期记忆网络相结合,把大量的历史负荷数据、气象数据、日期信息以及电价信息按照时间滑动窗口来构造特征图作为输入量,然后通过卷积神经网络来提取特征向量,并作为长短期记忆网络的输入数据进行短期负荷预测,能够有效地提高负荷预测精度。
为了进一步提高短期负荷预测精度,并且在资源受限的场景中能够快速地获取预测结果,对标准的长短期记忆网络进行简化,提出了一种简化模型,称为JANET(just another network)网络模型。JANET网络只保留了标准LSTM网络中的遗忘门,训练时间大大缩短,能够在更短的时间内获得与LSTM网络相当精度的预测结果。
为此,本文首先对影响负荷的因素和历史负荷数据进行相关性分析,选取与负荷数据相关性最大的影响因素作为模型的输入,然后使用JANET网络进行短期符合预测,将所得预测结果与标准LSTM网络进行对比。仿真结果表明,JANET网络在资源受限和计算量较大的情况下,能够保证一定的预测精度并且极大地缩短训练和预测的时间,为电网提供及时有效的负荷预测数据。
1 短期负荷预测影响因素分析
随着配电侧分布式电源以及电动汽车的大规模接入,影响负荷的因素变得越来越复杂,除了传统方法中考虑的历史负荷、气象信息和日期类型外,政府的调控以及用户的行为习惯对负荷也会产生重要的影响。使用神经网络模型进行短期负荷预测时一个非常重要的环节就是输入特征的选取,影响因素选取的好坏将直接影响到预测结果的准确度。研究的重点在于比较LSTM变体与传统的RNN网络以及标准的LSTM神经网络模型在短期负荷预测问题上的有效性,因此本文将会选取相同的影响因素,包括历史负荷数据、主要的气象影响因素以及日类型作为神经网络的输入变量。
气象影响因素主要包括温度、湿度和太阳光照等。由于本文着眼于对比标准的LSTM网络与改进后的LSTM网络的短期负荷预测效果,因此只需要考虑天气因素中与负荷相关性最大的影响因素,确保在同等的条件下进行对比试验。本文采用互信息理论分别计算各气象因素与负荷之间的相关性,并且选取出相关性最强的影响因素最为预测模型的输入。
1.1 互信息理论
互信息(mutual information)是一种信息度量,表示的是一个随机变量中所包含的另外一个随机变量的信息量,也可以看作是两个随机变量之间的非线性依赖程度。两个离散随机变量和的互信息如式(1)所示。
(1)
式中:p(x,y)为变量X和Y的联合概率分布函数;p(x)和p(y)分别为X和Y的边缘概率密度。本文通过计算影响因素与负荷之间的最大相关-最小冗余值mRMR(minimal redundancy maximal relevance)来确定相关性最大的影响因素,mRMR值如式(2)~式(4)所示。
(2)
(3)
(4)
式中:xi为影响因素;yi为历史负荷;J为影响因素的总个数;D(J,y)为影响因素xi与历史负荷yi之间的相关性;R(J)为影响因素之间的相关性。式(4)表示选择与历史负荷互信息量最大并且与其他影响因素之间冗余信息量最小的影响因素。
1.2 负荷与影响因素相关性分析
本文基于某电网历史负荷数据集,计算影响因素与负荷数据之间的mRMR值。从温度、日期类型和湿度等因素中选择与负荷之间的mRMR值最大的影响因素,结果如表1所示。
历史负荷数据的相关因数为0,说明历史负荷数据与负荷之间的相关程度最大,按照相关因数从小到大的排列顺序,本文选择历史负荷数据、日期类型和温度作为影响负荷预测精度的主要因素。
表1 负荷与影响因素的相关性分析
2 神经网络荷预测模型
2.1 传统神经网络模型
传统的神经网络模型通常包含一层到多层的前向神经网络,又名BP神经网络。单隐含层的前向神经网络结构图如图1所示。
图1 单隐藏层神经网络结构图
传统的神经网络模型当隐藏层达到两层或者两层以上,理论上已证明可以拟合任意的非线性函数。但是前向神经网络前一个输入对应输出与下一个输入所对应的输出之间并不具有相关性,因此前向神经网络无法处理具有时序性的问题。负荷预测具有时序性的特征,因此无法使用单纯的前向神经网络来进行有效的负荷预测。
2.2 长短期记忆网络模型
为了改善前向神经网络中输入数据之间没有任何的关联信息的这一问题,Elaman提出了RNN(recurrent neural network)神经网络模型。RNN模型中拥有循环神经单元,并允许隐藏单元之间相互连接,能够探索非线性数据之间的时间关系,使它更适用于处理具有时序性的数据[11]。RNN的这种网络结构被称为循环神经网络,RNN神经网络结构如图2所示。
图2 RNN神经网络结构图
RNN网络与普通的深层前向神经网络有相同的训练机制,在深层次的前向神经网络中,如果激活函数使用sigmoid函数将会导致在反向传播的过程中梯度逐渐消失,从梯度消失的那一层神经网络开始,参数将不再更新。而导致梯度消失的原因在于,循环神经网络中梯度在反向传播的过程中采用的是连乘的方式,使得多个小于1的数连乘之后将会越来越小,甚至出现等于0的情况。
为了解决这一困难,神经网络工程师们对RNN网络进行改进,增加了一个细胞单元,用来控制存储器单元的输入和输出是否被接收。他们提出了具有LSTM(long short term memory network)长短期记忆单元的循环神经网络,它具有乘法的输入门和输出门。这些门能够保证输入或者其他单元的输出的无关信息的干扰,最大程度地减少信息更新冲突的问题。标准LSTM网络的细胞结构如图3所示,基本单元中包括遗忘门、输入门和输出门。遗忘门决定从上一个基本单元输入的信息哪些被遗忘,输入门决定状态记忆单元中保留的向量、输出门输出信息到下一个基本单元。计算公式如式(5)~式(10)所示。
图3 LSTM神经网络结构图
ft=σ(Wf·[ht-1,xt]+bf)
(5)
it=σ(Wi·[ht-1,xt]+bi)
(6)
ot=σ(Wo·[ht-1,xt]+bo)
(7)
(8)
(9)
ht=ot×tanh(Ct)
(10)
式中:ft、it、ot、Ct分别为遗忘门、输入门、输出门和状态单元的状态;Wf、Wi、Wo、Wc分别为对应门的权重;bf、bi、bo、bc为对应门的偏置量;σ为sigmoid函数。
2.3 长短期记忆网络模型的简化
长短期记忆网络可以非常好地解决具有时序性的问题,鉴于门控循环网络的成功,下一步希望能够设计一个网络,在资源受限制的实际程序中不降低负荷预测的精度,同时需要更少的硬件资源。
最开始的RNN循环神经网络记忆时间非常短,较为久远的输入对当前输出不会产生影响,因此在最初的长短期记忆网络中增加了两个门,具有乘法结构的输入门和输出门,通过输入和其他单元的输出来排除无关信息对当前信息的干扰,这是长短期记忆网络的第一个版本。Gers等人意识到LSTM网络的第一个版本中没有忘记信息的机制,它们可能会无限增长并导致网络奔溃。为了解决这一问题,他们提出了另外一个乘法门,称为遗忘门,完成了标准的LSTM网络模型。
经过多年的研究,Greff等人和Jozefowicz等人几乎同时发现标准LSTM网络中遗忘门是最重要的,同时随着门控循环网络的成功,Westhuizen等人开始考虑标准LSTM网络中是否只需要保留遗忘门,简化冗余的输入门和输出门。他们在MNIST、pMNIST和MIT-BIH心理失常数据集上进行仿真,证明有更好的泛化效果。此外,该模型需要LSTM所需参数的一半以及元素乘法的三分之二,从而节约计算量,缩短计算时间。Westhuizen等人将只有一个遗忘门的LSTM网络称为JANET(just another network)网络。
JANET网络作为LSTM网络的一种变体,是LSTM网络的一种简化形式。相对于LSTM网络来说,JANET在尽可能保证记忆能力以及训练效率的基础上,删去了冗余的输入门和输出门,只保留了遗忘门,其他部分与标准的LSTM网络完全一致。
JANET网络的表达形式如下。
ft=σ(Ufht-1+Wfxt+bf)
(11)
Ct=ft×Ct-1+it×tanh(Ucht-1+Wcxt+bc)
(12)
ht=Ct
(13)
式中:ft和Ct分别为遗忘门和状态单元的状态;Uf、Wf、Uc、Wc分别为对应门的权重值;bf、bc分别为对应门的偏置值。
3 基于JANET网络的负荷预测模型
3.1 输入数据预处理
本文使用同一数据集分别建立BP神经网络、标准LSTM神经网络以及JANET神经网络模型,并进行结果对比。三个模型的输入特征保持一致,包括历史负荷数据、温度以及日期类型,将所有特征值组成输入特征矩阵,在同等条件下比较三个模型的性能,保证试验的科学性和公平性。使用所提出的方法对某电网提供的历史负荷数据进行预测试验。由于不同的输入量有不同的数量级和量纲,同时由于神经网络激活函数对[-1,1]之间的数值更敏感,因此需要对输入数据进行归一化处理。使用minmax函数将历史负荷数据归一化到[-1,1]之间,将日期分为节假日和工作日两种类型,节假日用0表示,工作日用1表示。历史负荷数据的归一化公式如下:
(14)
式中:x′为标准化之后的输入量;max(x)和min(x)分别为待归一化变量的最大和最小值。
3.2 JANET的结构和训练
本文搭建的JANET含有两个隐藏层和1个输出层。预测未来24小时的48个负荷量,每30分钟一个时间节点,因此,选择JANET的时间步为48,特征数为2。
具体的流程如下所示。
步骤 1:对输入数据进行归一化,假设一共n个训练样本,因为对于单个时刻的预测输入量为2维,且时间步长为48,即连续预测未来24小时负荷,所以输入数据以(n×48×2)的3维张量形式存储。
步骤 2:将训练集的输入数据输入到JANET中,得出预测值。
步骤 3:根据预测值和真实值以及选定的误差函数计算误差。
步骤 4:根据误差通过反向传播算法,本文的优化算法为Adam,对JANET的权重进行更新,实现JANET的监督学习。
步骤 5:利用训练好的JANET神经网络,输入测试集数据,对未来24小时的负荷进行预测。
3.3 预测结果评价
使用均方根误差(mean square error,MSE)和平均绝对值百分误差(mean absolute percentage error,MAPE)作为评价各个模型预测结果的评价指标,其中EMSE和EMAPE的表达式如下所示。
(15)
(16)
(17)
式中:yf为负荷预测值;yf为负荷实际值;n为负荷点总数。
4 算例分析
4.1 模型参数设置
本文着眼于全新的预测模型的提出,因此仅考虑单一天气影响因素以及日期类型这一影响因素,未考虑包括湿度、光照强度以及电价等因素的影响。为了保证试验的可靠性,提高负荷预测的精度,本文采用完全相同的负荷数据和影响因素作为训练集。基于本文的预测模型,对某电网历史负荷数据集进行进行未来24小时的负荷预测。
本文中LSTM和JANET模型参数设置通过多次的仿真和调整寻优,最终确定的基本参数如表2所示。
试验平台是win10的64位操作系统的台式电脑,使用python语言在spyder平台实现所提出的方法,LSTM模型和JANET模型采用keras框架,由于JANET模型无法使用keras直接进行调用,因此首先对LSTM模型代码进行简化处理,然后再用keras调用实现。
本文中使用基本库版本如表3所示。所选版本可以调用台式机所有可用资源用于计算,计算速度相对于其他版本组合有明显提升。
表2 LSTM和JANET模型基本参数
表3 LSTM和JANET模型基本参数
4.2 算例结果
为了体现算法本身的差异性,本文使用前文所述数据集,分别建立LSTM神经网络模型以及JANET神经网络模型进行短期负荷预测。预测2月份某天的负荷值,并将预测结果与当天实际负荷值进行对比,如图4~图7所示。
图4和图5为两种网络负荷预测所得到的MSE值,可以看出JANET网络的MSE值减小更快,能够更快达到收敛的状态。
图4 LSTM神经网络训练MSE值
图5 JANET神经网络训练MSE值
图6表示标准LSTM和JANET网络在2018年某天的实际负荷值与预测值归一化之后的对比图。由图6和图7可以看出,JANET网络和LSTM网络在给出相同历史数据的情况下,对同一天的预测精度基本相同,JANET网络的预测精度在某些时刻甚至高于LSTM网络。
图6 LSTM神经网络负荷预测结果
图7 JANET神经网络负荷预测结果
此外,使用同样的样本大小和模型参数,JANET网络预测未来一天所需要的计算时间大约是176 s,而LSTM所需要的计算时间大约是297 s。
5 结束语
本文提出了一种标准LSTM网络的简化模型,保留了网络中最重要的遗忘门,并且通过考虑影响短期负荷预测精度的温度以及日期类型建立了短期负荷预测模型,有效地提高了预测精度,同时减少了模型得出预测结果所消耗的时间,使得模型的整体性能有较大提升。与RNN神经网络和标准的LSTM神经网络相比,本文使用的JANET神经网络能够消耗更短的时间得到更高的预测精度。未来,在能够得到更多气象相关数据的基础上,可以将JANET神经网络与其他数据处理的方法相结合,充分利用数据中蕴藏的有效信息,进一步提高预测的精度和效率。