基于BP和PSO的数据预测方法、系统及相关装置与流程

文档序号:14072714阅读:176来源:国知局

本申请涉及数据预测技术领域,特别涉及一种基于bp和pso的数据预测方法、系统、装置及计算机可读存储介质。



背景技术:

负荷预测是电力系统经济调度中的一项重要内容,是能量管理系统(ems)的一个重要模块。电力系统负荷预测是指在充分考虑系统运行特性、增容决策、自然条件与社会影响等条件下,研究并利用一套系统处理过去与未来负荷的数学方法,在满足一定精度要求的基础上,预测未来特定时刻的负荷数值。提高负荷预测技术水平,有利于计划用电管理,有利于合理安排电网运行方式和机组检修计划,有利于节煤、节油和降低发电成本,有利于制定合理的电网建设规划,有利于提高电力系统的经济效益和社会效益。为了实现能源供需信息的实时匹配和智能化响应,形成“人工智能+电力系统”的新模式,因此,群体智能与人工神经网络的优化混合预测模型得到广泛应用。

在现有技术当中,存在基于pso(particleswarmoptimization,粒子群优化算法)和bp(backpropagation,神经网络)的短期电力负荷预测方法。此种方法虽然可以得到较好的网络结构和一般化的种群,但是种群规模还是避免不了pso和bp本身的缺陷,依然会产生振荡和发散现象,也就是说依然是在非最佳种群中寻找最佳效果。同时当振荡和发散或者遇到特殊值时,依然采用平均值的方式来计算,舍弃了参数的特殊性,实际预测效果不好。

所以,如何针对上述短期电力负荷预测方法存在的缺陷,提供一种充分考虑到振荡和发散现象进而随之改变的数据预测机制是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种基于bp和pso的数据预测方法,其采用混合改变惯性因子的双策略,充分考虑到pso和bp不可避免的振荡和发散特性,随之不断改变数据预测过程中惯性因子的数值,使其处于动态更新状态,可以极大的提高预测精度和收敛速度。

本申请的另一目的为提供一种基于bp和pso的数据预测系统、装置及计算机可读存储介质。

为实现上述目的,本申请提供一种基于bp和pso的数据预测方法,该数据预测方法包括:

s1:执行pso参数初始化操作,并利用训练样本集确定bp的网络结构;其中,所述pso参数包括pso粒子群的速度和位置;

s2:将得到的pso参数代入所述网络结构,计算得到所述pso粒子群的全局最优值;

s3:判断是否达到最大迭代次数或最优值误差是否小于预定误差;其中,所述最优值误差由所述全局最优值计算得到;

s4:若未达到所述最大迭代次数或所述最优值误差不小于所述预定误差,判断当前迭代次数是否为首次;

s5:若所述当前迭代次数为首次,则利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用所述消除振荡后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至s2;

s6:若所述当前迭代次数为非首次,则利用预设的惯性因子动态改变公式对所述消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用所述消除发散后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至s2;

s7:若达到所述最大迭代次数或所述最优值误差小于所述预定误差,则输出所述网络结构下的最终权值和最终阈值,以利用所述最终权值和所述最终阈值完成数据预测。

可选的,所述利用训练样本集确定bp的网络结构,包括:

对所述训练样本集中的原始数据进行垂直预处理,以剔除异常数据,得到有效训练数据;

对影响所述网络结构的特征数据进行量化和归一化处理,得到处理后数据;

将所述处理后数据带入所述惯性因子周期改变公式和惯性因子动态改变公式进行优化处理,得到所述网络结构。

可选的,将得到的pso参数代入所述网络结构,计算得到所述pso粒子群的全局最优值,包括:

利用所述网络结构和适应度函数计算得到所述pso粒子群中每个pso粒子的适应度值;

将所述适应度值通过最优值模型得到所述pso粒子群的全局最优值。

可选的,则利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,包括:

将执行所述pso参数初始化操作后得到的已知参数wmin、wmax、t、t带入所述惯性因子周期改变公式中,计算得到所述消除振荡后惯性因子的数值w1;其中,所述t为pso最大迭代次数、wmax为惯性因子初始最大值、wmin为惯性因子初始最小值、t为当前实际迭代次数。

可选的,利用预设的惯性因子动态改变公式对所述消除振荡后惯性因子进行修改,得到消除发散后惯性因子,包括:

将每次迭代得到的全局最优值设定为gbest、局部最优值设定为pbest;

利用进化度公式进行运算,得到第t次迭代的进化度数值e;其中,所述t的取值范围为t>1的正整数、所述gbest(t)为第t次迭代计算得到的全局最优值,所述gbest(t-1)为第(t-1)次迭代计算得到的全局最优值;

将每次迭代得到的gbest、pbest以及执行所述pso参数初始化操作后得到的已知参数n利用聚合度公式进行运算,得到第t次迭代的聚合度数值a;其中,所述n为所述pso粒子群中pso粒子的个数;

利用所述动态性改变惯性因子的公式w2=w0-0.55×e+0.15×a计算得到第t次迭代的第二惯性因子的数值w2。

可选的,在输出所述网络结构下的最终权值和最终阈值之后,还包括:

将所述最终权值和所述最终阈值再次利用所述bp进行局部寻优,以增强最终得到的预测数据的精度。

为实现上述目的,本申请还提供了一种基于bp和pso的数据预测系统,该数据预测系统包括:

初始化及网络结构确定单元,用于执行pso参数初始化操作,并利用训练样本集确定bp的网络结构;其中,所述pso参数包括pso粒子群的速度和位置;

全局最优值计算单元,用于将得到的pso参数代入所述网络结构,计算得到所述pso粒子群的全局最优值;

终止条件判断单元,用于判断是否达到最大迭代次数或最优值误差是否小于预定误差;其中,所述最优值误差由所述全局最优值计算得到;

未达到终止条件处理单元,用于判断当前迭代次数是否为首次;

首次迭代处理单元,用于利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用所述消除振荡后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至所述全局最优值计算单元;

非首次迭代处理单元,用于利用预设的惯性因子动态改变公式对所述消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用所述消除发散后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至所述全局最优值计算单元;

终止条件满足单元,用于输出所述网络结构下的最终权值和最终阈值,以利用所述最终权值和所述最终阈值完成数据预测。

可选的,所述首次迭代处理单元包括:

振荡消除子单元,用于将执行所述pso参数初始化操作后得到的已知参数wmin、wmax、t、t带入所述惯性因子周期改变公式

中,计算得到所述消除振荡后惯性因子的数值w1;其中,所述t为pso最大迭代次数、wmax为惯性因子初始最大值、wmin为惯性因子初始最小值、t为当前实际迭代次数。

为实现上述目的,本申请还提供了一种基于bp和pso的数据预测装置,该数据预测装置包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述内容所描述的基于bp和pso的数据预测方法的步骤。

为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的基于bp和pso的数据预测方法的步骤。

本申请所提供的一种基于bp和pso的数据预测方法,s1:执行pso参数初始化操作,并利用训练样本集确定bp的网络结构;s2:将得到的pso参数代入所述网络结构,计算得到所述pso粒子群的全局最优值;s3:判断是否达到最大迭代次数或最优值误差是否小于预定误差;s4:若未达到所述最大迭代次数或所述最优值误差不小于所述预定误差,判断当前迭代次数是否为首次;s5:若所述当前迭代次数为首次,则利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用所述消除振荡后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至s2;s6:若所述当前迭代次数为非首次,则利用预设的惯性因子动态改变公式对所述消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用所述消除发散后惯性因子更新所述pso粒子群的速度和位置,且在更新完成后跳转至s2;s7:若达到所述最大迭代次数或所述最优值误差小于所述预定误差,则输出所述网络结构下的最终权值和最终阈值,以利用所述最终权值和所述最终阈值完成数据预测。

显然,本申请所提供的技术方案,构造一种惯性因子周期改变公式,以快速适应周期变化的粒子位置并确定惯性因子的大小,同时还改进得到了一种惯性因子动态改变公式,利用进化度反应pso粒子在上一迭代周期内的运行状况,反映了pso粒子群在速度上进化的程度,同时利用聚合度反映了当前pso粒子群的聚散性,通过两个动态变量使得pso粒子处于动态更新状态,共同对惯性因子进行调整。本申请采用混合改变惯性因子的双策略,充分考虑到pso和bp不可避免的振荡和发散特性,随之不断改变数据预测过程中惯性因子的数值,使其处于动态更新状态,可以极大的提高预测精度和收敛速度。本申请同时还提供了一种基于bp和pso的数据预测系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种基于bp和pso的数据预测方法的流程图;

