人工鱼群神经网络在短期负荷预测中的应用

2017-10-23 02:22亚,李
计算机技术与发展 2017年10期
关键词:鱼群步长阈值

陈 亚,李 萍

(1.宁夏大学 物理与电子电气工程学院,宁夏 银川 750021;2.宁夏沙漠信息智能感知重点实验室,宁夏 银川 750021)

人工鱼群神经网络在短期负荷预测中的应用

陈 亚1,李 萍2

(1.宁夏大学 物理与电子电气工程学院,宁夏 银川 750021;2.宁夏沙漠信息智能感知重点实验室,宁夏 银川 750021)

由于电力负荷是电力系统发展的基础,提高电力负荷预测的准确性有利于电力系统的快速发展。Elman神经网络预测方法容易陷入局部解,且收敛速度慢,而人工鱼群算法具有较优的全局收敛能力及较快的寻优速度。为了提高短期电力负荷预测的精度,利用人工鱼群算法对Elman神经网络的初始权值和阈值进行了优化,提出并建立了一种新的人工鱼群神经网络短期负荷预测模型。以某市的历史负荷数据作为训练样本,将人工鱼群神经网络预测模型与传统Elman神经网络预测模型进行对比实验。实验结果表明,相对于传统Elman神经网络预测模型,人工鱼群神经网络模型的计算误差更小,预测精度更高,收敛速度更快,具有较好的短期电力负荷预测应用前景。

人工鱼群算法;Elman神经网络;短期负荷预测;预测精度

0 引 言

电力负荷预测数据是调度和规划部门应具备的基础信息,准确的负荷预测能够指导电网调度部门制定经济合理的调度方案,同时也是节省能源,提高经济效益及社会效益的有效措施,为正常的社会生活、经济的持续健康发展提供了重要保障[1]。

传统的预测方法是用具体的数学表达式建立数学模型,计算速度快、运算量小,但不具备自学习、自适应能力,使该类方法存在很大的局限性。随着电力系统结构日益完善,负荷随系统复杂性的增强,其时变性、非线性和不确定性的特点日益突出,对于这样一个复杂系统就不易建立一个恰当的数学模型来预测[2]。1991年,Park等将神经网络用于负荷预测中,预测结果降低了2.12个百分点,这种非数学的模型预测方法,为负荷预测打开了新的思路[3]。目前,负荷预测领域特别是短期负荷预测应用比较广泛的是BP神经网络,实际上这种方法是对动态网络使用静态前馈网络进行识别,将动态时间建模问题变为静态建模问题。这样的处理方式会带来诸多问题,静态网络不能准确反映系统动态特性,而应该使用动态神经网络。

典型的动态神经网络在预测领域使用较多的是Elman神经网络。但是神经网络比较容易陷入局部极值且迭代时间长,收敛速度慢,这些本身存在的不足一定程度上影响了模型的预测精度[4]。在粒子群算法、蚁群算法等群智能算法之后,提出了人工鱼群算法。它是一种新的基于动物群体的智能优化算法,现已成为智能算法的一个重要组成部分。该算法具有并行性、简单性、能很快跳出局部极值、寻优速度快等特点[5],能很好地弥补神经网络的上述缺点。为此,基于人工鱼群算法优化Elman神经网络,提出并建立了人工鱼群神经网络短期负荷预测模型。

1 人工鱼群算法

2002年,李晓磊提出了人工鱼群算法,这是一种模仿鱼群行为的新型寻优算法[6]。该算法是通过模仿鱼类觅食、聚群、追尾及随机行为来改变自身的状态和位置,以达到寻找全局最优解的目的,有良好的克服局部极值、取得全局极值的能力且不需要目标函数的梯度值,对搜索域有较好的自适应能力[7]。同时,该算法还有其他优点,如简单容易实现、使用灵活、对初值和参数的选择不敏感、鲁棒性强等。

1.1算法描述

1.1.1 觅食行为

鱼类的觅食行为大多是依靠视觉以及味觉来判断食物浓度进而再选择运动趋向。设人工鱼前一状态xi的适应值为yi,在其视野范围内随机选择一个状态xj,其适应值为yj,执行式(1)。

xj=xi+Visual·Rand()

(1)

如果yi

(2)

(3)

1.1.2 聚群行为

(4)

若xc处有较多食物且不挤,就往xc方向行进一步,执行式(5)。

(5)

1.1.3 追尾行为

一旦鱼群中的某一条鱼发现食物,周围的鱼就会跟随其快速找到食物点。设当前人工鱼状态为xi,其视野内的全部的鱼中适应值最大状态为xmax,对应的适应值为ymax。如果ymax>yi,且周围不挤,则朝xmax方向前进一步,执行式(6)。否则执行觅食行为。

(6)

1.1.4 公告板

算法中设置公告板,记录最优鱼的状态及所处位置的食物浓度值。每条人工鱼每行动一次就将自身目前状态与公告板进行比较,倘若优于公告板中的值则将其取代。算法对人工鱼当前所处的环境进行聚群和追尾行为评价,然后从中选择能寻找到较大食物浓度的行为来执行,缺省行为由觅食行为代替。

1.2算法改进

由于视野Visual在算法的各行为中均有涉及,因此,其变化对算法收敛性的影响也是较复杂的。当Visual范围较小时,主要执行觅食和随机行为;Visual范围较大时,主要执行追尾和聚群行为[8]。总体来看,当视野越大,人工鱼越容易发现全局极值并收敛。

对于特定的步长,收敛速度会随步长的变化而变化,一定的范围内,步长增加会使收敛速度加快,但超出范围后,收敛速度则会减缓,步长过大,可能会出现振荡现象,从而影响收敛速度。为防止振荡现象的发生,可采用随机步长,这样也使得参数的敏感度大幅下降,但最快的收敛速度还是最优固定步长的收敛速度。因此,针对不同的问题,可根据具体问题采用适当的固定步长或变化步长来提高算法的收敛速度[9]。

人工鱼群算法中个体鱼的几种行为均涉及到视野和步长,这两个参数的大小变化直接影响到算法的收敛速度和最优解的结果:视野影响人工鱼的寻优速率,步长影响其前进速度。因此对视野和步长进行动态调整,如式(7)和式(8)所示。

Visual=a·Visual+Visualmin

(7)

Step=a·Step+Stepmin

(8)

(9)

其中,t为当前的迭代次数;T为最大的迭代次数。

最初个体鱼寻优时,给其对应较大的视野和步长,能看到较大的范围,使其在寻优前期能以较快的速度获得全局最优解域;在算法寻优后期视野和步长变小,让其在全局最优解域内搜索局部最优,提高最优解的精确度。

2 Elman神经网络

Elman神经网络是Elman于1990年提出的,其拓扑结构如图1所示,由输入层、隐含层、输出层和承接层四部分构成。

图1 Elman神经网络拓扑结构

它是一种典型的动态反馈型神经元网络,是在前馈网络的基础上,在隐含层中增加了一个承接层,其作为一步延时的算子,用来记忆隐含层单元前一时刻的输出值并返回给输入,通过存储内部的状态使其能够映射动态特征,对历史的数据有敏感性,以达到记忆的效果,从而使系统具有适应时变特性的能力,达到了动态建模的目的[10]。Elman神经网络不需要预先设定系统数学模型的形式,只需给出网络的输入和输出,就可建立数学模型。输入信号决定着反馈系统的初始状态,网络训练时经过一系列状态的转移后,逐步收敛直到平衡状态,输出Elman神经网络的预测结果。

Elman神经网络的数学模型为:

x(k)=f(w1xc+w2u(k-1))

xc(k)=a·xc(k-1)+x(k-1)

(10)

yk=g(w3x(k))

其中,w1、w2分别为承接层、输入层到隐含层的连接权值;w3为隐含层到输出层的连接权值;f()为隐含层的激励函数;g()为输出层的传递函数。

f(x)多取为Sigmoid函数,即

(11)

g(x)多取为线性函数,即

