CN115689070B - 基于帝王蝶算法优化bp神经网络模型的能源预测方法 - Google Patents

基于帝王蝶算法优化bp神经网络模型的能源预测方法 Download PDF

Info

Publication number
CN115689070B
CN115689070B CN202310000659.6A CN202310000659A CN115689070B CN 115689070 B CN115689070 B CN 115689070B CN 202310000659 A CN202310000659 A CN 202310000659A CN 115689070 B CN115689070 B CN 115689070B
Authority
CN
China
Prior art keywords
butterfly
neural network
population
network model
iteration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310000659.6A
Other languages
English (en)
Other versions
CN115689070A (zh
Inventor
丁贵立
颜高洋
刘文轩
许志浩
康兵
张兴旺
程巧
曹昆峰
郑芯蕊
杨勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanchang Institute of Technology
Original Assignee
Nanchang Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanchang Institute of Technology filed Critical Nanchang Institute of Technology
Priority to CN202310000659.6A priority Critical patent/CN115689070B/zh
Publication of CN115689070A publication Critical patent/CN115689070A/zh
Application granted granted Critical
Publication of CN115689070B publication Critical patent/CN115689070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,该方法针对能源消费总量及其影响因素的数据建立BP神经网络模型;通过归一化函数将所有数据归一化消除量纲影响;并通过帝王蝶算法对确定BP神经网络模型的初始权重、初始阈值;将最终得到的初始权重、初始阈值代回BP神经网络模型对测试集的能源消费总量进行预测。本发明将帝王蝶算法应用到BP神经网络模型中,降低了单一BP神经网络模型预测的随机性,缩小了预测误差范围,也提高了BP神经网络模型的预测精度,其方法相对简单,预测效果更优。

Description

基于帝王蝶算法优化BP神经网络模型的能源预测方法
技术领域
本发明属于能源预测技术领域,具体涉及一种基于帝王蝶算法优化BP神经网络模型的能源预测方法。
背景技术
为了应对全球严峻的环境污染和气候变化问题,要有效地控制能源消费带来的碳排放,制定高污染、高排放行业绿色、低碳转型路线。
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。它由信息的正向传播和误差的反向传播两个过程组成。神经网络的核心成分是人工神经元,每个神经元接收来自其他几个神经元的输入,将它们乘以各自分配的权重,然后再相加,最后把相加的总和传递给一个或多个神经元。当把很多神经元多层放置并堆叠在一起时,就形成了神经网络。通过给定训练集的输入数据,它会根据输出值与实际值的误差不断调整权重,直到能将每个输入映射到正确的输出。因其非线性映射能力很强,所以被广泛应用于受复杂因素影响的预测问题中。但是BP神经网络的初始权重和阈值为随机赋值,这会导致其预测结果的误差波动较大,因此提出了一种帝王蝶算法优化BP神经网络的初始权重和阈值来缩小其预测结果的误差范围,提高预测精度。
帝王蝶算法(Monarch Butterfly Optimization,MBO)是一种受帝王蝶迁徙行为启发的智能优化算法。帝王蝶优化算法有两个算子:具有局部搜索能力的迁移算子和具有全局搜索能力的调整算子,可同时确定帝王蝶的搜索方向,适合并行处理。通过迁移操作和适应性操作,可以更新帝王蝶中的个体位置。在解决全局数值优化等问题时,帝王蝶优化算法的性能比较优越。其收敛速度快,局部精细搜索能力强,但是其全局搜索能力一般,易陷入局部最优。因此,如何将改进的帝王蝶算法应用于能源消费预测,解决神经网络预测过于随机的问题是目前迫切需要解决的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种设计合理、准确可靠且易于工程实现的基于帝王蝶算法优化BP神经网络模型的能源预测方法,本发明引入柯西变异因子进一步改进帝王蝶算法,来增强算法的抗扰动能力,提高算法全局的搜索能力,防止陷入局部最优解,利用改进的帝王蝶算法解决了单一BP神经网络模型的随机性导致的预测结果误差区间较大的问题。
本发明解决现有的技术问题是采取以下技术方案实现的:
一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,包括以下步骤:
步骤1、将能源消费总量及其影响因素的历史数据划分为训练集和测试集;
对于由能源消费总量以及它的五个影响因素组成的第k组数据列γk=[γk(1), γk(2), γk(3),γk(4), γk(5), γk(6)],γk(i)>0,k=1,2,…,n;i=1,2,…,6,取n组数据列的部分划分为训练集,剩下的数据列划分为测试集;
式中,γk(1)代表第k组数据的年末常住人口数、γk(2)代表第k组数据的地区生产总值、γk(3)代表第k组数据的地区生产总值指数、γk(4)代表第k组数据的人均年收入、γk(5)代表第k组数据的年平均气温、γk(6)代表第k组数据的能源消费总量;
步骤2、使用归一化函数将训练集和测试集的所有数据归一化;
归一化函数为:
,(γk(i)>0,k=1,2,…,n;i=1, 2,…,6)
式中,minγk(i)为数据列γk中的最小值,maxγk(i)为数据列γk中的最大值,f(γk(i)) 为归一化处理后的数据列各元素的值;即经过归一化处理后的第k组数据列为=[f(γk (1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5)), f(γk(6))];
步骤3、设置BP神经网络基本参数;
步骤4、针对BP神经网络模型的初始权重ω、初始阈值θ,建立平均绝对误差目标函数;
式中,f(ω,θ)为平均绝对误差目标函数;
步骤5、通过帝王蝶算法对平均绝对误差目标函数进行求解,确定BP神经网络模型的初始权重ω、初始阈值θ;
步骤6、将初始权重ω、初始阈值θ代回BP神经网络模型进行训练,将能源消费总量的影响因素输入训练好的BP神经网络模型对能源消费总量进行预测。
进一步优选,所述步骤3的具体实现方法包括以下步骤:
步骤3.1、在归一化后的训练集数据列中取能源消费总量的五个影响因素f(γk(1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5))作为BP神经网络模型的输入值,能源消费总量f(γk(6))作为BP神经网络模型的输出值;
步骤3.2、设置BP神经网络模型基本参数:输入层节点数、隐含层节点数、输出层节点数、训练次数、学习速率、最大误差、激活函数。
进一步优选,步骤5的具体过程如下:
步骤5.1、初始化帝王蝶个体的位置状态为向量σ=(ω,θ),向量ω,θ分别对应BP神经网络模型的初始权重ω、初始阈值θ,每只帝王蝶的位置组合了初始权重ω、初始阈值θ参数的信息,并且每只帝王蝶代表平均绝对误差目标函数的一个解,设置帝王蝶算法的初始参数:帝王蝶个体总数N、最大迭代次数tmax、帝王蝶种群分为第一种群和第二种群,第一种群和第二种群的种群数量分别为P1和P2、帝王蝶迁移率p、迁移周期peri、调整率BAR、帝王蝶步长S、最大步长Smax,随机生成共N个帝王蝶个体,每个帝王蝶个体都是满足平均绝对误差目标函数的潜在解;
步骤5.2、根据平均绝对误差目标函数,在迭代初始阶段对种群进行适应度值计算并按照从优到劣排序,平均绝对误差越小,表明个体适应度越高,选取出本次迭代适应度值高的帝王蝶个体,作为精英个体保留下来;
步骤5.3、将帝王蝶个体总数N根据帝王蝶迁移率p划分为第一种群和第二种群两部分,即第一种群数量P1=N×p,第二种群数量P2=N×(1-p),执行迁移算子更新第一种群的帝王蝶,执行调整算子更新第二种群的帝王蝶,将迭代后的新种群整合,重新计算适应度值;
步骤5.4、将适应度最低的五个帝王蝶个体进行柯西函数变异操作,用适应度高的帝王蝶个体取代适应度低的帝王蝶个体,将替换后的种群作为下一次迭代的初始种群;
步骤5.5、记录每次迭代中适应度值最优的帝王蝶个体,重复迭代过程直到达到最大迭代次数tmax,从每次迭代的最优帝王蝶个体中选择适应度最高的帝王蝶作为优化后的最终输出。
进一步优选,迁移算子和调整算子的具体执行方式如下:
第一种群中的帝王蝶行为为迁徙,对第一种群中的帝王蝶个体,迁移算子表示为,式中,为第t+1次迭代产生的帝王蝶个体w的第 μ维,维度μ代表一个权重或阈值,r1为第一种群中的随机帝王蝶个体,r2为第二种群中的随 机帝王蝶个体,为第t次迭代产生的第一种群中的随机帝王蝶个体r1的第μ维,为第t次迭代产生的第二种群中的随机帝王蝶个体r2的第μ维,rand为[0,1]之间 均匀分布的随机实数;迁移算子的含义为根据产生的随机数τ=rand×prei与帝王蝶迁移率 p的大小关系,分别来自第t次迭代中第一种群和第二种群中的随机帝王蝶个体;维度 μ的取值范围为[-3,3];当随机数τ≤帝王蝶迁移率p时,替换,当随机数τ> 帝王蝶迁移率p时,替换;
第二种群中的帝王蝶行为为适应环境,对第二种群中的帝王蝶个体,调整算子为:
当随机实数rand≤帝王蝶迁移率p时,根据来调整位置,即来自第t次迭代第一种群和第二种群中最优帝王蝶个体的第μ维,当随 机实数rand>帝王蝶迁移率p时,帝王蝶个体按更新当前的位置; 在此基础上,如果进一步满足随机数rand>调整率BAR,则该帝王蝶个体的位置则进一步更 新为,在帝王蝶算法中调整 率BAR与帝王蝶迁移率p相等,帝王蝶最大步长Smax与当前迭代次数t平方的比值称为权重因 子,通过莱维飞行公式计算而来,为第t次迭代中帝王蝶个体w 的行走步长,为第t次迭代产生的帝王蝶个体w。
进一步优选,柯西变异方式为:
其中,为第t次迭代产生的帝王蝶个体w的第μ维,Cauchy(0,1)为柯西随机 变量生成函数,,ε为[0,1]之间均匀分布的 随机实数。
进一步优选,BP神经网络模型的训练方法为:
对于输入层的n组5元素输入数据列F(γk(i))=f(γk(i)),γk(i)>0,k=1,2,…,n;i=1,2, …,5(即输入层神经元节点数为5)以及n组1元素输出数据列f(γk(6)),k=1,2,…,n(即输出层神经元节点数为1),隐含层神经元节点数为d,隐含层神经元节点的输入为Vk,j,k=1,2,…,n;j=1,2, …,d,第k组输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权重为ωij,第k组输入数据列对应第j个隐含层神经元节点的输出阈值为θk,j,输入层的输入数据与隐含层神经元节点输入的关系为:
当第j个隐含层神经元节点的输入大于0时才会继续输出Ik,j,k=1,2,…,n;j=1,2,…,d,其关系为:
式中,为激活函数,输出层神经元节点的输入为Ok,k=1,2,…,n,第j个隐含层神 经元节点的输出Ik,j对应输出层神经元节点的权重为ωj,隐含层神经元节点的输出对应输 出层神经元节点的输出阈值为θk,输出层的输入Ok与隐含层输出Ik,j的关系为:
输出层神经元节点再次判断其输入是否大于0,若大于0,则最后通过激活函数输出预测数据列Yk(6),其关系为:
然后开始计算神经网络输出的误差Ek:Ek=,若误差没有达到 设定的值,则开始误差反向传播,使用梯度下降法调整BP神经网络的参数,权重更新公式 为:
阈值更新公式为:
式中为更新后的第j个隐含层神经元节点的输出Ik,j对应输出层神经元节点的 权重;为更新后的输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权 重;为更新后的第k组输入数据列对应第j个隐含层神经元节点的输出阈值;为更新 后的隐含层神经元节点的输出对应输出层神经元节点的输出阈值;α为学习速率,表示每次 参数更新的幅度大小;权重和阈值调整完毕后进行下一轮训练,重复权重和阈值更新过程, 直到误差Ek符合要求或者达到规定的最大迭代次数后完成BP神经网络模型的训练。
本发明的优点和积极效果是:
本发明将在解决全局数值优化等问题时,性能优越的帝王蝶算法(MonarchButterfly Optimization,MBO)引入到BP神经网络模型关键参数初始权重和初始阈值的寻优过程,提出基于帝王蝶算法优化BP神经网络模型,将平均绝对误差函数作为帝王蝶算法的目标函数,通过帝王蝶算法对目标函数进行求最优解,同时通过引入柯西变异来增加扰动,提高算法全局的搜索能力,防止陷入局部最优解,确保能源消费预测结果的精确性。本发明将改进的帝王蝶算法应用到BP神经网络模型中,解决了单一BP神经网络模型的随机性导致的预测结果误差区间较大的问题,也提高了BP神经网络的拟合度和预测精度,其方法相对简单,预测效果更优。
附图说明
图1为本发明的基于帝王蝶算法优化BP神经网络模型的能源预测方法流程框图。
图2为均权GM(1,1)模型预测的某省能源消费总量预测曲线图。
图3为黄金分割优化权值的GM(1,1)模型预测的某省能源消费总量预测曲线图。
图4为BP神经网络模型预测的某省能源消费总量预测曲线图。
图5为帝王蝶算法优化BP神经网络模型预测的某省能源消费总量预测曲线图。
图6为采用帝王蝶算法对BP神经网络模型参数优化的平均绝对误差收敛图。
具体实施方式
以下结合附图对本发明实施例做进一步详述。
本发明的设计思想为:采用帝王蝶算法MBO与BP神经网络模型融合对模型的初始权重ω、初始阈值θ两个参数进行优化,采用平均绝对误差函数为帝王蝶算法MBO的目标函数,将帝王蝶算法应用到BP神经网络模型中,解决了单一BP神经网络模型的随机性导致的预测结果误差区间较大的问题,也提高了BP神经网络模型的拟合度和预测精度,迭代方法简单,收敛速度快,易于工程实现。并且在帝王蝶算法中,每只帝王蝶都是满足目标函数的一个潜在解,通过迁移算子和调整算子来更新种群中帝王蝶的搜索方向,通过柯西变异来增加扰动,跳出局部最优。个体的适应度与目标函数相关联,每次迭代中适应度高的精英个体直接进入下一代,以避免帝王蝶种群的质量随着迭代次数的增加而下降。循环迭代直到达到最大迭代次数,最终从每次迭代的最优个体中选出适应度最优的个体,以此达到优化目的。
基于上述设计思想,本发明提出一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,如图1所示,包括以下步骤:
步骤1、将能源消费总量及其影响因素的历史数据划分为训练集和测试集;
对于由能源消费总量以及它的五个影响因素组成的第k组数据列γk=[γk(1), γk(2), γk(3), γk(4), γk(5), γk(6)],γk(i)>0,k=1,2,…,n;i=1,2,…,6,取n组数据列的部分划分为训练集,剩下的数据列划分为测试集;
式中,γk(1)代表第k组数据的年末常住人口数、γk(2)代表第k组数据的地区生产总值、γk(3)代表第k组数据的地区生产总值指数、γk(4)代表第k组数据的人均年收入、γk(5)代表第k组数据的年平均气温、γk(6)代表第k组数据的能源消费总量。
步骤2、使用归一化函数将训练集和测试集的所有数据归一化。
在本步骤中,根据步骤1所得数据列,建立如下归一化函数为:
,(γk(i)>0,k=1,2,…,n;i=1, 2,…,6)。
式中,minγk(i)为数据列γk中的最小值,maxγk(i)为数据列γk中的最大值,f(γk(i)) 为归一化处理后的数据列各元素的值。即经过归一化处理后的第k组数据列为=[f(γk (1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5)), f(γk(6))]。
步骤3、设置BP神经网络模型基本参数。本步骤的具体实现方法包括以下步骤:
步骤3.1、在归一化后的训练集数据列中取能源消费总量的五个影响因素f(γk(1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5))作为BP神经网络模型的输入值,能源消费总量f(γk(6))作为BP神经网络模型的输出值;
步骤3.2、设置BP神经网络模型基本参数:输入层节点数、隐含层节点数、输出层节点数、训练次数、学习速率、最大误差、激活函数。
步骤4、针对BP神经网络模型的初始权重ω、初始阈值θ,建立平均绝对误差目标函数。
在本步骤中,针对两个参数,根据预测值与输出值构造出平均绝对误差目标 函数:
式中,f(ω,θ)为平均绝对误差目标函数。
步骤5、通过帝王蝶算法对目标函数进行求解,确定BP神经网络模型的初始权重ω、初始阈值θ。本步骤的具体实现方法包括以下步骤:
步骤5.1、初始化帝王蝶个体的位置状态为向量σ=(ω,θ),向量的两个参数分别对应BP神经网络模型的初始权重ω、初始阈值θ,每只帝王蝶的位置组合了初始权重ω、初始阈值θ参数的信息,并且每只帝王蝶代表平均绝对误差目标函数的一个解,设置帝王蝶算法的初始参数:帝王蝶个体总数N、最大迭代次数tmax、帝王蝶种群分为第一种群和第二种群,第一种群和第二种群的种群数量分别为P1和P2、帝王蝶迁移率p、迁移周期peri、调整率BAR、帝王蝶步长S、最大步长Smax,随机生成共N个帝王蝶个体,每个帝王蝶个体都是满足平均绝对误差目标函数的潜在解;
步骤5.2、根据平均绝对误差目标函数,在迭代初始阶段对种群进行适应度值计算并按照从优到劣排序,平均绝对误差越小,表明个体适应度越高,选取出本次迭代适应度值高的帝王蝶个体,作为精英个体保留下来;
步骤5.3、将帝王蝶个体总数N根据帝王蝶迁移率p划分为第一种群和第二种群两部分,即第一种群数量P1=N×p,第二种群数量P2=N×(1-p),执行迁移算子更新第一种群的帝王蝶,执行调整算子更新第二种群的帝王蝶,将迭代后的新种群整合,重新计算适应度值;
两个算子的具体执行方式如下:
第一种群中的帝王蝶行为为迁徙,对第一种群中的帝王蝶个体,迁移算子表示为,式中,为第t+1次迭代产生的帝王蝶个体w的第 μ维,维度μ代表一个权重或阈值,r1为第一种群中的随机帝王蝶个体,r2为第二种群中的随 机帝王蝶个体,为第t次迭代产生的第一种群中的随机帝王蝶个体r1的第μ维,为第t次迭代产生的第二种群中的随机帝王蝶个体r2的第μ维,rand为[0,1]之间 均匀分布的随机实数;迁移算子的含义为根据产生的随机数τ=rand×prei与帝王蝶迁移率 p的大小关系,分别来自第t次迭代中第一种群和第二种群中的随机帝王蝶个体;维度 μ的取值范围为[-3,3];当随机数τ≤帝王蝶迁移率p时,替换,当随机数τ> 帝王蝶迁移率p时,替换;
第二种群中的帝王蝶行为为适应环境,对第二种群中的帝王蝶个体,调整算子为:
当随机实数rand≤帝王蝶迁移率p时,根据来调整位置,即来自第t次迭代第一种群和第二种群中最优帝王蝶个体的第μ维,当随机 实数rand>帝王蝶迁移率p时,帝王蝶个体按更新当前的位置;在此 基础上,如果进一步满足随机数rand>调整率BAR,则该帝王蝶个体的位置则进一步更新为,在帝王蝶算法中调整率BAR与帝王 蝶迁移率p相等,帝王蝶最大步长Smax与当前迭代次数t平方的比值称为权重因子,通过莱维飞行公式计算而来,为第t次迭代中帝王蝶个体w的行 走步长,为第t次迭代产生的帝王蝶个体w;
步骤5.4、将适应度最低的五个帝王蝶个体进行柯西函数变异操作,用适应度高的帝王蝶个体取代适应度低的帝王蝶个体,将替换后的种群作为下一次迭代的初始种群;
对种群中适应度最差的五个帝王蝶个体进行柯西变异,其变异方式为:
步骤5.5、记录每次迭代中适应度值最优的帝王蝶个体,重复迭代过程直到达到最 大迭代次数,从每次迭代的最优帝王蝶个体中选择适应度最高的帝王蝶作为优化后的 最终输出。
步骤6、将初始权重ω、初始阈值θ代回BP神经网络模型进行训练,将能源消费总量的影响因素输入训练好的BP神经网络模型对能源消费总量进行预测。本步骤的具体实现方法包括以下步骤:
步骤6.1、根据帝王蝶算法优化后的BP神经网络模型的初始权重ω、初始阈值θ,开始BP神经网络模型的训练;
BP神经网络的具体训练方法为:
对于输入层的n组5元素输入数据列F(γk(i))=f(γk(i)),γk(i)>0,k=1,2,…,n;i=1,2, …,5(即输入层神经元节点数为5)以及n组1元素输出数据列f(γk(6)),k=1,2,…,n(即输出层神经元节点数为1),隐含层神经元节点数为d,隐含层神经元节点的输入为Vk,j,k=1,2,…,n;j=1,2, …,d,第k组输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权重为ωij,第k组输入数据列对应第j个隐含层神经元节点的输出阈值为θk,j,输入层的输入数据与隐含层神经元节点输入的关系为:
当第j个隐含层神经元节点的输入大于0时才会继续输出Ik,j,k=1,2,…,n;j=1,2,…,d,其关系为:
式中,为激活函数,输出层神经元节点的输入为Ok,k=1,2,…,n,第j个隐含层神 经元节点的输出Ik,j对应输出层神经元节点的权重为ωj,隐含层神经元节点的输出对应输 出层神经元节点的输出阈值为θk,输出层的输入Ok与隐含层输出Ik,j的关系为:
输出层神经元节点再次判断其输入是否大于0,若大于0,则最后通过激活函数输出预测数据列Yk(6),其关系为:
然后开始计算神经网络输出的误差Ek:Ek=,若误差没有达到 设定的值,则开始误差反向传播,使用梯度下降法调整BP神经网络的参数,权重更新公式 为:
阈值更新公式为:
式中为更新后的第j个隐含层神经元节点的输出Ik,j对应输出层神经元节点的 权重;为更新后的输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权 重;为更新后的第k组输入数据列对应第j个隐含层神经元节点的输出阈值;为更新 后的隐含层神经元节点的输出对应输出层神经元节点的输出阈值;α为学习速率,表示每次 参数更新的幅度大小;权重和阈值调整完毕后进行下一轮训练,重复权重和阈值更新过程, 直到误差Ek符合要求或者达到规定的最大迭代次数后完成BP神经网络模型的训练。
步骤6.2、训练完毕后,取测试集数据列中能源消费总量的五个影响因素f(γk(1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5))作为训练完成的BP神经网络模型的输入值,即可输出BP神经网络模型的预测值,然后将预测值反归一化后即可得到实际预测值。
下面以一个具体实例对本发明预测结果进行验证。
在本实例中,选取1999年至2020年某省年末常住人口数、地区生产总值(地区GDP)、地区生产总值指数、人均年收入、年平均气温、能源消费总量22组6维的数据列作为BP神经网络模型的原始序列,年末常住人口数、地区生产总值(地区GDP)、地区生产总值指数、人均年收入、年平均气温作为神经网络的输入,能源消费总量作为BP神经网络模型的输出。在此基础上,我们用本发明提出的帝王蝶算法优化BP神经网络模型对该段数据序列进行预测,结果如表1所示:
表1描述了三种预测模型与本发明所提帝王蝶算法优化BP神经网络模型对某省1999年至2020年能源消费总量预测值与实际值对比,可以看出帝王蝶算法优化BP神经网络模型的预测值更接近实际值,说明了本发明所提方法的正确性。
图2-图5为对表1中的历史数据和各预测算法的预测数据进行图形化,图2为均权GM(1,1)模型预测的某省能源消费总量预测曲线图,图3为黄金分割优化权值的GM(1,1)模型预测的某省能源消费总量预测曲线图,图4为BP神经网络模型预测的某省能源消费总量预测曲线图,图5为帝王蝶算法优化BP神经网络模型预测的某省能源消费总量预测曲线图。从图中也可清晰看出四种算法对实际值的拟合度以及平均相对误差大小,说明了本发明所提算法误差更小,能更好地预测能源消费总量。
图6表示帝王蝶算法对BP神经网络模型参数优化的平均绝对误差收敛图,由图6可以看出经过10次迭代后平均绝对误差即可收敛到0.0166左右,收敛速度较快,表明了本发明所提方法的迭代方法简单,收敛速度快,易于工程实现。
四种模型的平均绝对误差MAE、平均相对误差MAPE两种精度指标的比对结果如表2所示:
从数据结果可以看出,帝王蝶算法优化BP神经网络模型的预测精度要高于均权GM(1,1)模型、黄金分割优化权值的GM(1,1)模型和BP神经网络模型。验证了本算法的准确性和优越性。需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (4)

1.一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,其特征在于:包括以下步骤:
步骤1、将能源消费总量及其影响因素的历史数据划分为训练集和测试集;
对于由能源消费总量以及它的五个影响因素组成的第k组数据列γk=[γk(1), γk(2), γk(3),γk(4), γk(5), γk(6)], γk(i) >0,k=1,2,…,n;i=1,2,…,6,取n组数据列的部分划分为训练集,剩下的数据列划分为测试集;
式中,γk(1)代表第k组数据的年末常住人口数、γk(2)代表第k组数据的地区生产总值、γk(3)代表第k组数据的地区生产总值指数、γk(4)代表第k组数据的人均年收入、γk(5)代表第k组数据的年平均气温、γk(6)代表第k组数据的能源消费总量;
步骤2、使用归一化函数将训练集和测试集的所有数据归一化;
归一化函数为:
式中,minγk(i)为数据列γk中的最小值,maxγk(i)为数据列γk中的最大值,f(γk(i))为归一化处理后的数据列各元素的值;即经过归一化处理后的第k组数据列为=[f(γk(1)),f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5)), f(γk(6))];
步骤3、设置BP神经网络基本参数;
步骤4、针对BP神经网络模型的初始权重ω、初始阈值θ,建立平均绝对误差目标函数;
式中,f(ω,θ)为平均绝对误差目标函数;
步骤5、通过帝王蝶算法对平均绝对误差目标函数进行求解,确定BP神经网络模型的初始权重ω、初始阈值θ;
所述步骤5的具体实现方法包括以下步骤:
步骤5.1、初始化帝王蝶个体的位置状态为向量σ=(ω,θ),向量ω,θ分别对应BP神经网络模型的初始权重ω、初始阈值θ,每只帝王蝶的位置组合了初始权重ω、初始阈值θ参数的信息,并且每只帝王蝶代表平均绝对误差目标函数的一个解,设置帝王蝶算法的初始参数:帝王蝶个体总数N、最大迭代次数tmax、帝王蝶种群分为第一种群和第二种群,第一种群和第二种群的种群数量分别为P1和P2、帝王蝶迁移率p、迁移周期peri、调整率BAR、帝王蝶步长S、最大步长Smax,随机生成共N个帝王蝶个体,每个帝王蝶个体都是满足平均绝对误差目标函数的潜在解;
步骤5.2、根据平均绝对误差目标函数,在迭代初始阶段对种群进行适应度值计算并按照从优到劣排序,平均绝对误差越小,表明个体适应度越高,选取出本次迭代适应度值高的帝王蝶个体,作为精英个体保留下来;
步骤5.3、将帝王蝶个体总数N根据帝王蝶迁移率p划分为第一种群和第二种群两部分,即第一种群数量P1=N×p,第二种群数量P2=N×(1-p),执行迁移算子更新第一种群的帝王蝶,执行调整算子更新第二种群的帝王蝶,将迭代后的新种群整合,重新计算适应度值;
迁移算子和调整算子的具体执行方式如下:
第一种群中的帝王蝶行为为迁徙,对第一种群中的帝王蝶个体,迁移算子表示为,式中,/>为第t+1次迭代产生的帝王蝶个体w的第μ维,维度μ代表一个权重或阈值,r1为第一种群中的随机帝王蝶个体,r2为第二种群中的随机帝王蝶个体,/>为第t次迭代产生的第一种群中的随机帝王蝶个体r1的第μ维,为第t次迭代产生的第二种群中的随机帝王蝶个体r2的第μ维,rand为[0,1]之间均匀分布的随机实数;迁移算子的含义为根据产生的随机数τ=rand×prei与帝王蝶迁移率p的大小关系,/>分别来自第t次迭代中第一种群和第二种群中的随机帝王蝶个体;维度μ的取值范围为[-3,3];当随机数τ≤帝王蝶迁移率p时,/>用/>替换,当随机数τ>帝王蝶迁移率p时,/>用/>替换;
第二种群中的帝王蝶行为为适应环境,对第二种群中的帝王蝶个体,调整算子为:
当随机实数rand≤帝王蝶迁移率p时,根据来调整位置,即/>来自第t次迭代第一种群和第二种群中最优帝王蝶个体的第μ维/>,当随机实数rand>帝王蝶迁移率p时,帝王蝶个体按/>更新当前的位置;在此基础上,如果进一步满足随机数rand>调整率BAR,则该帝王蝶个体的位置则进一步更新为,在帝王蝶算法中调整率BAR与帝王蝶迁移率p相等,帝王蝶最大步长Smax与当前迭代次数t平方的比值称为权重因子, />通过莱维飞行公式计算而来,/>为第t次迭代中帝王蝶个体w的行走步长,/>为第t次迭代产生的帝王蝶个体w;
步骤5.4、将适应度最低的五个帝王蝶个体进行柯西变异操作,用适应度高的帝王蝶个体取代适应度低的帝王蝶个体,将替换后的种群作为下一次迭代的初始种群;
步骤5.5、记录每次迭代中适应度值最优的帝王蝶个体,重复迭代过程直到达到最大迭代次数tmax,从每次迭代的最优帝王蝶个体中选择适应度最高的帝王蝶作为优化后的最终输出;
步骤6、将初始权重ω、初始阈值θ代回BP神经网络模型进行训练,将能源消费总量的影响因素输入训练好的BP神经网络模型对能源消费总量进行预测。
2.根据权利要求1所述的一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,其特征在于:所述步骤3的具体实现方法包括以下步骤:
步骤3.1、在归一化后的训练集数据列中取能源消费总量的五个影响因素 f(γk(1)), f(γk(2)), f(γk(3)), f(γk(4)), f(γk(5))作为BP神经网络模型的输入值,能源消费总量 f(γk(6))作为BP神经网络模型的输出值;
步骤3.2、设置BP神经网络基本参数:输入层节点数、隐含层节点数、输出层节点数、训练次数、学习速率、最大误差、激活函数。
3.根据权利要求1所述的一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,其特征在于:柯西变异方式为:
其中,为第t次迭代产生的帝王蝶个体w的第μ维,Cauchy(0,1)为柯西随机变量生成函数,/>,ε为[0,1]之间均匀分布的随机实数。
4.根据权利要求3所述的一种基于帝王蝶算法优化BP神经网络模型的能源预测方法,其特征在于:BP神经网络模型的训练方法为:
对于输入层的n组5元素输入数据列F(γk(i))=f(γk(i)),γk(i)>0,k=1,2,…,n;i=1,2,…,5,以及n组1元素输出数据列f(γk(6)),k=1,2,…,n,隐含层神经元节点数为d,隐含层神经元节点的输入为Vk,j,k=1,2,…,n;j=1,2, …,d,第k组输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权重为ωij,第k组输入数据列对应第j个隐含层神经元节点的输出阈值为θk,j,输入层的输入数据与隐含层神经元节点输入的关系为:
当第j个隐含层神经元节点的输入大于0时才会继续输出Ik,j,k=1,2,…,n;j=1,2, …,d,其关系为:
式中,为激活函数,输出层神经元节点的输入为Ok,k=1,2,…,n,第j个隐含层神经元节点的输出Ik,j对应输出层神经元节点的权重为ωj,隐含层神经元节点的输出对应输出层神经元节点的输出阈值为θk,输出层的输入Ok与隐含层输出Ik,j的关系为:
输出层神经元节点再次判断其输入是否大于0,若大于0,则最后通过激活函数输出预测数据列Yk(6),其关系为:
然后开始计算神经网络输出的误差Ek:Ek=,若误差没有达到设定的值,则开始误差反向传播,使用梯度下降法调整BP神经网络的参数,权重更新公式为:
阈值更新公式为:
式中为更新后的第j个隐含层神经元节点的输出Ik,j对应输出层神经元节点的权重;/>为更新后的输入数据列的第i个元素f(γk(i))对应第j个隐含层神经元节点的权重;/>为更新后的第k组输入数据列对应第j个隐含层神经元节点的输出阈值;/>为更新后的隐含层神经元节点的输出对应输出层神经元节点的输出阈值;α为学习速率,表示每次参数更新的幅度大小;权重和阈值调整完毕后进行下一轮训练,重复权重和阈值更新过程,直到误差Ek符合要求或者达到规定的最大迭代次数后完成BP神经网络模型的训练。
CN202310000659.6A 2023-01-03 2023-01-03 基于帝王蝶算法优化bp神经网络模型的能源预测方法 Active CN115689070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310000659.6A CN115689070B (zh) 2023-01-03 2023-01-03 基于帝王蝶算法优化bp神经网络模型的能源预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310000659.6A CN115689070B (zh) 2023-01-03 2023-01-03 基于帝王蝶算法优化bp神经网络模型的能源预测方法