图2为本申请实施例所提供的另一种基于bp和pso的数据预测方法的流程图;

图3为本申请实施例所提供的又一种基于bp和pso的数据预测系统的结构框图。

具体实施方式

本申请的核心是提供一种基于bp和pso的数据预测方法、系统、装置及计算机可读存储介质,其采用混合改变惯性因子的双策略,充分考虑到pso和bp不可避免的振荡和发散特性,随之不断改变数据预测过程中惯性因子的数值,使其处于动态更新状态,可以极大的提高预测精度和收敛速度。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

负荷预测的核心问题是预测的技术方法,或者说是预测数学模型,基于负荷预测方法研究现状的介绍,本申请将以传统的pso-bp神经网络为主体结构,同时为了弱化如传统方法出现的诸如振荡和发散的固有缺陷而造成处理问题单一化、预测精度低等问题的影响,通过对bp、pso进行理论分析,保留优势性能,针对不足问题构造具有缺陷属性的数学公式,即采用周期性改变惯性因子和动态性改变惯性因子的双策略,得到了基于matlab(matrixlaboratory,矩阵工厂)的混合改变惯性因子pso-bp的数据预测方法(pdpso-bp)。该方法不仅保留了bp、pso的优点,又可以较好的提高预测精度,降低预测误差。

以下结合图1,图1为本申请实施例所提供的一种基于bp和pso的数据预测方法的流程图。

其具体包括以下步骤:

s101:执行pso参数初始化操作,并利用训练样本集确定bp的网络结构;其中,pso参数包括pso粒子群的速度和位置;

本步骤旨在执行pso参数初始化操作,并利用训练样本集确定bp的网络结构。该pso参数包含很多,包括种群n,优化变量个数d,学习因子c1、c2,pso迭代次数t等原始参数,惯性因子初始值wo,惯性因子初始最大值wmax,惯性因子初始最小值wmin,bp迭代次数epoch,精度goal,学习速率lr,其中在每次实际迭代过程中,需要改变的最关键的参数是pso粒子群中每个粒子的速度和位置,即每次迭代需要更新上一次迭代后得到的速度和位置参数。

pso算法可以很好地嵌入bp算法,实现从输入到输出的任意非线性映射,同时利用内部交互作用实现由局部最优达到全局最优。pso算法具有较快的逼近最优解的速度,可以有效的对系统参数进行优化。pso算法的本质是利用当前位置、局部最优值和全局最优值三个信息,指导粒子下一步迭代动向。但是pso算法的最主要问题是它易产生早熟收敛、易发散、局部寻优能力较差,同时其易陷入局部最小。本申请将在后续实施例中如何具体使用与pso算法本质及易发散缺陷而使用含有该三个有效信息的dcw公式(dynamicallychangingweight,惯性因子动态改变公式),使得惯性因子w动态变化,防止早熟,跳出局部最小,提高全局寻优能力。

bp(神经网络)具有高度的并行性、非线性全局作用、良好的容错性与联想记忆功能以及强大的自适应、自学习功能。bp可以根据训练样本集给出的已知输出与实际输出之间的差值(误差信号)来调节系统各参数值。bp网络的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。此处可以采用结构简洁、误差较小的三层bp网络结构,充分发挥bp网络的优势。

但是bp神经网络也存在一些不足:易产生振荡缺陷;bp算法同时极易陷入局部极小值;学习速度慢。本申请根据bp振荡缺陷构造了具有周期性变化的pcw公式(periodicallychangingweight,惯性因子周期改变公式),并在构建网络结构时采用具有振荡特性的pcw和动态变化的dcw双策略,以使构建的网络结构中的最佳权值和最佳阈值处于周期性、动态性的变化过程,从而跳出局部最小值,加快网络收敛速度。

s102:将得到的pso参数代入网络结构,计算得到pso粒子群的全局最优值;

在s101的基础上,本步骤旨在将得到的pso参数代入网络结构,计算得到pso粒子群的全局最优值,进一步的,该全局最优值可用于计算每次迭代过程得到的最优值误差,并在后续步骤中用于衡量是否还需要再次进行迭代。

