掌桥专利:专业的专利平台
掌桥专利
首页

一种粒子群优化BP神经网络配网物资价格预测方法

文献发布时间:2023-06-19 11:22:42


一种粒子群优化BP神经网络配网物资价格预测方法

技术领域

本发明涉及配网物资预测的技术领域,尤其涉及一种粒子群优化BP神经网络配网物资价格预测方法。

背景技术

电力企业是技术和资金的密集型企业,影响电力物资采购成本的因素有很多,包括物资的数量和质量、物资的运输费用、物资价格的异动、物资生产所需原材料价格的影响等。

采用传统价格分析法预测,无法准确预测电力物资采购价格走势,因此需要运用大数据人工智能算法深度分析配网主要物资采购价格,形成配网主要物资价格走势预测分析模型,以便进行配网主要物资价格走势预测分析,减低配网主要物资采购成本。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明提供了一种粒子群优化BP神经网络配网物资价格预测方法,能够解决现有配网物资价格预测不准确造成采购成本较高的问题。

为解决上述技术问题,本发明提供如下技术方案:包括,利用网络爬虫工具定期采集互联网上的配网物资市场价格和主要供应商信息;对所述信息进行数据归一化处理,形成配网物资市场价格数据库;利用PSO优化BP神经网络算法深度分析配网主要物资采购价格,形成配网主要物资价格走势预测分析模型;将所述数据库内的数据作为输入变量,输入所述预测分析模型内进行配网主要物资价格走势预测分析,降低配网主要物资采购成本。

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:所述网络爬虫工具包括,引擎、调度器、下载器、爬虫、管道、下载中间件和爬虫中间件;利用所述网络爬虫工具对互联网进行抓取,获得所述信息,对其进行清洗,过滤掉噪声数据并按照一定格式进行转换,进入配网物资市场价格主题大数据库。

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:所述归一化处理包括,将所述配网物资市场价格、配网物资供应商信息数据进行归一化处理,选取多家供应商的配网物资市场价格的平均价格作为当日配网物资市场价格,定义为所述输入变量。

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:形成所述预测分析模型包括,定义在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一个D维的向量,

X

第i个粒子的飞行速度也是一个D维的向量,如下,

V

第i个粒子迄今为止搜索到的最优位置称为个体极值,如下,

p

整个粒子群迄今为止搜索到的最优位置为全局极值,如下,

g

找到所述两个最优极值时,粒子根据下式更新自身速度和位置,如下,

v

x

其中,c

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:还包括,V

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:所述BP神经网络包括,当网络输出与期望输出不相等时,存在输出误差,调节权值使所述输出误差尽可能小,在训练时,所述输出误差越小,网络预测就越准确;若X表示某层输入向量,W表示某层权矩阵,则含有动量项的权值调节公式如下,

ΔW(t)=ηδX+αΔW(t-1)

其中,η为学习速率,δ为误差信号,α∈(0,1)为动量系数,则学习速率越大,权值的动态改变就越大。

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:还包括,参数初始化,对权值矩阵W、V随机赋值,样本计数器p、训练次数计数器q为1,输出误差E为0,学习速率η为0到1之间的数,误差精度Emin为正的小数;输入训练样本对,计算各层输出;计算网络输出误差,定义有P对训练样本,网络对不同的样本有不同的误差,其计算公式如下,

计算各层误差信号,即δ

作为本发明所述的粒子群优化BP神经网络配网物资价格预测方法的一种优选方案,其中:所述PSO优化BP神经网络包括,利用PSO算法训练BP神经网络时,粒子群位置向量元素是BP神经网络的全部连接权值,对位置向量进行初始化,根据所述PSO算法寻优,以均方误差最小作为寻优目标,将得到的全局最优位置作为BP神经网络的权值;每个粒子的适应值J计算如下,

其中,y

本发明的有益效果:本发明结合网络爬虫技术,从互联网上采集配网主要物资供应商,市场价格等信息,通过建立一个基于粒子群算法的BP神经网络配网物资价格预测模型,将上述采集的数据作为输入变量,进行配网主要物资价格走势预测分析,以便在价格较低的时候购买配网主要物资,减低配网主要物资采购成本。

附图说明

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

图1为本发明第一个实施例所述的粒子群优化BP神经网络配网物资价格预测方法的流程示意图;

图2为本发明第一个实施例所述的粒子群优化BP神经网络配网物资价格预测方法的网络爬虫框架示意图;

图3为本发明第一个实施例所述的粒子群优化BP神经网络配网物资价格预测方法的BP神经网络结构示意图;