Publications (2)

Publication Number Publication Date
CN115689070A CN115689070A (zh) 2023-02-03
CN115689070B true CN115689070B (zh) 2023-12-22

Family

ID=85057058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310000659.6A Active CN115689070B (zh) 2023-01-03 2023-01-03 基于帝王蝶算法优化bp神经网络模型的能源预测方法

Country Status (1)

Country Link
CN (1) CN115689070B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116127858B (zh) * 2023-04-13 2023-06-27 南昌工程学院 基于改进沙猫算法优化的gis设备温升预测方法及系统
CN116203365B (zh) * 2023-05-05 2023-07-18 南昌工程学院 基于野马算法优化pnn的gis设备局部放电检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015172560A1 (zh) * 2014-05-16 2015-11-19 华南理工大学 基于bp神经网络的中央空调冷负荷的预测方法
CN105913150A (zh) * 2016-04-12 2016-08-31 河海大学常州校区 一种基于遗传算法的bp神经网络光伏电站发电量预测方法
CN114091746A (zh) * 2021-11-17 2022-02-25 国网天津市电力公司 基于动态优化帝王蝶算法的电力能源供应调度规划方法
CN114137829A (zh) * 2021-09-28 2022-03-04 南京理工大学 基于almbo优化算法的质子交换膜燃料电池子空间辨识方法
CN114186709A (zh) * 2021-10-19 2022-03-15 国网天津市电力公司 基于帝王蝶算法优化灰色模型关键参数的能源预测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015172560A1 (zh) * 2014-05-16 2015-11-19 华南理工大学 基于bp神经网络的中央空调冷负荷的预测方法
CN105913150A (zh) * 2016-04-12 2016-08-31 河海大学常州校区 一种基于遗传算法的bp神经网络光伏电站发电量预测方法
CN114137829A (zh) * 2021-09-28 2022-03-04 南京理工大学 基于almbo优化算法的质子交换膜燃料电池子空间辨识方法
CN114186709A (zh) * 2021-10-19 2022-03-15 国网天津市电力公司 基于帝王蝶算法优化灰色模型关键参数的能源预测方法
CN114091746A (zh) * 2021-11-17 2022-02-25 国网天津市电力公司 基于动态优化帝王蝶算法的电力能源供应调度规划方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BP神经网络在解决电力消耗问题中的应用;傅军栋;喻勇;黎丹;;华东交通大学学报(02);全文 *
棉铃虫转录因子c-Myc基因在滞育和非滞育蛹脑中的表达分析及多克隆抗体制备;陈伟;徐卫华;;昆虫学报(02);全文 *
胡振.《干旱区资源与环境》.2020,34(7),第82-89页. *