s103:判断是否达到最大迭代次数或最优值误差是否小于预定误差;其中,最优值误差由全局最优值计算得到;

在s102的基础上,本步骤旨在根据预设的最大迭代次数以及最优值误差来判断是否符合当次迭代后的跳出条件。

s104:判断当前迭代次数是否为首次;

本步骤建立在s103的判断结果为未达到最大迭代次数或最优值误差大于预定误差的基础上,旨在判断当前是否为首次进行迭代,以选择不同的后续处理方式实现对惯性因子的调整,以在不断的迭代过程中得到更高的精度。

s105:利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用消除振荡后惯性因子更新pso粒子群的速度和位置,得到更新后的pso参数;

本步骤建立在s104的判断结果为当前迭代次数为首次的基础上,旨在利用pcw公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用消除振荡后惯性因子更新pso粒子群的速度和位置,得到更新后的pso参数。

本步骤实际针对的是bp算法易振荡的缺陷,采用了如下的pcw公式:

由于余弦函数本身具有周期性变化的特点,其周期振荡特性可以很好地符合与适应bp易振荡、pso易发散的固有缺陷,通过余弦函数的周期变化快速适应位置并确定惯性因子的大小,得到修正后的消除振荡后惯性因子。

具体计算过程可以为:

将执行pso参数初始化操作后得到的已知参数wmin、wmax、t、t带入惯性因子周期改变公式中,计算得到消除振荡后惯性因子的数值w1;其中,t为pso最大迭代次数、wmax为惯性因子初始最大值、wmin为惯性因子初始最小值、t为当前实际迭代次数。

s106:利用预设的惯性因子动态改变公式对消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用消除发散后惯性因子更新pso粒子群的速度和位置,得到更新后的pso参数;

本步骤建立在s104的判断结果为当前迭代次数为非首次的基础上,旨在利用预设的惯性因子动态改变公式对消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用消除发散后惯性因子更新pso粒子群的速度和位置,得到更新后的pso参数。

本步骤实际针对的是pso算法不能对解进行持续优化,而是在局部最优解附近徘徊的缺点,通过更改优化策略采用如下的dcw公式:

其中,进化度e考虑到了粒子以前的运行状况,反映了粒子群在速度上进化的程度,同时聚合度a反映了当前的粒子群的聚散性,两个动态变量使得粒子处于动态更新状态,所以可以动态改变惯性因子的大小,从而在对解进行持续优化的过程中,可以修正在局部最优解附近徘徊的缺陷,因此可以达到改善bp的泛化能力,从整体上提高pso的搜索能力,动态更新粒子的速度和位置,加快网络收敛速度的效果。

具体计算过程可以为:

将每次迭代得到的全局最优值设定为gbest、局部最优值设定为pbest;

利用进化度公式进行运算,得到第t次迭代的进化度数值e;其中,t的取值范围为t>1的正整数、gbest(t)为第t次迭代计算得到的全局最优值,gbest(t-1)为第(t-1)次迭代计算得到的全局最优值;

将每次迭代得到的gbest、pbest以及执行pso参数初始化操作后得到的已知参数n利用聚合度公式进行运算,得到第t次迭代的聚合度数值a;其中,n为pso粒子群中pso粒子的个数;

利用动态性改变惯性因子公式w2=w0-0.55×e+0.15×a计算得到第t次迭代的第二惯性因子的数值w2。

s107:输出网络结构下的最终权值和最终阈值,以利用最终权值和最终阈值完成数据预测。

本步骤建立在s103的判断结果为达到了预设的最大迭代次数或最优值误差小于预定误差的基础上,即已经达到的迭代的目的,精度已经达到了预设的要求或已经迭代够了足够多的次数,若精度还未达到预设要求,则可能意味着再继续迭代下去的实际意义也不大,旨在输出网络结构下的最终权值和最终阈值,以利用最后一次迭代得到的最终权值和最终阈值来完成数据的预测。

进一步的,最后针对pso算法后期局部寻优能力差的缺点,可以额外采用把pso算法反复优化的参数(权值、阈值)赋予bp网络进行再次局部寻优的方法,以达到提高预测精度,降低预测误差的目的。即将最终权值和最终阈值再次利用bp进行局部寻优,以增强最终得到的预测数据的精度。

