改进的BP算法在短期电力负荷预测中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进的BP算法在短期电力负荷预测中的应用
李建伟;李妍;王健
【摘要】利用标准BP神经网络建立短期电力负荷预测模型,其算法存在最终解过于依赖初值和过学习现象,并且训练过程中存在局部极小问题且预测精度低等缺点.为了提高电力负荷模型的预测精度,通过阅读相关文献,构建了基于改进BP神经网络的短期电力负荷预测模型,该模型采用遗传算法对权值和阈值进行初始化,以相对误差和附加动量法相结合的方式去计算权值修正量.比较改进后的BP算法和标准BP算法在短期电力负荷预测的效果,从实验仿真的效果表明改进后的模型提高了预测精度.
【期刊名称】《微型机与应用》
【年(卷),期】2017(036)014
【总页数】4页(P61-63,67)
【关键词】短期负荷预测;BP神经网络;遗传算法;相对误差;附加动量
【作者】李建伟;李妍;王健
【作者单位】东北林业大学信息与计算机工程学院,黑龙江哈尔滨150040;东北林业大学信息与计算机工程学院,黑龙江哈尔滨150040;东北林业大学信息与计算机工程学院,黑龙江哈尔滨150040
【正文语种】中文
【中图分类】TM715
短期电力负荷预测影响配网运行的安全性、可靠性、经济性,对电网的合理规划、电力系统的安全调度和经济运行起到重要的指导作用,精准的负荷预测有助于电力生产部门经济合理地安排发电机的启停和检修计划,有助于调度部门根据当地负荷需求调配电力资源,负荷预测已经成为电网中系统优化、资源和经济调度不可或缺的重要依据[1-2]。
短期电力负荷容易受到气候、现实经济、时间等因素的影响,具有严重的随机性和非线性,而BP人工神经网络的大规模分布式并行处理、高度自组织、自适应以及具有很好的处理非线性问题的能力等优点正吻合短期负荷预测,因此在电力负荷预测领域上, BP神经网络被广泛地应用[3]。
虽然标准BP算法在负荷预测领域应用广泛,但是标准的BP神经网络存在最终解过于依赖初值和过学习的现象,并且训练过程中存在局部极小问题且收敛速度比较慢等缺点[4]。
为了提高BP神经网络在短期电力负荷预测的精度,提出一种采取遗传算法、相对误差和附加动量相结合的方式去构建短期电力负荷预测模型。
BP神经网络具有一种多层前馈的结构,它的核心思想是学习过程,包括信息正向传播与误差信息的反向传播,两个过程不断交替。
正向传播时,从输入层传入输入数据经结构里不同层的隐层进行逐层处理,然后将信息数据向输出层传递。
假如输出层的现实输出与期望的输出值不同,则转入误差的反向传播阶段。
误差反向传播指将输出误差通过算法规则经过隐层向输入层逐层反向传递,并将误差均分给各层的全部成员,从而取得各层成员的误差信号,将此误差信号作为修正各层单元权值的重要依据,误差信号在各层进行正向传播与误差反向传播不断交替运行的过程中从而调整出满足期望的权值。
以三层网络为例,BP神经网络结构如图1所示。
在三层前馈网络中,有输入输出模型、隐层节点输出模型、转移函数、误差计算函数模型等。
(1)对于隐层,有yj=f(netj), j=1,2,…,l;
(2)对于输出层,有ok=f(netk), k=1,2,…,m;
(3) f(x)为逻辑函数,为单极性Sigmoid函数:
(4)输出误差公式为
虽然BP网络用于具有非线性转移函数的三层前馈网络后可以任意精度逼近任何非线性函数,这一非凡的优势使BP网络得到越来越广泛的应用,但是在应用中BP
算法却被发现了不少的性能缺点和不足[5-7]。
(1)BP算法要优化的目标函数非常
繁琐复杂,并且它的本质上为梯度下降法,这使得BP算法低效且必然会出现“锯齿形现象”。
(2)为了求解复杂非线性函数的全局极值而使用局部搜索的优化方式
会导致算法陷入局部极值,使训练失败。
(3)训练的输入数据对BP算法的非线性函数逼近能力有很大的影响,而选取适合学习训练的数据是一个很难的任务。
(4)BP
算法的初始权值阈值一般是随机分配的,随机分配的权值和阈值可能不是最优的,这会影响网络的性能,使得网络结构收敛慢,预测误差大。
(5)BP算法的神经元结构不容易确定,一般靠的是经验设计结构,所以要想设计出优秀的算法结构就成为了一种挑战。
(6)BP算法的预测能力与训练能力是彼此相关,互相影响的。
一般情况下,预测能力随着训练能力的提高而提高,随着训练能力的下降而下降。
但这种趋向有一个饱和度,当达到此饱和值时,预测能力随着训练能力的提高,反而下降,这就是所谓“过拟合”现象。
即使网络学习的样本具有再大量的数据细节,也反映不出样本内部的规律。
本文针对标准BP算法的不足,采用遗传算法去优化网络的初始权值和阈值,然后以相对误差和附加动量方法相结合的方式计算权值(或阈值)变化量,以此为基础建立了基于改进的BP神经网络算法的短期电力负荷预测模型。
2.1 遗传算法
遗传算法模拟了自然选择和遗传中发生的复制、交叉和变异的现象,从一初始群体
出发,通过随机选择、交叉和变异操作,产生一群更适应环境的个体,使群体进化到搜索空间越来越好的区域,这样一代一代不断地繁衍进化,最后收敛到一群最适应环境的个体,求得问题的最优解[8]。
因此本文采用遗传算法优化BP神经网络的初始的权值和阈值,目的就是寻找到最优的初始权值和阈值。
其基本思想就是用个体代表网络的权值和阈值,把预测的样本的BP神经网络测试的误差的范数作为目标函数输出,进而计算个体的适应度值,通过选择、交叉和变异寻找最优个体,即最优的神经网络初始权值和阈值。
2.2 相对误差和附加动量
标准的BP神经网络算法使用绝对误差作为误差反向传递信号,但从误差分析理论可知 ,绝对误差一般没有相对误差科学[9],同时标准BP算法只考虑从网络预测误差的负梯度方向修正权值和阈值,没有考虑以前的经验积累,因此学习过程收敛迟缓。
本文在反向传播过程中采用相对误差作为误差传递信号,通过相对误差信号,从后向前传递,依次修改连接的权值。
在此基础上不单单考虑从相对误差负梯度的方向修正权值和阈值,还要采用附加动量的方法,在每一个权值变化上加上一项正比于前次权值修正量的值,通过这种方式算出新的权值变化量。
通过采用相对误差和附加动量相结合的方法提高BP神经网络预测的精确度和速度。
设相对误差代替绝对误差ek(n)=dk(n)-y(n)作为误差信号,从后向前传递,依次修改各层连接权值。
其反向传播如下。
隐含层与输出层之间的权值修正量设为Δwjp(n),由于在BP算法中权值的修正量与误差的梯度下降成正比,即:
其中为输入信号经由两次隐含层所得到的信号,则:
设局部梯度为:
当逻辑函数为时,有:
因此权值修正量为:
其中,η为学习率可由信号正向传播所得。
采用相对误差作为误差传递信号,经上面推导求出新的权值修正量[10]。
求出权值修正量后,采用附加动量法去克服网络陷入局部极小值的情况,从而滑过这些极小值。
使用附加动量法时,修正其权值不仅考虑误差在梯度上的作用,还要求出隐层上任意节点下一次迭代时与输出上任一节点之间的权值,附加动量因子的调节公式为:
Δwij(k+1)=(1-mc)ησixj+mcΔwij(k)
式中:k为神经网络训练次数,i为隐含层数,j为隐含层节点数,Δw 为权值的修正量,x为输入,η为学习效率,mc为动量因子。
附加动量法使得算法对误差曲面局部调节的敏感性降低,从而更好地限制了网络陷入局部极小值。
采取这种方式使得权值(或阈值)的调节向着误差曲面底部的均匀方向变化。
当权值(或阈值) 趋近误差曲面底部平坦区时,σi→0,公式(8)变为公式(9),避免了Δwij=0的出现,可以使训练从误差曲面的局部极小值中跳出,有效地解决了因权值(或阈值)误差改变非常小而导致训练过程停顿的情况出现。
Δwij(k+1)=mcΔwij(k)
3.1 仿真设计
(1)电力负荷数据训练
本文收集到某市电业局10 kV出线的电力日负荷数据,每隔5 min采一次电力负
荷数据,采取非线性时间序列递推的训练方法,不考虑其他因素对电力负荷的影响。
选取其中一条线路的某天负荷数据,从9:00开始,每三个电力负荷数据为输入
数据,第四个数据为输出数据,依此类推进行训练,一直训练到17:00的数据为止。
由于训练数据较多,因此只列出测试的样本负荷数据,如表1所示。
(2)样本数据归一化
样本数据在训练和测试前都要进行归一化处理,目的是取消数据各维数之间的数量
级差别。
训练和测试完成
后,输出数据还要进行反归一化处理。
MATLAB归一化函数为premnmx,反归一化函数为postmnmx。
测试样本数据如表1所示,归一化后测试样本的数据如表2所示。
(3) 遗传算法参数设计
遗传算法使用GATBX工具箱,设置参数为:种群大小40,最大遗传代数50,变量的二进制位数10,交叉概率0.7,变异概率0.01,代沟0.95。
(4)各层神经元数量设计
本文BP神经网络采用3-7-1模型,输入层3个神经元,隐层7个神经元,输出层1个神经元。
(5)传递函数选择
隐层的传递函数采用tansig,输出层的传递函数为purelin。
(6)训练算法选择
本实验采用trainlm作为网络训练算法。
(7)训练控制
设定训练误差目标为0.001,最大迭代次数为1 000次,学习速率为0.05。
3.2 结果分析
下面以标准BP算法和改进后的BP算法分别对测试数据进行预测,预测的数据与训练数据为不同日期的负荷数据,测试的负荷为10:00~17:00之间的数据,还是采用非线性时间序列递推预测的方法。
其预测精度如表3所示。
由表3知,在两种算法都经过1 000次训练、学习效率也相同的情况下,标准BP 算法预测后得到的平均误差为4.395%;而改进后的BP算法预测后得到的平均误差为2.073%。
所以据实验仿真测试结果来看,改进的BP算法比标准的BP算法预测精度要高。
为了提高BP算法在短期电力负荷预测上的精度,提出采取一种改进的BP神经网络算法对电力负荷进行短期预测。
该模型将收集到的电力负荷数据以一种非线性时间序列递推的方式进行预测,并没有考虑其他对电力负荷影响的因素。
根据实验仿真的结果来看,采用遗传算法优化初始权值和阈值,将相对误差和附加动量方法结合起来计算权值修正量的方式在短期电力负荷预测是优于标准BP算法的。
通过这种结合可以提高算法预测精度,为BP算法在预测短期电力负荷应用上提出了一种新的思路,同时本文也为其他相似的领域提供了依据和参考。
李建伟(1989-),男,硕士研究生,主要研究方向:模式识别,机器学习。
李妍(1991-),女,硕士研究生,主要研究方向:信息安全。
王健(1976-),通信作者,男,副教授,硕士生导师,主要研究方向:物联网,信号与信息处理,模式识别等。
E-mail:********************。
【相关文献】
[1] 廖旎焕,胡智宏,马莹莹,等. 电力系统短期负荷预测方法综述[J]. 电力系统保护与控
制,2011,39(1):147-152.
[2] 谷云东,张素杰,冯君淑. 大用户电力负荷的多模型模糊综合预测[J]. 电工技术学
报,2015,30(23):110-115.
[3] 薛志英,周明,李庚银. 电力系统短期运行充裕性评估及决策[J].电网技术,2014,38(4):994-1000.
[4] 杜振宁.布谷鸟搜索算法优化BP神经网络的网络流量预测[J].电子技术应用,2015,41(3):82-85.
[5] 鲁小利,王俊.基于遗传优化神经网络的电子舌在黄酒检测中的应用[J].电子技术应
用,2009,35(7):91-94.
[6] 吴欣欣,文志诚,叶健健,等.基于改进的BP神经网络入侵检测方法研究[J].微型机与应
用,2014,33(22):67-70.
[7] 周贵旺,孙敏.改进遗传算法优化的BP神经网络入侵检测研究[J].微型机与应用,2010,29(21):65-68.
[8] BENET C H,KASSLER A, ZOLA E. Predicting expected TCP throughput using genetic algorithm[J]. Computer Networks,2016,108:307-322.
[9] 高尚,张绍彪,梅亮.基于相对误差的线性组合预测研究[J].系统工程与电子技术,2008,30(3):481-484.
[10] 马海志,王福林,王慧鹏,等.基于改进BP神经网络的黑龙江农机总动力预测[J].农机化研究,2016(2):22-25,30.。