Also Published As

Publication number Publication date
CN115689070A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
CN115689070B (zh) 基于帝王蝶算法优化bp神经网络模型的能源预测方法
US10832123B2 (en) Compression of deep neural networks with proper use of mask
CN108764568B (zh) 一种基于lstm网络的数据预测模型调优方法及装置
CN112700060B (zh) 站所终端负荷预测方法和预测装置
CN109472397B (zh) 基于粘度变化的聚合工艺参数调节方法
CN113850385A (zh) 一种粗细粒度联合的神经网络剪枝方法
CN111200141B (zh) 基于深度信念网络的质子交换膜燃料电池性能预测及寻优方法
CN110245390B (zh) 一种基于rs-bp神经网络的汽车发动机油耗预测方法
CN111203887A (zh) 一种基于nsga-ii模糊逻辑推理的机器人控制系统优化方法
CN115309980A (zh) 一种基于鲸鱼优化bp神经网络的协同过滤智能推荐方法
CN113627471A (zh) 一种数据分类方法、系统、设备及信息数据处理终端
CN111523728A (zh) 一种四阶段混合短时风向预测方法
CN113191092A (zh) 一种基于正交增量随机配置网络的工业过程产品质量软测量方法
CN116680540A (zh) 一种基于深度学习的风电功率预测方法
CN117057229A (zh) 一种基于深度强化学习功率模块多目标优化方法
CN111832817A (zh) 基于mcp罚函数的小世界回声状态网络时间序列预测方法
CN116861793A (zh) 一种鹈鹕算法优化长短期记忆网络主轴热误差建模方法
CN113807040B (zh) 一种面向微波电路的优化设计方法
CN114418234A (zh) 一种基于强化学习的动力电池制造能力在线预测方法
CN114186709A (zh) 基于帝王蝶算法优化灰色模型关键参数的能源预测方法
CN107273971B (zh) 基于神经元显著性的前馈神经网络结构自组织方法
CN112561200A (zh) 基于完备集合经验模态分解和改进蚁群优化的长短期记忆网络的风电站出力混合预测技术
CN116976192A (zh) 一种基于js-bp模型的模锻件缺陷精准修型工艺参数决策方法
CN116415177A (zh) 一种基于极限学习机的分类器参数辨识方法
CN115906959A (zh) 基于de-bp算法的神经网络模型的参数训练方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant