一种基于深度置信网络的电力系统负荷预测方法及装置与流程

文档序号:12064665阅读:526来源:国知局
一种基于深度置信网络的电力系统负荷预测方法及装置与流程

本发明的实施例涉及电力系统领域,尤其涉及一种基于深度置信网络的电力系统负荷预测方法及装置。



背景技术:

电力系统负荷预测是电力系统规划的重要组成部分,也是电力系统经济运行的基础,它从已知的用电需求出发,充分考虑政治、经济、气候等相关因素的影响,预测未来的用电需求。精确的负荷预测数据有助于电网调度控制和安全运行,制定合理的电源建设规划以及提高电力系统的经济效益和社会效益。在负荷预测中,常采用回归模型、时间序列预测技术和灰色理论预测技术等方法。近年来,随着人工神经网络研究的兴起,利用神经网络进行电力系统负荷预测,使预测误差有很大的降低,引起负荷预测工作者的高度重视。

现有技术中利用传统神经网络来进行电力系统的负荷预测。然而,传统神经网络是一种典型的全局逼近网络,网络的一个或多个权值对每个输出都有影响;另一方面,网络在确定权值时具有随机性,导致每次训练后输入、输出间的关系不定,预测结果存在差异。可见现有技术的方案存在收敛速度慢且预测误差大的问题。



技术实现要素:

本发明的实施例提供一种基于深度置信网络的电力系统负荷预测方法及装置,能够提高收敛速度,降低预测误差。

为了达成上述目的,本申请的实施例采用如下技术方案:

第一方面,提供一种基于DBN的电力系统负荷预测方法,DBN由多层受限玻尔兹曼机RBM构成,包括至少一个隐层和一个可见层,所述电力系统负荷预测方法包括:

获取训练样本和测试样本;构造RBM模型的能量函数;

利用所述训练样本逐层训练所述至少一个隐层和可见层,得到所述训练样本在所述至少一个隐层和可见层节点间的权值;

将由所述训练样本得到的输出数据,以及所述测试样本输入经过训练后的DBN,得到对电力系统负荷的预测值。

第二方面,提供一种基于DBN的电力系统负荷预测装置,用于执行第一方面所提供的方法。

本发明的实施例所提供的基于深度置信网络的电力系统负荷预测方法及装置,利用多层受限玻尔兹曼机构成深度置信网络,包括若干隐层和一个可见层,可以通过采用层次无监督贪婪预训练方法分层预训练RBM,并将得到的结果作为监督学习训练概率模型的初始值,从而极大改善学习性能,提高收敛速度,降低预测误差。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的实施例所提供的基于深度置信网络的电力系统负荷预测方法流程示意图;

图2为RBM包括一个可见层和一个隐含层时的说明示意图;

图3为本发明的实施例中对三种模型不同结构下的最优错误识别率的说明示意图;

图4本发明的实施例中对平均绝对百分误差随迭代次数变化的曲线图;

图5本发明的实施例所提供的基于DBN的电力系统负荷预测装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对传统神经网络的负荷预测收敛速度慢,预测误差大的问题,本文提出一种基于深度置信网络(英文全称:Deep Belief Network,英文简称:DBN)的电力系统负荷预测方案,结合图1所示,该方法包括以下步骤:

101、获取训练样本和测试样本。

102、构造RBM模型的能量函数。

103、利用训练样本逐层训练至少一个隐层和可见层,得到训练样本在至少一个隐层和可见层节点间的权值。

104、将由训练样本得到的输出数据,以及测试样本输入经过训练后的DBN,得到对电力系统负荷的预测值。

本发明的具体实施例中,DBN由多层受限玻尔兹曼机(英文全称:Restricted Boltzmann Machine,RBM)构成,包括至少一个隐层和一个可见层,通过采用层次无监督贪婪预训练方法分层预训练RBM,并将得到的结果作为监督学习训练概率模型的初始值,从而极大改善学习性能,说明如下:

一、数据预处理

S1、对训练样本进行预处理:

假设所有训练样本为X={X1,X2,...,XM},其中Xi表示一组负荷数据,M表示负荷数据的个数,对于输入样本,算法采用4个步骤进行归一化:

①计算均值:

其中,u表示样本的均值。

②计算方差:

其中,δ表示样本的方差。

③白化:

其中,Xi'表示样本数据的白化参数。

④归一化:

其中,Xi,n表示样本数据的归一化参数;

S2、对测试样本进行预处理:

测试样本的预处理需要将其按照训练样本的均值和方差白化,然后按照训练样本的最大、最小值均匀归一化到0到1之间,假设单个测试样本为T,则归一化步骤为:

①白化:

其中,T'表示测试样本数据的白化参数,T为单个测试样本,u表示训练样本的均值,δ表示训练样本的方差。

②归一化:

其中,Tn表示测试样本数据的归一化参数。

此处,白化的原因是因为自然数据相邻元素之间有较大的相关性,因此通过白化可以降低数据的冗余性,类似于主成分分析(英文全称:Principal Component Analysis,英文间称:PCA)降维。

二、深度置信网络的基本原理及构成

DBN是一种能量模型,它的特征学习能力非常强大,是一种很早便得到研究的深度网络。其学习方法是由Hinton等人提出的,实质是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。

DBN可以看成由多层RBM构成的复杂神经网络,它包括一个可见层和若干隐层,采用对比散度的方法训练RBM的预权值。深度神经网络用层次无监督贪婪预训练方法分层预训练RBM,将得到的结果作为监督学习训练概率模型的初始值,学习性能得到很大改善。

RBM是生成式的随机神经网络,用来学习关于输入数据的概率分布,可以根据需要使用在监督和非监督两种方式训练,其在很多方面都有广泛运用。如图2所示RBM有两层网络分别表示为:向量h=(h1,h2,…hm)表示隐层单元,共有m个元素;向量v=(v1,v2,…,vn)表示可见层,共有n个元素。因为层内部元素之间是无连接的,所以层内各个元素之间是互相独立的,即有:

p(h|v)=p(h1|v)p(h2|v)…p(hm|v);

p(v|h)=p(v1|h)p(v2|h)…p(vn|h)。

一般可见层和隐层单元的分布满足伯努利形式,那么有:

由此可知,通过每一层的概率分布就可以求出整个模型的概率分布,从而可以逐层进行无监督的训练。将下层RBM的输出作为上层RBM的输入。直到最后一层隐含层,将最后一层隐含层输入到softmax分类器,然后计算估计误差进行反向微调。

S3、构造RBM模型的能量函数:

隐层和可见层的满足伯努利分布的RBM模型的能量函数定义为:

其中,ai和bj表示偏置项,wij表示可见单元与隐层单元之间的连接权值。θ=(a,b,w)是RBM模型的权值参数,向量h=(h1,h2,…hm)表示隐层单元,共有m个元素,向量v=(v1,v2,…,vn)表示可见层,共有n个元素。

S4、计算可见层、隐层单元的联合概率分布:

给定模型参数,可见、隐层单元的联合概率分布可以表示为:

其中,是一个归一化因子,-E(v,h)是隐层和可见层的RBM模型的能量函数,向量h=(h1,h2,…hm)表示隐层单元,共有m个元素。

根据式(7)和式(8)可以推导出:

式中,

S5、计算可见层与隐层的边缘分布:

根据可见层与隐层的联合概率分布P(v,h),可以得到边缘分布:

其中,是一个归一化因子,E(v,h)是隐层和可见层的RBM模型的能量函数,向量h=(h1,h2,…hm)表示隐层单元,共有m个元素。

S6、构造对数似然函数为:

其中,l是训练样本的数目,θ=(a,b,w)是RBM模型的权值参数,P(vi)是可见层与隐层的边缘分布。

S7、计算对数似然函数的梯度:

根据梯度下降法对对数似然函数进行求导,可得:

整理可得:

其中,lnL(θ)是对数似然函数,l是训练样本的数目,θ=(a,b,w)是RBM模型的权值参数,P(h|vi)是可见层与隐层的边缘分布,E(v,h)是隐层和可见层的RBM模型的能量函数,P(h,vi)是可见层、隐层单元的联合概率分布。

三、利用深度置信网络预测电力系统负荷的流程

对于深度学习来说,其思想就是对堆叠多个层,也就是说这一层的输出作为下一层的输入。比如有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,可表示为:I=>S1=>S2=>…..=>Sn=>O,通过调整系统中参数,使得输出O仍然是输入I,那么就可以自动地获取得到输入I的一系列层次特征,即S1,…,Sn。通过这种方式,可以实现对输入信息进行分级表达。利用深度置信网络预测电力系统负荷的过程本质上就是一个深度学习的过程。

利用深度置信网络预测电力系统负荷的流程为:采用对比散度的方法训练RBM的预权值。通过分析,算法采用三层隐含层,并采用层次无监督贪婪预训练方法分层预训练RBM,将得到的结果作为监督学习训练概率模型的初始值,从而提高学习性能。仿真数据显示,与传统神经网络算法相比,该算法收敛快,预测误差小。

①采用对比散度的方法训练RBM的预权值。KL-散度是非对称度量,所以KL(Q||P)与KL(P||Q)的值是不同的。两个分布的差别越大,KL-散度的值也越大。RBM模型的对数似然函数的最大值最终演化为计算两个概率分布的KL-散度之差:

KL(Q||P)-KL(Pk||P) (式15)

其中,Q是先验分布,Pk是k步Gibbs采样后的分布。若Gibbs链达到平稳状态(由于初始状态v(0)=v,已经为平稳状态),则有Pk=P,也即KL(Pk||P)=0。这样对比散度算法得到的估计误差等于0。

②将得到的结果作为监督学习训练概率模型的初始值,相对熵又称为KL-散度常用来衡量两个概率分布的距离。两个概率Q和P分布在状态空间中的KL-散度定义如下:

KL(Q||P)是两个概率Q和P分布在状态空间中的KL-散度。

③将得到的预权值和初始值作为输入数据,传递至下一层,在下一层中再进行训练。每次训练一层网络,逐层训练。具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。因此,训练过程就是一个重复迭代的过程。当所有层训练完后,使用wake-sleep算法进行调优。

wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并且使用梯度下降修改层间的下行权重(生成权重)。

sleep阶段:生成过程,通过顶层表示和向下权重,生成底层的状态,同时修改层间向上的权重。

④在预训练后,DBN可以通过利用带标签数据用BP算法去对判别性能做调整。在这里,一个标签集将被附加到顶层(推广联想记忆),通过一个自下向上的,学习到的识别权值获得一个网络的分类面。这个性能会比单纯的BP算法训练的网络好。这可以很直观的解释,DBNs的BP算法只需要对权值参数空间进行一个局部的搜索,这相比前向神经网络来说,训练是要快的,而且收敛的时间也少。

⑤当训练和调优步骤结束后,在最高两层(即最后一层隐层和可见层),权值被连接到一起,这样更低层的输出将会提供一个参考的线索或者关联给顶层,这样顶层就会将其联系到它的记忆内容。从而,进行电力系统的负荷值预测。

在一种具体的实施方式中,S8:根据式16计算可见层、隐层两个概率Q和P分布在状态空间中的KL-散度;S9:根据式15将RBM模型的对数似然函数的最大值最终演化为计算两个概率分布Q和P的KL-散度之差。S10:S1-S9是通过RBM模型对训练样本进行分层训练,得到训练样本在可见层节点和隐层节点间的权值,权值从隐层输入到可见层,可见层会记忆该权值内容并得出训练样本的负荷预测值,用于电力系统的负荷的预测过程。S11、测试样本加上S10得到的训练样本的平均负荷值、最大负荷值、平均气温、数值天气预报的预测日平均气温作为深度神经网络算法的输入数据,通过S1-S9的计算,输出的数据即是预测电力系统的负荷值。

四、实验设置

负荷测试使用EUNITE竞赛所提供的东斯洛伐克电力公司2007年1月~10月负荷数据作训练数据,11月~12月数据用作预测对比数据。其中神经网络的输入数据包括:前一天48个采样点(每半小时的平均负荷数据)、前一天的平均温度、前一天负荷峰值、前一天负荷谷值、前一天平均值、预测日平均温度。预测算法一次性预测第二天的48点数据。

在负荷预测的应用中,一般需要0小时~24小时内每半小时的负荷预测数据,算法取预测日前一天0点~24点一共48个历史数据,加上预测日前一天平均负荷值、最大负荷值、平均气温、数值天气预报的预测日平均气温作为深度神经网络算法的输入数据。输出数据是预测日0点~24点每半小时的负荷数据。

为了比较算法性能,选用了BP神经网络、自组织模糊神经网络(英文全称:Self-organizing Fuzzy Neural Network,英文简称:SOFNN)和深度置信网络进行对比。BP神经网络具有良好的捕捉非线性规律的特性,当隐层的神经元足够多时,3层感知器模型可以实现任何非线性函数的逼近。SOFNN算法的主要优点在于能够自动地决定网络结构并且给出模型参数,具有很好的预测精度。

评判标准为平均绝对百分误差(MAPE),定义如下:

其中,Di和分别为1997年某月第i天最大负荷的真实值和预测值,n为1997年某月的天数。

五、性能评价

(1)网络结构对算法性能的影响

首先,实验研究网络结构(隐含层即神经元数目)对预测效果的影响,取2007年1月~10月负荷数据作训练数据,11月负荷数据作为测试数据。网络结构分别使用1、2、3层隐含层。神经元数目分别使用20、50、100、200、400。此处,为方便比较,每层的神经元数目相同。对于初始参数的设置,下列参数的选择将从这些范围内手动选择以获取最优识别率:BP学习率(0.1,0.05,0.02,0.01,0.005),预训练学习率(0.01,0.005,0.002,0.001)。图3显示了三种模型不同结构下的最优错误识别率。由图3可知,当隐含层数较少或者神经元个数较少时没有经过预训练的BP网络性能较优,当只有1层隐含层时,神经元个数达到200时SOFNN的错误率才和BP的相当,而当隐含层数为2层和3层时,神经元个数达到100和50时SOFNN的性能就将接近并超过BP。DBN也同样,可以发现神经元数目较少的情况下SOFNN的性能与DBN相比较优,神经元数目较多的情况下则相反。并且当隐含层数相同时,因为过拟合问题。BP网络的性能并不是随着节点个数递增,当节点数过多时反而下降,而深度模型则一直递增并趋于稳定,这说明经过预训练的深度网络的性能随着网络规模的扩大(包括隐含层数增多或节点数增多)是逐渐优化的。可以看到,过少的隐含层数及隐含节点数会降低深度模型的性能。原因可以这样解释,预训练模型的作用是提取输入特征中的核心特征,由于稀疏性条件的限制,假设神经元个数过少,对于一些输入样本的输入,只有少量的神经元被激活,而这些特征无法代表原始的输入,因此丢失了一些信息量,造成了性能的下降。虽然网络规模越大深度模型的性能越好,但同时训练时间也加长了,因此需要在性能与训练时间进行权衡。

(2)算法收敛性比较

图4是平均绝对百分误差随迭代次数变化曲线。算法采用三层隐含层,每层100每层100个神经元的模型。预训练时学习率都取0.01。微调时学习率取0.1,动量项系数取0.5。2007年1月~11月负荷数据作训练数据,12月负荷数据作为测试数据。比较迭代1000次下的BP、SOFNN、DBN的平均绝对百分误差变化。

分析图4可以看到随着迭代次数的增加,三种模型的错误率都逐渐下降,这是由于随着训练次数增加网络参数的分布越来越接近最小值点。但是BP网络在达到一定的训练次数后错误率出现震荡并且有逐渐增加的趋势,而经过预训练DBN网络的错误率稳定下降,这间接的证明了预训练可以使网络初始参数的分布区域更加接近最小值点,并且有效地避免了局部震荡。

负荷预测为配电网管理决策和运行方式提供了重要依据。本发明提出采用深度置信网络的负荷预测算法,改进现有神经网络算法学习速率较慢,预测效率低的问题。仿真结果显示,相比于传统神经网络算法,基于深度置信网络的算法的电力负荷预测效果明显。

本发明的实施例还提供一种基于DBN的电力系统负荷预测装置,用于执行上述实施例中所描述的电力系统负荷预测方法,结合图5所示,电力系统负荷预测装置包括:

数据处理单元501,用于获取训练样本和测试样本;构造RBM模型的能量函数;

训练单元502,用于利用训练样本逐层训练至少一个隐层和可见层,得到训练样本在至少一个隐层和可见层节点间的权值;

预测单元503,用于将由训练样本得到的输出数据,以及测试样本输入经过训练后的DBN,得到对电力系统负荷的预测值。

可选的,数据处理单元501,还用于对由负荷数据Xi构成的训练样本X={X1,X2,...,XM}进行归一化;其中Xi表示一组负荷数据,M表示负荷数据的个数;还用于将测试样本按照训练样本的均值和方差白化,并按照训练样本的最大、最小值均匀归一化到0到1之间。

可选的,可见层和隐层单元的分布满足伯努利形式;

数据处理单元501所定义的可见层和隐层的满足伯努利分布的RBM模型的能量函数为:

其中,ai和bj表示偏置项,wij表示可见单元与隐层单元之间的连接权值。θ=(a,b,w)是RBM模型的权值参数,向量h=(h1,h2,…hm)表示隐层单元,共有m个元素,向量v=(v1,v2,…,vn)表示可见层,共有n个元素。

可选的,训练单元502,具体用于采用对比散度的装置训练RBM的预权值,将得到的结果作为监督学习训练概率模型的初始值;将得到的预权值和初始值作为输入数据,传递至下一层网络,在下一层网络中再进行训练;每次训练一层网络,逐层训练至少一个隐层和可见层。

可选的,由训练样本得到的输出数据,至少包括训练样本的平均负荷值、最大负荷值、平均气温、数值天气预报的预测日平均气温。

本发明的实施例所提供的基于深度置信网络的电力系统负荷预测方法及装置,利用多层受限玻尔兹曼机构成深度置信网络,包括若干隐层和一个可见层,可以通过采用层次无监督贪婪预训练方法分层预训练RBM,并将得到的结果作为监督学习训练概率模型的初始值,从而极大改善学习性能,提高收敛速度,降低预测误差,改进现有神经网络算法学习速率较慢,预测效率低的问题。仿真结果显示,相比于传统神经网络算法,基于深度置信网络的算法的电力负荷预测效果明显。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1