图4为本发明第二个实施例所述的粒子群优化BP神经网络配网物资价格预测方法的预测准确度输出曲线对比示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

参照图1~图3,为本发明的第一个实施例,提供了一种粒子群优化BP神经网络配网物资价格预测方法,具体包括:

S1:利用网络爬虫工具定期采集互联网上的配网物资市场价格和主要供应商信息。参照图2,其中需要说明的是,网络爬虫工具包括:

引擎、调度器、下载器、爬虫、管道、下载中间件和爬虫中间件;

Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递;

Scheduler(调度器):负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列、入队,当引擎需要时,交还给引擎;

Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理;

Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器);

Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方;

Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件;

Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。

S2:对信息进行数据归一化处理,形成配网物资市场价格数据库。本步骤需要说明的是:

利用网络爬虫工具对互联网进行抓取,获得信息,对其进行清洗,过滤掉噪声数据并按照一定格式进行转换,进入配网物资市场价格主题大数据库;

归一化处理包括,将配网物资市场价格、配网物资供应商信息数据进行归一化处理,选取多家供应商的配网物资市场价格的平均价格作为当日配网物资市场价格,定义为输入变量。

S3:利用PSO优化BP神经网络算法深度分析配网主要物资采购价格,形成配网主要物资价格走势预测分析模型。本步骤还需要说明的是,形成预测分析模型包括:

定义在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一个D维的向量,

X

第i个粒子的飞行速度也是一个D维的向量,如下,

V

第i个粒子迄今为止搜索到的最优位置称为个体极值,如下,

p

整个粒子群迄今为止搜索到的最优位置为全局极值,如下,

g

找到两个最优极值时,粒子根据下式更新自身速度和位置,如下,

v

x

其中,c

V

第二部分为认知部分,反映了粒子对自身历史经验的记忆或回忆,代表粒子有向自身历史最佳位置逼近的趋势;

第三部分为社会部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向群体或邻域历史最佳位置逼近的趋势。

通俗的说,作为一种基于种群操作的优化技术,PSO算法将群体中的每个个体看作D维搜索空中一个没有体积和重量的粒子,即代表一个可能的候选解,粒子在搜索空间中以一定的速度飞行,其飞行所经历过的最好位置就是该粒子本身所找到的最好解,粒子的飞行速度由该粒子的飞行经验和群体的飞行经验进行动态调整,逐代搜索最后得到最优解。

参照图3,BP神经网络包括:

当网络输出与期望输出不相等时,存在输出误差,调节权值使输出误差尽可能小,在训练时,输出误差越小,网络预测就越准确;

若X表示某层输入向量,W表示某层权矩阵,则含有动量项的权值调节公式如下,

ΔW(t)=ηδX+αΔW(t-1)

其中,η为学习速率,δ为误差信号,α∈(0,1)为动量系数,则学习速率越大,权值的动态改变就越大。

进一步的,训练包括:

参数初始化,对权值矩阵W、V随机赋值,样本计数器p、训练次数计数器q为1,输出误差E为0,学习速率η为0到1之间的数,误差精度Emin为正的小数;

输入训练样本对,计算各层输出;

计算网络输出误差,定义有P对训练样本,网络对不同的样本有不同的误差,其计算公式如下,

计算各层误差信号,即δ

调整各层权值,权值调整引入动量项αΔW(t-1);

检查是否完成一次训练,若p<P,计数器p和q分别加1后,继续训练,否则检查网络输出误差是否达到要求或是否达到设定的迭代次数,若满足E

S4:将数据库内的数据作为输入变量,输入预测分析模型内进行配网主要物资价格走势预测分析,降低配网主要物资采购成本。其中还需要说明的是,PSO优化BP神经网络包括:

利用PSO算法训练BP神经网络时,粒子群位置向量元素是BP神经网络的全部连接权值,对位置向量进行初始化,根据PSO算法寻优,以均方误差最小作为寻优目标,将得到的全局最优位置作为BP神经网络的权值;

每个粒子的适应值J计算如下,

其中,y

进一步的,还包括:

确定BP神经网络的结构;

种群参数初值:种群数目N,速度向量维数D=a×b+b×c,最大迭代代数为Tmax,惯性权重W,最大速度Vmax,加速常数c1和c2等,同时随机确定粒子的初始位置矢量和速度矢量,每个粒子有一个初始位置,所有粒子中最好的位置为个体极值;

设置加速因子c1和c2,为达到粒子在整个搜索空间移动和提高最优解收敛速率的目的,引入随机变化的加速常数c1和c2,使之随进化代数线性改变,即按式计算c1和c2;

