基于改进DBN的用电负荷预测建模与仿真

2022-02-25 14:45关蕾
微型电脑应用 2022年2期
关键词:神经网络负荷误差

关蕾

(西安职业技术学院, 建筑与轨道交通学院, 陕西, 西安 710000)

0 引言

电力负荷预测在保证电力系统规划与可靠、经济运行等方面十分重要。输电公司根据负荷预测结果可以合理地安排系统运行方式和制定发电计划,以维持电网的安全、稳定和经济运行[1-2]。电力负荷预测在综合考虑地区生活水平以及电网运行特性等条件的基础上,通过研究得到一个有效分析历史负荷数据从而预测出未来某个时间段内电力负荷情况[3-4]。陈锐彬等证明了BP神经网络算法比传统的数理统计预测更实用。深度学习能够使得对一个网络的训练取得更高的准确率,更精准地对时间序列数据进行预测,现已成为预测领域内的新课题[5-7]。

为了更好地预测用电负荷,本文提出了一种基于改进深度信念网络(Deep Belief Network, DBN)的预测模型方法。首先对样本集进行预处理,利用归一化操作消除不同量纲间的影响,从而为模型提供更加可靠的数据。其次,利用遗传算法(Genetic Algorithm, GA)选取DBN模型的初始权重,从而避免了随机初始权重时造成模型参数对训练精度的影响[8-11]。再次,利用数据集对改进的DBN模型训练,得到用电负荷预测模型。最后,通过预测得到的负荷值来弥补未来时间序列中负荷值的缺失。仿真对比试验验证了提出的改进DBN模型的精确性。

1 算法的理论知识概述

1.1 深度信念网络

深度学习的领军人物Hinton于2006年提出了深度信念网络的方法,与传统BP神经网络算法不同的是,深度信念网络方法含有更多的隐藏层,每一层都表示数据的一种特征,把低层次的特征组合后可以抽取出更高层次的特征。深度信念网络由多层受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)叠加而成,即RBM是构建DBN的基本组成单元。

受限玻尔兹曼机是一种仅由两层的神经元结点构成的网络模型,是一种概率模型。RBM由可见层和隐藏层构成。RBM中任意2个相连接的神经元之间都有一个权重w表示其连接强度,且每个神经元自身也有一个偏置系数a和b来表示其自身的权重,则RBM还存在能量值。图1中,wij为层间的权重,ai为可见层偏置量,bj为隐藏层偏置量,θ=w,a,b为一个RBM的参数。RBM的网络训练过程就是不断调整参数θ的过程,使样本数据在参数θ下的概率达到最大。

DBN是一个由若干个RBM构成的模型。在训练过程中,首先对第一个RBM进行训练,用CD-1算法计算出第一个RBM的权重和偏移量,再令隐藏层神经元的计算输出作为第二层RBM可见层的输入数据来训练第二个RBM。将2个RBM相连接。重复以上步骤多次,则构成了一个深度信念网络的模型,这是一个典型的无监督训练的过程。深度信念网络模型如图1所示。

图1 深度信念网络模型

首先通过样本数据进入训练一个单层网络,计算单层网络的每一个神经元,再计算下一层,直到计算出每一层的神经元。方向向上的权重学习用作“认知”,方向向下的权重学习用作“生成”,再使用Wake-Sleep算法,微调整个网络所有权重。Wake-Sleep算法的原则是让训练网络的每一次“认知”权重学习都与每一次的“生成”权重学习保持一致,以此保证最高的准确率。

1.2 遗传算法

遗传算法是一种通过模拟自然进化过程搜索最优解的方法。首先,随机初始化种群,将适应度值或迭代次数作为终止条件。遗传算法需要对所有的解进行编码,然后通过判断是否达到终止条件,若未达到终止条件,就开始交叉、变异、感染,然后再次进行判断是否达到终止条件,依次循环,直到达到终止条件。事实上,每一循环都淘汰掉性能不优的个体,这样就意味着向更优解进化。遗传算法流程图如图2所示。

图2 遗传算法流程图

2 用电负荷预测模型

负荷预测模型从历史负荷数据中产生对未来一段时间的预测值,选择正确的预测模型对于预测效果影响较大。无论想要对哪种类型的电力负荷进行预测,也无论采用哪种方式对电力负荷进行预测,科学的负荷预测都必须综合各方面因素来制定出正确合理的预测步骤。

为了解决传统的人工神经网络存在容易陷入局部极小值、训练速度慢、需要信号指导网络训练等缺点,并且为了能够使海量的数据信息得到充分的利用,使网络能够更加准确的进行负荷预测,本文提出了一种基于改进DBN的用电负荷预测模型方法,如图3所示。

图3 基于改进DBN的用电负荷预测模型方法

2.1 用电负荷预测数据指标确定

本文的数据来自2017年1月至3月的澳大利亚新南威尔士州用电量,数据每30分钟采集一次。对于模型输入特征的参数来说,如果特征数较少,模型不能够很好地捕捉数据中隐藏的基本特征,从而使模型预测的精度有较大的降低。相对来说,如果输入的特征数过多,但是由于数据量较少,从而导致模型会过度依赖于样本集,从而使模型的泛化性能降低。所以,为了使本文的用电负荷预测模型能够有较好的精度,从而将输入的特征量确定为96,并利用移动的窗口量进行连续预测时间序列值。样本集的建立过程如表1所示。

表1 样本集的建立过程

通过数据预处理进行数据的清洗,为模型提供更加可靠的输入数据,从而能够获得更为准确的用电负荷预测模型。由于神经网络的输出层激活函数的值域被限制在[0,1]区间内,故将样本数据也要归一化到[0,1]区间,如式(1):

(1)

其中,xmax表示样本数据中的最大值,xmin表示样本数据中的最小值。

2.2 DBN网络的参数优化

将遗传算法和吉布斯采样相结合,对DBN进行预训练获得初始参数。DBN的预训练是通过无监督学习算法来实现,即最底层RBM通过吉布斯—遗传算法学习得到其权值矩阵W1,然后通过p(h1|v)得出隐含层h1,低层的输出作为高层的输入,重复利用该算法逐层训练RBM,得到所有的网络权值。Gibbs采样算法虽然可以用来训练RBM,但当特征较大时,训练效率较低。经过反复演算验证,对比散度算法(Contrastive Divergence,CD-k)与Gibbs采样不同的是,当训练样本数据初始化为v0时,仅需要使用k步(通常k=1)Gibbs采样就可得到比较好的近似效果。此后对比散度算法被广泛应用到RBM的计算中。因此,可以获得DBN网络的整体训练过程。

利用遗传算法获得DBN的参数,算法的主要步骤如下。

Step 1:初始化种群。将RBM的权值按照实数编码方式进行编码。

Step 2: 构造适应度函数如式(2),

(2)

Step 3:选择操作,将优良个体i从中群众选出遗传到下一代的概率定义为式(3),

(3)

其中,c为种群总数目;Fi为个体i的适应度值。

Step 4:交叉操作,将配对个体通过交叉产生新个体遗传到下一代,其操作为式(4),

(4)

其中,gk1j和gk2j分别为k1和k2个体在第j位的基因;r为[0,1]的随机数。

Step 5:变异操作,将个体的某些基因以变异概率发生变异,其操作方法为式(5),

(5)

其中,gmax和gmin为基因gij的上、下界;r1和r2为随机数,s为当前迭代次数,smax为最大进化次数。

Step 6:计算适应度函数值,若满足结束条件,则根据为式(6),

Δa=a+α(vj-vj+1)

(6)

Δb=b+α(p(hi=1|vj)-p(hi+1=1|vj+1))

通过式(6)来修正RBM的权值和偏置系数,若不满足则返回Step 3。

Step 7:从可见层开始对DBN逐层进行预训练,直到全部预训练完成。

3 模型的仿真实验与结果分析

3.1 样本选择

本文的数据来自2017年1—3月的澳大利亚新南威尔士州用电量[15],数据每30分钟进行一次采集,即一天24小时内获得48个负荷样本数据。在获得数据样本集后,根据前96个样本数据来预测第97个样本数据,以此来解决电力负荷预测问题。本文选取了1392个样本,其中第1297至第1392个样本作为测试集,其余样本作为测试集。

3.2 模型的训练步骤

搭建DBN网络模型来预测短期电力负荷数据之前,首先要明确影响到模型效果的相关因素,确定好网络层数以及网络节点的个数。

Step 1: 网络层数的构建。

从原理上来说,隐藏层数越大,神经网络的处理能力越强。然而,隐藏层数过大会使得训练时间长,容易陷入局部极小值,发生梯度弥散现象。

Step 2:RBM节点数的确定。

利用DBN深度信念网络对电力负荷数据进行预测,前文已经提到输入神经元个数为96个,即用前96个数据预测第97个数据。

Step 3:模型微调。

为了更加清晰明了地显示出DBN网络的训练效果和预测效果,首先分别画出RBM的重构误差曲线,再用共轭梯度的方法对参数进行调优之后分别画了训练数据的预测误差曲线和测试数据的预测误差曲线。最后再分别对训练样本和测试样本画了预测值和真实值的对比曲线。

3.3 模型的实现与对比仿真