基于上述技术方案,本申请实施例提供的基于bp和pso的数据预测方法,构造了一种惯性因子周期改变公式,以快速适应周期变化的粒子位置并确定惯性因子的大小,同时还改进得到了了一种惯性因子动态改变公式,利用进化度反应pso粒子在上一迭代周期内的运行状况,反映了pso粒子群在速度上进化的程度,同时利用聚合度反映了当前pso粒子群的聚散性,通过两个动态变量使得pso粒子处于动态更新状态,共同对惯性因子进行调整。本申请采用混合改变惯性因子的双策略,充分考虑到pso和bp不可避免的振荡和发散特性,随之不断改变数据预测过程中惯性因子的数值,使其处于动态更新状态,可以极大的提高预测精度和收敛速度。

以下结合图2,图2为本申请实施例所提供的另一种基于bp和pso的数据预测方法的流程图。

本实施例是针对上一实施例中s101和s102中如何确定bp网络结构以及如何计算得到全局最优值所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。

其具体包括以下步骤:

s201:对训练样本集中的原始数据进行垂直预处理,以剔除异常数据,得到有效训练数据;

数据的垂直处理适用于不同日期的同一时刻的负荷具有相似性,且维持在一定的范围内,例如广东5、6、7月份气温变化均匀,处于夏季负荷消耗状态。因此本文采用垂直处理的方法,负荷数据预处理时考虑其24h的小周期,同时还要考虑天气因素和特别事件因素对数据的影响,对于超出范围的不良数据修正,其修正值为待处理数据的最近几天该时刻的负荷平均值。

s202:对影响网络结构的特征数据进行量化和归一化处理,得到处理后数据;

量化操作包括最有代表性的天气因素量化,同时电力负荷还与环境因素有关,所以还可以考虑气温大小和天气特征。即最高、最低气温和天气特征,可以通过天气预报得到预测日的最高、最低气温和天气特征(晴天、阴天、雨天),将预测当天的气象特征作为网络的输入变量。

由于在输入的数据中各类型的数据大小、单位都不统一,这样大大增加了系统的运算量、运算时间还降低了精度甚至可能使神经元趋于饱和不能继续运算。为了避免神经元的饱和性,在确定输入和输出变量后,应对其进行归一化处理,将数据处理为一定范围之间。这样就降低了运算量,提高了运算速度和减少消耗的时间。

s203:将处理后数据带入惯性因子周期改变公式和惯性因子动态改变公式进行优化处理,得到网络结构;

本步骤旨在确定网络拓扑结构,在选择网络结构的过程中,对不同的网络结构,都通过试验参数,采用pdpso-bp算法优化,从中优选得到误差较小的最佳网络结构。

s204:利用网络结构和适应度函数计算得到pso粒子群中每个pso粒子的适应度值;

s205:将适应度值通过最优值模型得到pso粒子群的全局最优值。

适应度函数(fitnessfunction)用于评价个体的优劣程度,适应度越大个体越好,反之适应度越小则个体越差;根据适应度的大小对个体进行选择,以保证选择出适应性能更好的个体供下次迭代使用。

基于上述技术方案,本申请实施例提供的一种基于bp和pso的数据预测方法,构造了一种惯性因子周期改变公式,以快速适应周期变化的粒子位置并确定惯性因子的大小,同时还改进得到了了一种惯性因子动态改变公式,利用进化度反应pso粒子在上一迭代周期内的运行状况,反映了pso粒子群在速度上进化的程度,同时利用聚合度反映了当前pso粒子群的聚散性,通过两个动态变量使得pso粒子处于动态更新状态,共同对惯性因子进行调整。本申请采用混合改变惯性因子的双策略,充分考虑到pso和bp不可避免的振荡和发散特性,随之不断改变数据预测过程中惯性因子的数值,使其处于动态更新状态,可以极大的提高预测精度和收敛速度。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

下面请参见图3,图3为本申请实施例所提供的一种基于bp和pso的数据预测系统的结构框图。

该预测系统可以包括:

初始化及网络结构确定单元100,用于执行pso参数初始化操作,并利用训练样本集确定bp的网络结构;其中,pso参数包括pso粒子群的速度和位置;

全局最优值计算单元200,用于将得到的pso参数代入网络结构,计算得到pso粒子群的全局最优值;