yk=w3x(k)

(12)

Elman神经网络进行权值修正采用BP算法,学习指标函数采用误差平方和函数,如式(13)所示。

(13)

3 人工鱼群神经网络模型

人工鱼群算法在优化Elman神经网络时,训练和测试Elman神经网络模型时使用历史负荷数据,通过鱼群算法进行迭代寻找最优的权阈值。每个Elman神经网络用一条人工鱼代表,待优化的初始权值和阈值与每个鱼的状态对应,人工鱼群算法的目标函数为Elman神经网络实际输出值和期望输出值的最小误差值[12]。

基于人工鱼群算法的Elman神经网络训练算法流程如下:

(1)确定神经网络的输入层、隐含层、输出层的节点数,将多组训练数据归一化处理后作为网络的输入和输出;

(2)初始化参数:确定人工鱼个数N、步长Step、视野Visual、拥挤度因子δ、试探次数Try-number、最大迭代次数T、待优化的权阈值m和目标函数E值;

(3)迭代次数初值设为1,随机产生包含N条人工鱼的初始鱼群,从而产生N组初始权值和阈值;

(4)分别计算并比较全部人工鱼个体状态的适应值,即目标函数E值,将最小E值和对应的个体状态录入公告板;

(5)对所有人工鱼模拟进行聚群和追尾行为,然后实际执行较小的E值的行为,缺省行为方式为觅食;

(6)将鱼群每次活动后所有鱼的E值和公告板中的值进行比较,一旦小于公告板上的值,就取代它;

(7)当迭代次数达到T时,就输出最优的权阈值,否则令迭代次数t=t+1,转到步骤(3);

(8)寻优结束后,将最优的权阈值作为初始权阈值用于电力负荷预测的Elman神经网络模型中;

(9)使用历史负荷数据进行模型测试,得出负荷预测的结果后与实际负荷值进行误差比较分析。倘若达到误差要求,就存储该组权阈值,输出预测结果,否则转到步骤(2),重新开始。

4 仿真实验

选取某地2014年12月20日至2015年1月10日的24小时的负荷数据作为样本。由于人工神经网络的神经元对训练样本的数据范围有限制,因此对输入数据进行归一化处理,这样可以避免在训练过程中神经网络出现假饱和现象,以加快神经网络的收敛。网络的收敛速度受不同压缩方式的影响,即输入值的压缩方式和隐含层激活函数形式有直接关系,最好是把输入值压缩在激活函数最有效的工作区间内[13]。当激活函数为指数函数时,将输入值换算压缩到(0,1)之内;当用正切函数时,将其换算到[-1,1]内。所提出的神经网络中神经元激活函数取Sigmoid函数,用式(14)将负荷换算到[-1,1]之间,在输出层用式(15)将其换算回负荷值。

(14)

(15)

在Matlab环境下,用人工鱼群神经网络模型对数据样本进行训练和预测,并与实际负荷值及Elman神经网络模型预测值进行比较,仿真结果如图2所示,两种模型预测误差对比如图3所示。

图2 预测值与实际负荷值对比

图3 预测误差对比

从预测结果可以看出,在某些负荷值节点,Elman神经网络模型的预测输出值与实际值局部出现了较大偏差,而人工鱼群神经网络模型预测输出更贴近实际值的曲线走势,有较高的预测精度,多数点达到较低的误差值并且各点的误差值变化较均匀。

5 结束语

为提高短期负荷预测的精度,改善神经网络的缺点,利用人工鱼群算法优化Elman神经网络的初始权值和阈值后,收敛速度加快,且有效地解决了Elman算法容易陷入局部最优的问题。将其应用于电力系统短期负荷预测中,仿真结果表明,基于人工鱼群算法的Elman神经网络模型具有较好的预测效果。

[1] Bebic J.Power system planning:emerging practices suitable for evaluating the impact of high-penetration photovoltaics[M].Golden,Colorado:National Renewable Energy Laboratory,2008.

[2] Hooshmand R A,Amooshahi H,Parastegari M.A hybrid intelligent algorithm based short-term load forecasting approach[J].International Journal of Electrical Power & Energy Systems,2013,45(1):313-324.

[3] Kulkarni S, Simon S P, Sundareswaran K.A spiking neural network (SNN) forecast engine for short-term electrical load forecasting[J].Applied Soft Computing,2013,13(8):3628-3635.

[4] Aussem A.Dynamical recurrent neural networks towards prediction and modeling of dynamical systems[J].Neurocomputing,1999,28(1):207-232.

[5] 高雷阜,赵世杰,高 晶.人工鱼群算法在SVM参数优化选择中的应用[J].计算机工程与应用,2013,49(23):86-90.

[6] 俞凯耀,席东民.人工鱼群算法优化的PID神经网络解耦控制[J].计算机仿真,2014,31(10):350-353.

[7] 刘彦君,江铭炎.自适应视野和步长的改进人工鱼群算法[J].计算机工程与应用,2009,45(25):35-37.

[8] 蔡 婷.基于人工鱼群的LS-SVM在短期负荷预测中的应用[D].南宁:广西大学,2014.

[9] 费 腾,张立毅.人工鱼群算法改进方法概述[J].电子设计工程,2015(21):1-4.

[10] 乔 新.基于Elman神经网络的电力负荷预测模型研究[J].无线互联科技,2012(11):122-123.

[11] 刘 荣.基于Elman神经网络的短期负荷预测[D].杭州:浙江大学,2013.

[12] 杨 红,陈向阳,张 飞,等.AFSA-BP神经网络在大坝变形预测中的应用[J].地理空间信息,2012,10(6):131-132.

[13] 隋惠惠.基于BP神经网络的短期电力负荷预测的研究[D].哈尔滨:哈尔滨工业大学,2015.

[14] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北农业大学,2011.

ApplicationofArtificialFishSwarmNeuralNetworkinShortTermLoadForecasting

CHEN Ya1,LI Ping2

(1.School of Physics and Electronic-Electrical Engineering,Ningxia University,Yinchuan 750021,China; 2.Ningxia Key Laboratory of Intelligent Sensing for Desert Information,Yinchuan 750021,China)

The electric power load is the basis of development of electric power system,so the improvement of predicting accuracy of the former is beneficial to the latter.Elman neural network forecasting method is easy to fall into local solution and its convergence rate is slow.The artificial fish swarm algorithm has better global convergence ability and higher optimization speed.To improve the accuracy of short-term power load forecasting,the artificial fish swarm algorithm is adopted to optimize the initial weights and thresholds of Elman neural network.Then a new forecast model of short-term power load is built and applied to forecast the short-term power load.With the historical load data of a city as training samples,the artificial fish swarm neural network prediction model and the traditional Elman neural network prediction model are employed in contrast experiments.The results show that it has smaller computational error,higher accuracy and faster convergence rate compared with the traditional Elman neural network prediction model and has better application prospects in short term power load forecasting.

artificial fish swarm algorithm;Elman neural network;short-term electric load prediction;prediction accuracy

TP39

A

1673-629X(2017)10-0189-04

2016-09-30

2017-01-13 < class="emphasis_bold">网络出版时间

时间:2017-07-11

2015宁夏自然科学基金资助项目(NZ15013);2016宁夏高校科学技术研究资助项目(NGY2016014)

陈 亚(1992-),女,硕士研究生,研究方向为电力系统及通信技术;李 萍,教授,硕士生导师,CCF会员(200014282M),研究方向为电力系统、计算机技术。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1454.034.html

10.3969/j.issn.1673-629X.2017.10.040

猜你喜欢
鱼群步长阈值
自然梯度盲源分离加速收敛的衡量依据
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
土石坝坝体失稳破坏降水阈值的确定方法
一种改进的变步长LMS自适应滤波算法
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
一种非线性变步长LMS自适应滤波算法
人工鱼群算法在雷达探测器射频端电路设计中的应用
鱼群漩涡
朱梦琪??《鱼群》
辽宁强对流天气物理量阈值探索统计分析