为了对基于改进DBN的用电负荷预测模型进行对比,并能够反映出深层网络对特征信息的利用程度,首先进行基于BP网络的用电负荷模型的仿真分析,然后再对改进DBN模型进行仿真分析,从而通过对比分析来获得最优模型性能。

3.3.1 基于BP网络的用电负荷模型仿真

从原理上来说,隐藏层数越大,神经网络的处理能力越强,然而,前文提到,隐藏层数过大会使得训练时间长,容易陷入局部极小值,发生梯度弥散现象。本文的BP网络采用3层网络。

随着BP神经网络的不断完善,研究人员已经计算出比较合适的隐藏节点数经验式如式(7):

(7)

其中,h为隐藏节点数,m为输入层节点数,n为输出层节点数,a是[1,10]之间的常数。

本文中,输入层节点数取96,输出层节点数取1,a取5,隐藏层节点数为15。由于本次研究中的负荷数据为时间序列,故在进行网络训练之前需要将时间序列转换为样本集。本次研究中激励函数选择sigmoid函数。对于BP网络,选择不同数目的训练样本有不同的结果,结果如表2所示。

表2 不同训练样本下的训练结果

从表2中可以看出,训练样本数的多少对训练效果有一定的影响。以300个训练样本数为例对BP神经网络训练效果的分析,迭代10 000次后,总训练时间为21秒,梯度也满足精度要求。网络训练完成后,用训练好的网络对测试样本进行预测,得到图4(a),可以看出,实际值和预测值有一定误差,在用电量上升阶段误差尤为明显,可见BP网络有待改善。测试集的相对误差如图4(b)所示。

(a)

对1000个测试样本进行预测的相对误差在[-0.35,0.68]之间,表明网络能够对电力负荷进行预测,但是效果不是很好。对比训练样本和测试样本的两组曲线,可知该BP神经网络的泛化能力还有待改善。

3.3.2 基于改进DBN的用电负荷模型的仿真

训练DBN时有许多预置参数对模型性能有很大的影响,在前面进行训练、测试的时候都是将他们随机置一个值。通过GA对它进行优化,将误差作为适应度函数,寻找使误差最小的初始参数。最终可以得到权重的学习速率为0.0635,可视节点的偏置学习速率为0.6862,隐含节点的偏置学习速率为0.2366,将其用于模型训练中。在本节中,采用96-100-50-25-1的结构建立DBN数学模型,需要4层RBM受限玻尔兹曼机,对每一个RBM进行迭代训练,得到每一层RBM的重构误差,如图5所示。

图5 各层RBM的重构误差

由图5可知,随着迭代次数的增加,每一层RBM的重构误差都在减小。迭代了50次后,每一层RBM的重构误差均下降到0.02左右。在没有进行整体微调的情况下得到的重构误差已经可以与BP神经网络相比较。对样本数据进行迭代寻优,得到样本数据的预测误差图如图6所示。

由图6可以看出,在用共轭梯度的方法进行了20次参数调优之后,训练样本数据的预测误差已经下降到了0.003左右,测试样本的预测误差也已经下降到了0.005以下。利用模型对训练集、测试集进行负荷预测,改进DBN模型预测结果如图7所示。

图6 样本数据预测误差图

(a) 训练样本

相比于BP神经网络方法对短期电力负荷数据进行预测,采用的DBN深度信念网络中更加明显地可以看出:测试集的预测值和实际值几乎达到重合,DBN模型比BP网络模型的泛化能力更强。预测结果比较如表3所示。

表3 预测结果指标

相较于上一节BP神经网络0.001以上的均方误差和20 s以上的运算时间,可以看出改进的DBN深度信念网络模型具有更快的运算速度以及更小的预测误差。

4 总结

本文分别使用BP网络和改进的DBN网络对澳大利亚新南威尔士州的电力负荷进行了短期预测。对比预测结果,BP神经网络的运算时间是21 s,改进的DBN网络的运算时间是11.34 s;BP网络预测出的数据均方差为0.1左右;而改进的DBN网络预测出的数据均方差为0.002左右。综上所述,改进的DBN网络的预测时间和预测精度都高于BP神经网络。且经过多次试验,改进的DBN网络的测试集预测误差都在0.002左右,说明改进的DBN网络对短期电力负荷预测具有较高的稳定性,这是由改进的DBN网络的训练机制决定的。由于深度学习和传统浅层神经网络每次运算都能得到不同的结果,难免会导致网络的不稳定性,因此未来的研究中需要进一步研究更强的算法解决这一问题,使网络更加稳定。

猜你喜欢
神经网络负荷误差
人造革合成革拉伸负荷测量不确定度评定
基于递归模糊神经网络的风电平滑控制策略
3项标准中维持热负荷要求对比分析
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
基于Q-Learning算法和神经网络的飞艇控制
精确与误差