终止条件判断单元300,用于判断是否达到最大迭代次数或最优值误差是否小于预定误差;其中,最优值误差由全局最优值计算得到;

未达到终止条件处理单元400,用于判断当前迭代次数是否为首次;

首次迭代处理单元500,用于利用预设的惯性因子周期改变公式对初始惯性因子进行修正,得到消除振荡后惯性因子,并利用消除振荡后惯性因子更新pso粒子群的速度和位置,且在更新完成后跳转至全局最优值计算单元;

非首次迭代处理单元600,用于利用预设的惯性因子动态改变公式对消除振荡后惯性因子进行修改,得到消除发散后惯性因子,并利用消除发散后惯性因子更新pso粒子群的速度和位置,且在更新完成后跳转至全局最优值计算单元;

终止条件满足单元700,用于输出网络结构下的最终权值和最终阈值,以利用最终权值和最终阈值完成数据预测。

可选的,首次迭代处理单元500包括:

振荡消除子单元,用于将执行pso参数初始化操作后得到的已知参数wmin、wmax、t、t带入惯性因子周期改变公式

中,计算得到消除振荡后惯性因子的数值w1;其中,t为pso最大迭代次数、wmax为惯性因子初始最大值、wmin为惯性因子初始最小值、t为当前实际迭代次数。

以上各单元可以应用于以下的一个具体的实际例子中:

在对bp、pso理论分析后,针对各自内在缺陷,采取群体智能与人工神经网络的优化混合预测模型,提出一种随着缺陷变化而跟踪变化的方法,即混合改变惯性因子的pso-bp神经网络算法(pdpso-bp)。

步骤一:初始化粒子群参数,包括种群n,优化变量个数d,学习因子c1、c2,pso迭代次数t等原始参数,惯性因子初始值wo,惯性因子初始最大值wmax,惯性因子初始最小值wmin,bp迭代次数epoch,精度goal,学习速率lr。

步骤二:根据训练样本集确定神经网络的拓扑结构,首先对原始数据垂直预处理,确保数据正常。对天气因素(包括最高、最低温度和天气特征)进行量化,同时把所有数据归一化处理;通过试验参数,采用pdpso-bp算法优化,得到误差较小的最佳网络结构。

步骤三:根据适应度函数计算种群每个粒子的适应度值;

步骤四:比较适应度值,确定每个粒子的局部最优值pbest和全局最优值gbest;

步骤五:检验是否达到终止条件。如果是,达到最大迭代次数或者预定误差,则停止迭代,输出最终权值和阈值赋给bp神经网络进行局部寻优,完成负荷预测,否则,执行步骤六;

步骤六:根据提出的如下pcw公式

并根据bp易振荡、易陷入局部极小值的缺陷,构造一种具有缺陷属性的周期性改变惯性因子的方法:余弦函数本身具有周期性变化的特点,其周期振荡特性可以很好地符合与适应bp易振荡、pso易发散的固有缺陷,通过余弦函数的周期变化快速适应位置并确定w的大小,即pcw方法计算惯性因子w1(当迭代次数t>1时。根据提出的如下dcw公式:

对于pso算法不能对解进行持续优化,而是在局部最优解附近徘徊的缺点,引用动态改变惯性因子的方法,进化度e考虑到了粒子以前的运行状况,反映了粒子群在速度上进化的程度,同时聚合度a反映了当前的粒子群的聚散性,两个动态变量使得粒子处于动态更新状态,所以可以动态改变w的大小,从而在对解进行持续优化的过程中,可以修正在局部最优解附近徘徊的缺点,即利用dcw公式计算得到新的惯性因子w2)。最后,再根据公式

来更新粒子速度和位置,在更新完成后为迭代次数加1,在返回至步骤三。其中,xi-1为第(i-1)个粒子的位置的数值、rand()为0至1之间的随机数、pbest_i-1为第(i-1)个pso粒子的局部最优值、gbest_i-1为第(i-1)个pso粒子的全局最优值,vi为第i个pso粒子的速度数值,xi为第i个pso粒子的位置数值。

基于上述实施例,本申请还提供了一种基于bp和pso的数据预测装置,可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然该数据预测装置还可以包括各种必要的网络接口、电源以及其它零部件等。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1