确定适应度函数,计算每个粒子的适应度函数值J

速度与位置初始化,随机生成m个个体,每个个体包括两部分,一部分是粒子的速度矩阵,另一部分是粒子的位置矩阵,将粒子群中每个粒子位置参数设为[-1,1]间的随机数;

以粒子的当前最佳位置作为迭代点,进行迭代;

更新粒子的速度和位置方向,产生新的粒子群;

排除速度和位置越界的粒子,并进行速度和位置的更新,即:

若V

若X

其中,V

具备下列条件之一停止迭代:迭代次数达到最大的预设值;误差精度满足设定值;

生成最优解,迭代停止后,p

不难理解的是,BP神经网络模型是一种多层前馈神经网络,该网络主要特点包括信号正向传递和误差逆向传播,在正向传递中,输入信号从输入层经隐含层逐层处理,直至输出层,每一层的神经元状态只影响下一层神经元状态,如果输出层得不到期望输出,则转入逆向传播,根据输出预测误差按某种子形式,通过隐层向输入层逐层返回,并分摊给各层的所有单元,从而获得各层单元的参考误差或称误差信号,以作为修改各单元权值的依据,网络权值和阈值不断修改的过程,也称网络学习过程,此过程一直进行到网络输出误差减少到可接受程度或达到设定的学习次数为止,从而使BP神经网络预测输出逼近期望值输出。

较佳的是,当网络输出与期望输出不相等时,存在输出误差,而通过调节权值可以使输出误差尽可能小,因此在训练时,输出误差越小,网络预测就越准确,与传统BP神经网络相比,引入动量项的BP神经网络仅在权值调整部分有所区别,引入动量项的网络在调整权值过程中,不仅要考虑误差作用,还要考虑误差曲面的变化趋势,当误差曲面出现骤然起伏时,应减少震荡趋势,以提高训练速度。

BP神经网络常用的学习方法是梯度下降法,该方法的缺点是易陷入局部极值点,其权值的好坏直接影响到算法性能,鉴于此,本实施例把PSO应用于BP神经网络的训练中,通过优化神经网络的连接权值,来解决BP神经网络学习稳定性差、可靠性低与易陷入局部极小的问题,同时能够提高BP神经网络的泛化能力,用PSO算法训练BP神经网络时,粒子群位置向量元素是BP神经网络的全部连接权值,对位置向量进行初始化,利用PSO算法寻优,以均方误差最小作为寻优目标,将得到的全局最优位置作为BP神经网络的权值。

优选的,在基于PSO来优化BP神经网络的算法中,是将BP神经网络的权值作为粒子群向量的各元素值,计算粒子的适应度时,采用的是BP算法的前向传播来计算,粒子的适应度函数的定义,也是根据BP算法的均方误差得来的,粒子群优化算法避免了梯度下降法中要求函数可微、对函数求导的过程。

实施例2

参照图4,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种粒子群优化BP神经网络配网物资价格预测方法的测试验证,具体包括:

为了更好地对本发明方法中采用的技术效果加以验证说明,本实施例中将选择以传统的BP神经网络算法与本发明方法进行对比测试,以科学论证的手段对比试验结果,验证本发明方法所具有的真实效果。

传统的BP神经网络算法存在较大的输出误差,使得对目标预测分析时造成了一定的影响,为验证本发明方法相对于传统方法具有较高的算法优化性和预测准确性,本实施例中将采用传统BP神经网络算法与本发明方法分别对仿真平台的待预测物资价格样本进行实时测量对比。

测试环境:(1)Scrapy网络爬虫框架、Python、Http数据包、wireshark、service程序;

(2)云数据平台获取云端数据库,找到10000组历史数据作为标准数据库测试样本集;

(3)分别将传统方法的BP神经网络算法和本申请的粒子群优化BP神经网络算法通过MATLB编写代码导入仿真软件进行状态模拟。

参照图4,实线为本发明方法输出的曲线,虚线为传统方法输出的曲线,根据图4的示意,能够直观的看出,实线与虚线随着时间的增加,呈现不同的走势,实线相较于虚线,在前期一直呈稳定的上升趋势,虽然后期有所下滑,但是波动不大,且一直在虚线的上方,并保持一定的距离,而虚线则呈现较大的波动趋势,不稳定,由此,实线的准确度一直大于虚线,即验证了本发明方法所具有的真实效果。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

相关技术
  • 一种粒子群优化BP神经网络配网物资价格预测方法
  • 一种基于粒子群优化BP神经网络的基坑位移预测方法
技术分类

06120112899351