能源总量的BP网络与粒子群优化预测
2016-09-29
刘洁
【摘 要】能源是影响人类生存、发展的最重要的因素之一,它决定着生活水平和经济发展的快慢,准确预测能源总量具有重要意义。本文提出一种采用BP网络及粒子群优化对能源总量进行预测的方法。仿真实验表明,BP神经网络预测精度与网络参数初始值有很大关系,将粒子群优化BP模型与传统的BP网络预测结果进行比较,证明PSO-BP模型预测比传统BP网络的预测结果更加准确。
【关键词】能源总量;BP网络;粒子群优化;预测精度
0 引言
能源预测是指对各种能源的需求量及其比例关系的未来状况进行推测,主要有煤炭、石油、天然气、核电等各种能源的未来需求量预测,各种能源需求量之间的比例关系等。通过预测,可以建立能源消耗与环境保护之间的关系,结合环境保护要求,有针对性地调整能源结构和工业布局,达到经济与环境的协调与可持续发展。常用的能源预测方法有经验定额系数法、弹性系数法、趋势预测法、投入产出法等[1]。本文采用了BP网络预测法和粒子群优化BP网络预测方法,并进行比较分析,给出相关结论。
1 BP神经网络[2]
1986年,Rumelhart等提出了误差反向传播神经网络,简称BP网络(Back Propagation Network),该网络是一种单向传播的多层前向网络。其基本思想是采用梯度下降法。即采用梯度搜索技术,以使网络的实际输出值与期望输出值的误差均方值为最小[3]。三层BP网络如图1所示,网络分为输入层、隐层和输出层。
图1 三层BP网络结构示意图
BP网络学习算法
BP算法是神经网络算法的主流,在此基础上派生出了许多改进算法。图1所示网络,设输入层、隐层和输出层分别为i、j、m层。
2 粒子群优化算法[4]
粒子群算法最早是1995年由美国社会心理学家James Kennedy和电气工程师Russel Eberhart共同提出的,其基本思想是受他们早期对许多鸟类的群体行为进行建模与仿真研究结果的启发。而他们的模型及仿真算法主要利用了生物学家Frank Heppner的模型。
2.1 算法原理
PSO的基本思想:每个优化问题的潜在解都是搜索空间的粒子,所有的粒子都有一个被优化的函数决定的适应值,每个粒子还有一个速度向量决定其飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中进行搜索。
2.2 粒子群优化算法流程[5]
①粒子种群的初始化(群体规模为m),包括随机位置和速度;
②评价粒子的适应度;
③对每个粒子,比较其适应值与其经历过的最好位置pbest,如果更好,则将其作为当前的最好位置pbest;
④对每个粒子,比较其适应值与全局所经历的最好位置gbest,如果适应值较好,则重新设置gbest的索引号;
⑤根据式(14)和(15)更新粒子速度和位置;
⑥如果没达到结束条件(通常为足够好的适应值或达到一个预设最大迭代次数maxG),则返回②。
3 预测模型的建立及应用
在 MATLAB R2009a环境中编写程序进行测试。实验数据如表1所示。数据来源:《2015中国统计年鉴》。
预测模型设计:取1996年~2014年数据进行实验。以原煤、原油、天然气、(水电、核电、风电)4个因素作为BP神经网络输入,以能源生产总量为网络输出,如果隐层神经元个数取2n+1,n即为输入神经元个数,则计算值为9,根据实验效果实取10,则BP网络结构为4-10-1。
表1 中国能源生产总量及构成
训练样本的选取:取1996~2010年的15个样本进行训练,2011~2014年的4组数据作为检验样本。学习速率、动量因子均设置为0.5,训练误差精度设置为0.003。先对统计数据进行归一化处理,再由归一化处理后的能源统计数据组成学习样本模式,通过训练神经网络就可以把该类问题的特征反映在神经元之间相互连接的权值中,当实际问题特征参数输入后,神经网络即可给出预测结果。
本次实验所用到的能源数据具有不同衡量单位,级差有大有小,趋向也不一定一致,为了增强不同量纲数据的可比性,方便观察数据预测结果,所以首先需对能源总量数据进行归一化处理,采用式(16)进行归一化处理,标准化(Min-Max Normalization),也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0,1]之间。转换函数如下:
3.1 基于BP网络预测模型建立及预测
本次实验中学习速率η和动量因子α均设置为0.5,输入层神经元个数为4个,隐层为10个,输出层神经元个数为1个,网络结构为:4-10-1。训练精度设为0.003。BP网络预测结果如表2所示。
3.2 粒子群优化(PSO-BP)模型及预测
粒子群优化网络预测能源总量。其中PSO-BP模型实现程序包括3部分:①粒子群算法;②最佳适应度计算;③BP神经网络训练及预测。
粒子群优化算法中将粒子维数n=50,种群规模m=20,迭代次数G=200,算法参数qc=0.1,c1=2,c2=2。图2为适应度函数优化曲线。
表3 PSO-BP模型预测结果
对比表2和表3数据可知,优化后的预测结果平均精度为2.4209%,而未经优化的预测平均精度为6.4418%,可见,粒子群优化预测的结果精度要比传统BP网络预测精度高,表明经过优化再预测结果更准确。
4 结论
本文对能源总量进行预测研究,分别采用传统BP网络预测法与粒子群优化BP网络预测方法,对我国近4年的能源数据进行预测。得出的结论是,在同等参数的条件下,虽然PSO优化的BP神经网络算法比传统BP网络算法复杂,但从预测的结果和性能上来看,PSO优化后的结果预测精度有较大的提高,证明了这种方法在能源总量预测中的有效性。
【参考文献】
[1]邓鸿鹄.北京市能源消费预测方法比较研究[D].北京林业大学,2013,6.
[2]张德丰.MATLAB神经网络应用设计[M].2009,1.
[3]刘金琨.智能控制[M].2版.2009,7.
[4]魏秀业,潘宏侠.粒子群优化及智能故障诊断[M].2010,7.
[5]彭程,潘玉民.粒子群优化的RBF瓦斯涌出量预测[J].中国安全生产科学技术,2011,11.