一种基于改进ABC算法的Elman神经网络的短期负荷预测方法与流程

文档序号:15801735发布日期:2018-11-02 21:29阅读:370来源:国知局
一种基于改进ABC算法的Elman神经网络的短期负荷预测方法与流程
本发明电力
技术领域
,具体是一种基于改进abc算法的elman神经网络短期负荷预测方法。
背景技术
供电低压台区负荷预测是供电部门的新兴工作之一,通过准确的负荷预测,可以经济合理地调整运行方式,减少上级电站备用容量、合理安排检修计划、降低运营成本、提高经济效益。根据电力系统负荷预测理论,在形成电力交易市场的过程中,负荷预测的研究更具重要意义,低压供电台区的负荷预测亦然。相对而言,中短区负荷预测对低压台区管理的价值更为重要。首先,中期负荷预测的结果,可以作为运行方式调整、低压电网工程施工的决策性依据。其次,24小时的短期负荷预测,可以作为供电企业提供设备过载预警。低压台区负荷预测可以分为长期预测、中期预测、短期预测、超短期预测,对应的时间段为年度、月度、日和时。其中,周预测、日预测、小时预测归为短期预测。目前,由于其负荷发展变化规律趋于稳定缘故,国外的学者关于中长期预测的研究远远多于短期预测,国内则基本上两者并重,但对于供电低压台区的预测还很少。目前,有学者对低压台区电网负荷预测进行了研究,提出了诸多负荷预测方法,如:中国专利(201410453192.1)提出来利用小波原理选取负荷数据中的特殊点作为插值点,同时根据hurst参数与小波系数之间的关系确定迭代函数系统中的垂直比例因子。在此基础上对历史负荷数据进行仿射变换,得到未来时刻的数据,从而实现负荷预测。但是该方法收敛速度慢,易陷入局部极小值等缺点。中国专利(201610815893.4)获取个区域在待预测日的负荷预测值机近期一个样本空间的负荷、气象历史数据并根据基于概率距离的同步回代消除技术得到全天负荷预测序列。但是该方法忽视了季节天气的多样性,保存的正常数据难以覆盖所有类型的天气,所以负荷预测结果可信度不高。技术实现要素:本发明所要解决的技术问题是提供一种基于改进人工蜂群(简称abc)算法的elman神经网络对短期负荷进行预测的方法。该方法是基于elman神经网络强大的非线性映射能力,利用人工蜂群训练神经网络的权值和阈值,再将改进abc算法产生的最优权值与阈值用于elman神经网络电力系统短期负荷预测,提高负荷预测速度。为解决上述技术问题,本发明采用的技术方案是:一种基于改进人工蜂群的elman神经网络的短期负荷预测方法,包括以下步骤:步骤1:获取原始数据(包括初始负荷和气象数据集),并对原始数据利用式(1)和式(2)进行预处理和归一化处理。气象数据包括每小时降水量、气压、湿度、温度、风速,其中温度又分为一个小时内的最高温、最低温和平均温,风速又分为瞬时风、最大风和极大风。步骤2:确定神经元的输入和输出数据,并确定最优的隐含层神经元个数,从而建立基于改进的abc算法的elman神经网络。网络结构由输入、输出参数的个数决定,隐含层个数按循环设置不同的个数寻找最优个数n。步骤3:确定适应度函数,每个食物源的位置为一组输入层权值、输出层权值和隐含层阈值。适应度值fiti计算公式为:式中ei为第i个食物源对应的权值和阈值训练时的均方误差。ei的计算公式如下:式中,yi为实际输出值,ti为目标输入向量。步骤4:初始化人工蜂群,设定abc算法中的参数limit;limit是记录某个解更新次数的上限定义计数变量t的初始值为1,蜂群种族数目np为所有权值和阈值的总和。步骤5:引领蜂采用最优逼近的邻域搜索方法产生新的侦查蜂(基于式(3)和式(4)计算),利用式(5)计算当前种群的反向种群,并在当前种群及其反向种群中选择保留较优的部分个体作为新种群。步骤6:根据式(6)和式(7)基于适应度排序的选择策略计算引领蜂的转移概率pk,根据pk选择食物源(解),并采用随机邻域搜索方法产生新的跟随蜂,计算其适应度值。如果新的跟随蜂适应度值优于原个体,则进行替换,否则保留原个体不变。步骤7:对于循环次数limit后仍未被更新的蜜源位置,其对应的跟随蜂转化为侦查蜂,并由式(8)随机产生一个新的蜜源位置。步骤8:将计数变量t=t+1;判断算法是否满足终止条件,若满足则输出最优解;如果不满足,则返回步骤5。所述终止条件是指t的值达到用户设定的上限值。步骤9:找到全局最优解,将改进的abc算法计算得到的最优权值、阈值赋予elman神经网络,将训练样本输入到网络中对elman神经网络进行训练学习。步骤10:利用训练步骤9训练好的elman神经网络进行短期负荷预测。进一步,所述步骤1中直接从电网中获取的原始数据以及对应的天气数据是十分杂乱的,会存在一些重复数据以及缺失数据。如果将这些数据进行建模会对负荷预测的结果产生很大的影响。所以在算法执行之前,需要对原始数据进行预处理。数据填充及异常数据处理的公式为:x(d,t)=ω1x(d1,t)+ω2x(d2,t)(1)式中x(d,t)表示第d天第t个小时对应的负荷值,ω1x(d1,t)表示第d-1天第t个小时的负荷值,ω2x(d2,t)表示第d+1天第t个小时的负荷值。其中ω1=ω2=0.5分别表示前一天及后一天负荷的权重。进一步,所述步骤1中输入样本信息为负荷、气象、天气、湿度等量,这些量的量纲不一、数值各异、差异甚大。为避免因输入量值域范围的较大差异而导致某些负荷影响因素在总体映射效果中歪曲甚至淹没现象的发生,必须对输入的有关变量数据进行所述s2的归一化处理,具体处理公式为:x=(xmax-xmin)/2+(xmax+xmin)/2式中,xmax和xmin代表训练样本集中负荷的最大值和最小值,x表示训练样本。进一步,所述步骤5中的邻域搜索可以有效改善原始abc算法中算法收敛速度慢的问题,使算法具有较好的开发能力。通过引入一个控制参数mr以改变蜜蜂的搜索频率,进而加快算法的收敛速度。具体地,对于解xi的每一维向量xij,将产生一个均匀的随机数rij(0≤rij≤1),如果随机数rij小于控制参数mr,则分量xij将由以下方式更新:其中,g为当前循环数,φ是[-1,1]间的随机数,决定扰动幅度,mrmin是mr的下限值,mrmax是mr的上限值。在全体采蜜蜂邻域搜索完毕产生新的种群后,按照一般反向学习(generalizedopposition-basedlearning,简称gobl)计算得到其反向种群,公式如下:其中,是第g代种群的第i个个体的第j维向量,是的反向个体,和分别是第g代种群中第j维向量的最小值和最大值,和分别是搜索空间中第j维向量的下界和上界,d为解的维数。进一步,所述步骤6中基于适应度排序策略,将种族个体按适应度大小进行排序,选择概率仅取决于个体在种群中的序位,而不是实际的适应度大小。该方法克服了比例适应度计算的缺点,具有更好的鲁棒性。选择概率定义如下:其中np为种族数目,a(t)为自适应系数,定义为:其中n为迭代次数。进一步,步骤7中控制参数“limit”用来记录某个解未被更新的次数。在所有跟随蜂完成搜索过程之后,如果某个解通过limit次循环不能被进一步改良,表明这个解陷入局部最优,该位置会被舍弃。设蜜源位置xi被舍弃,则此蜜源对应的采蜜蜂变成一个侦查蜂,此侦查蜂按照下式产生一个新的蜜源代替它。公式如下:xij=xmin,j+rand(0,1)(xmax,j-xmin,j)j∈{1,2,…,d}(8)其中,xij表示第i个食物源位置的第j维向量,xmin,j表示食物源位置第j维分量的最小值,xmax,j表示食物源位置第j维分量的最大值。根据上述方案,针对人工蜂群(abc)算法收敛速度慢、搜索方程的开发能力较弱等缺点进行了一系列的改进措施,包括重新设计搜索方程、调整蜜蜂搜索频率和改变较优解的选择机制等方面。将改进的abc算法用于elman神经网络的权值和阈值的优化。与现有技术相比,本发明的有益效果是:1.改进的abc算法不容易陷入局部最优、收敛速度和稳定性均有提高;2.发挥了elman神经网络对历史数据的敏感性,内部反馈网络的加入增加了网络本身处理动态信息的能力,具有强大的非线性映射能力,提高了电网短期负荷预测速度,满足了负荷预测精度的要求。附图说明图1为典型的四层elman神经网络结构示意图。图2为人工蜂群中三种蜜蜂间的转换。图3为本发明中一种改进abc算法的elman神经网络短期负荷预测方法模型结构示意图。图4为abc-elman神经网络和改进的abc-elman神经网络预测负荷误差比较图。具体实施方式下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的主要内容有:一、充分解析传统elman神经网络的输入信号的正向传递、误差信号的反向传播和承接层的延时算子过程;二:针对人工蜂群(abc)算法收敛速度慢、搜索方程的开发能力较弱等缺点进行了一系列的改进措施,包括重新设计搜索方程、调整蜜蜂搜索频率和改变较优解的选择机制等方面;三、将改进的abc算法运用到elman神经网络中,在matlab中实现负荷预测功能。1、传统elman神经网络预测原理解析1)elman神经网络基本模型elman神经网络一般分为四层:输入层、隐含层、承接层和输出层,其结构如图1所示,层与层之间采用全互连方式,同一层之间不存在相互连接,隐含层可以一层或多层。承接层又称上下文层或状态层,它用来记忆隐含层单元前一时刻的输出值,可以认为是一个一步延时算子,它使网络具有动态记忆的功能。图1中,xj表示输入层第j个节点的输入;wij表示隐含层第i个节点到输入层第j个节点之间的权值;θi为隐含层第i个节点的阈值;φ为隐含层的激励函数;wki表示输出层第k个节点到隐含层第i个节点之间的权值;ak为输出层第k个节点的阈值;ψ为输出层的激励函数;y(k)表示第k个节点的输出。elman神经网络信号的传递和误差修正基本elman神经网络算法由信号的正向传递和误差的反向传播两部分组成,即计算实际输出时按输入到输出方向进行,各层权值、阈值的修正过程则从输出到输入的方向进行。根据图1所示参数,对elman神经网络的输出信号、各层权值和阈值进行计算与调整。假设输入层、隐含层和输出层的神经元个数分别为m、q、l,w1ij(t)、w2ij(t)、w3ij(t)分别为输入层到隐含层、隐含层到输出层及承接层到隐含层的连接权值矩阵,f()、g()分别为隐含层单元和输出层单元的激发函数所组成的非线性向量函数。根据网络结构可得非线性状态空间表达式如下所示。隐含层第i节点的输入neti为:隐含层的第i个节点的输出为:输出层第k个节点的输入输出为:输出层第k个节点的输出ok为:elman神经网络权值w1ij(t)、w2ij(t)的修正与bp神经网路类似,主要差别在于w3ij(t),采用链式倒数规则求取。公式如下:其中,η是常数,为第k个节点的目标向量,为第k个节点的实际输出向量,yi为输出层第i个节点的输出,xj为输入层第j个节点的输入,ψ′为输出层激励函数,φ′为隐含层的激励函数,netk为隐含层第k个节点的输入;i=1,…,qj=1,…,m,k=1,…,l。2、一种基于改进abc算法的elman神经网络的短期负荷预测方法,其原理示意图如图3所示。1)改进elman神经网络elman神经网络在训练时,输出值和期望值之间的误差,归结为各层各节点连接权值和阈值的“增加量”,通过输出层向输入层反向传递,结构层向隐含层反馈修正值和阈值,直至误差最小。elman神经网络算法主要采用最速下降法,按误差函数的负梯度方向调整各个权值和阈值,但该方法可能会引起局部极小值、收敛速度慢、学习过程会出现震荡。针对上述问题,需要对算法进行改进,本发明采用非线性阻尼最小二乘法(l-m算法),是为了在以近似二阶训练速率进行修正时避免计算hessian矩阵而设计的。当误差性能函数是平方和误差形式时,hessian阵可用h=jtj矩阵来近似替换,其梯度为g=jte。式中h为包含网络误差函数对权值和阈值一阶导数的雅克比矩阵,j是雅克比矩阵,e是网络训练误差向量。l-m算法对上述近似hessian矩阵按xk-1=xk-[jtj+μi]-1jte修正(μ是比例系数,i是单位矩阵),当μ较大时,l-m算法就更接近小步长的梯度法。牛顿法逼近最小误差的速度更快、更精确。elman神经网络中,激励函数在一定意义上可以决定误差函数e的性质特征。在一般的elman神经网络中,隐含层函数f(x)采用sigmoid函数,即输出层g(x)函数采用线性函数。但sigmoid函数往往会使网络的收敛速度很慢,并且网络容易陷入极小值,故需要对此进行改进。针对sigmoid函数曲线,对此改进方法为加入自变量因子k、增加可调偏置参数b、增加常数项a、扩大函数增益c、改进后的函数表达式为式(16)。其导数函数如式(17):在神经网络学习算法中,常用δ学习规则即误差纠正学习是基于使误差输出方差最小的思想而建立的。神经网络的学习速率与f′有关,f′越大学习速率越快。通过参数a、b、c、k的调节,可以实现激励函数图像的平移和伸缩。通过参数的调节配合,可以使得函数f的收敛速度和预测精度达到一个最优解。2)elman神经网络的权值和阈值为了加快elman神经网络的收敛速度,改善局部最小值的缺点,采用改进的人工蜂群算法作为神经网络的权值和阈值优化算法。将elman神经网络于人工蜂群算法相结合,应用于电网短期负荷预测。在abc算法中输入是elman神经网络的各层权值和阈值,输出是当前样本的权值和阈值最优值。如图2所示,人工蜂群算法将蜂群分为引领蜂、跟随蜂和侦查蜂3种类型,通过这三种蜂群之间的相互交流信息、转化与协作来解决问题。在求解优化问题时,abc算法中蜜源所在的位置被看作空间中的点,每个点代表问题的一个潜在解,n为蜜源的数量,蜜源i(i=1,2,…,n)的质量代表解的适应度值fiti。对于维数为d的求解问题,蜜源i的位置在t次迭代时表示为t为当前的迭代次数;xij∈(xmin,j,xmax,j),xmin,j和xmax,j分别表示搜索空间的两个边界,j=1,2,…,d。首先在搜索空间按照下式随机产生蜜源i的初始位置。xi,j=xmin,j+rand(0,1)(xmax,j-xmin,j)j∈{1,2,…,d}(8)引领蜂在搜索开始阶段蜜源i附近根据vij=xij+φij(xij-xkj)搜素产生一个新蜜源。由于人工蜂值在接近全局最优解时易陷入局部最优,后期搜索速度减慢。为了有效改善原始abc算法的收敛速度慢的问题,本发明采用最优逼近的邻域搜索方法,使算法具有较好的开发能力。该方法通过引入一个控制参数mr以改变蜜蜂的搜索频率,进而加快算法的收敛速度。其中,g为当前循环数,φ是[-1,1]间的随机数,决定扰动幅度。所有的引领蜂完成运算后共享蜜源信息,跟随蜂根据引领蜂分享的蜜源分享的蜜源信息,按照以下式(6)选择概率进行跟随。然后,跟随蜂根据引领蜂提供的蜜源位置和适应度按照概率选择引领蜂,如果pk大于[0,1]中产生的随机数r,则该跟随蜂按式(8)产生一个新蜜源。搜索过程中,若引领蜂的蜜源经过limit次迭代而没有被替换掉,即适应度没有被改进,则该蜜源将会被放弃,与之对应的引领蜂角色转变为侦查蜂。在abc算法中,解的适用度评价依据式(18)计算:式中ei为第i个食物源对应的权值和阈值训练时的均方误差。ei的计算公式如下:式中,yi为实际输出值,ti为目标输入向量。为了加快elman网络的收敛速度,改善局部最小值的缺点,采用改进abc算法作为神经网络权值和阈值优化算法。由改进abc算法得到的最优权值和阈值赋予elman神经网络进行精确的负荷预测。下面通过具体实例对本发明技术方案及技术效果进行进一步说明。在众多负荷影响因子中,气象因子对负荷的影响已随着用电量的增加而越来越显著。气象因子主要包括温度、相对湿度、风速、气压等,这些气象因子都会对电力系统的负荷造成不同程度的影响,其中温度和相对湿度对负荷的影响最大。本发明采用基础气象因子直接输入和引入综合气象因子(人体舒适度和温湿指数)是目前采用的两个方法。1)人体舒适度就是指在不特意采用任何防寒保暖或防暑降温措施的前提下,人们在自然环境中是否感觉舒适及其达到何种程度的具体描述。一般而言,气象因素中温度、相对湿度、风速等这几个气象因子对人体感觉影响最大,人体舒适度就是根据这些要素而建成的非线性方程。f(t)、g(u)、h(v)分别为温度、湿度、风速的非线性向量函数,一般可描述为式(19):d=f(t)+g(u)+h(v)(19)式中,d为人体舒适度;t为气温,单位为℃;u为相对湿度,单位为百分数;v为风速,单位为m/s。一般采用如式(20)所示的人体舒适度指数计算方法:2)温湿指数是一种比较常见的综合气象指标,通过该指标可以将温度和湿度等信息引入负荷分析中。温湿指数的定义方法有很多种,本发明采用美国pjm市场中的计算公式,表达如式(21):thi=th-(0.55-0.55hl)*(th-58)(21)式中,th为华氏温度;hl为相对湿度。1、算例系统及数据处理本发明采用2017年1月1日至2017年3月31日的用电数据和实时气象数据作为神经网络训练样本,预测日为2017年4月1日不同时刻的电力负荷数据。首先,学习算法采用非线性阻尼最小二乘法,为保证预测精度,同时预测时间不至于过长,设定模型最大训练次数为2000次,学习步长为0.04,训练目标误差为10-2。如表1所示,对负荷数据的研究发现样本属性为日前两周同时刻负荷、日前一周同时刻负荷、日前两天同时刻负荷、日前一天同时刻负荷、日前一天同时刻温度、日前一天同时刻湿度、日前一天同时刻风速、预测日当天同时刻温度、湿度、风速和实际负荷。其样本数据如表1所示。表12017年4月1日的实际负荷数据时刻/h负荷/mw时刻/h负荷/mw时刻/h负荷/mw140009420517567923905104403185578338801150001958004389212567820546754002135570215032639381454232248677410515498723432084198164690243879表2负荷样本数据针对elman神经网络对数值介于0与1之间的数比较敏感,因此,在将原始负荷序列输入改进abc算法的elman神经网络模型之前,需要对数据进行归一化处理,训练结束后再进行反归一化处理,得到实际负荷预测值。2、实验结果和分析如图4所示,从预测结果可以看出:1.采用非线性阻尼最小二乘法大幅提高了训练精度,减少了预测时间;2.综合气象因子作为输入的预测结果要明显优于气象因子直接输入时的预测结果,其预测时间也相对减少。这主要是由于基础气象因子直接输入时,输入量增加使得神经网络中隐含层神经元数目增加,造成预测时间增加。3.采用改进abc算法进行权值和阈值寻优处理,使得最大预测绝对误差明显减少。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1