基于改进粒子群神经网络短期负荷预测
2018-03-01姜雲腾
姜雲腾 李 萍
(1. 宁夏大学物理与电子电气工程学院,银川 750021;2. 宁夏沙漠信息智能感知重点实验室,银川 750021)
电力是人们生活工作中不可缺少的元素之一,电力系统为人们提供可靠合格的电能,用以满足用户的要求,其发展的过程中受到短期电力负荷预测的影响,预测的准确性能直接关系到居民用电的正常使用,还能减少发电成本,使得利益最大化[1-3]。所以迫切寻找一种精度高、效率快的方法来对负荷进行预测。
针对短期负荷预测,预测的方法多种多样,其中BP神经网络是常见的方法之一[4-5]。BP神经网络特点多,比如,网络结构单一,理解没有难度等优点,但是并没有具体的理论支持,网络结构的确定和参数的设置需要依据经验。网络在训练测试的过程中,通过初始参数设置为较优参数的方法来提高了网络的预测精度[6]。
1 改进的粒子群算法
1.1 传统粒子群算法
粒子群优化算法(particle swarm optimization,PSO),是在20世纪90年代由J. Kennedy和R. C.Eberhart等开发的一种新的群智能算法,模拟鸟类集群随机搜索食物的行为解决待优化问题。粒子群算法优点众多,比如,粒子并行运动,算法使用的参数不多,鲁棒性强,比较容易收敛等优点[7]。
算法在寻找最优解的过程中,定义粒子为对应的潜在解,每一个粒子都具有三类特征:速度、位置和适应度值。其中,适应度值的大小代表有用程度,适应度值可以根据已经设定好的适应度函数来得出[8]。算法中定义个体极值称为Pbest,群体极值称为Gbest,定义的标准是个体的适应度值大小。个体在寻优时,不断对比自身和Pbest、Gbest的适应度函数值改变自身的携带信息。在算法后期,粒子群体在最优解区域范围内运动,粒子不断对比,得到最优解[9-10]。
设在一个 D维空间中,有一群粒子 X=(x1,x2,…,xn),其中第i个粒子表示为在D维向量Xi=[xi1,xi2,…,xiD]T,存在的意义是待优化问题的潜在解,在算法中称为粒子的位置[11]。
粒子在前进过程中,会不断更换自己的信息,更换信息过程中由Pbest和Gbest来决定,第i个个体的速度为 Vi=[Vi1,Vi2,…,ViD]T,个体极值为 Pi=[Pi1,Pi2,…,PiD]T,种群的全局最优值为 Pg=[Pg1,Pg2,…,PgD]T。式(1)为速度更新式,式(2)为位置更新式。
式中,d=1,2,…,D;i=1,2,…,n;t为当前迭代次数;Vid为粒子的速度;c1和c2为加速因子,最大最小位置区间[−Xmax, Xmax]和最大最小速度[−Vmax, Vmin],r1和r2是[0, 1]之间的任意数。
1.2 IPSO算法
使用粒子群算法过程中也存在一定的不足:算法初期粒子的运动速度快,使得算法容易收敛,然而,有概率得到局部极值或者忽略掉最优解;算法后期粒子的运动速度不快,粒子运动到某一程度后,有可能出现停滞,难以得到更好的结果。本文引入参数惯性权重因子 w改进粒子群算法(improved particle swarm optimization, IPSO)。经过验证表明,采用较大的w可以使粒子速度幅值更大,粒子运动加快,算法收敛速度提高,采用小 w,可以使算法中粒子运动变慢,提高搜索精度。为了提高搜索精度和收敛速度,采用自适应惯性权重因子来对速度进行调整,即
式中,c为常数;Tmax为最大迭代次数;t为当前迭代次数;wmax为惯性因子的最大值;wmin惯性因子的最小值。算法初期,粒子可以以大的速度向最优方向运动,t逐渐变大,粒子会以小速度慢搜索达到精度变高的目的[12]。此时的速度更新式为式(4)
2 IPSO-BP神经网络预测模型
2.1 BP神经网络
BP神经网络是20世纪80年代由Runelhart等初次提出误差反向传播算法(error back propagation training, BP),具有自学习能力。BP学习算法的目标函数是误差平方和函数,在训练过程中,通过误差的大小来调节网络参数,直到误差小于给定误差,才进行下一次训练[13]。
BP神经网络的拓扑结构如图1所示。
图1 BP神经网络的拓扑结构
BP神经网络由输入层、隐含层和输出层组成的,层与层之间连接,同一层节点之间不连接。其中,Xi为输入,Oi为输出,输入层和隐含层之间、隐含层和输出层之间分别有对应的连接权值wij,隐含层和输出层的每一个网络节点都会有一个阈值bij。
BP神经网络采用权值修正法,学习指标采用误差平方和函数,即
式中,m为训练样本集数;yij为第 j个神经元的预测输出;Yij为第 j个神经元的实际输出。根据误差函数不断调节各个神经元之间的权值和阈值对神经网络进行训练,以达到寻找最优解的目的。
神经网络的优点有很多,比如:可以模拟人脑来对信息进行处理;对具有大量非线性、不准确信息的事件具有很灵活的处理能力,网络自身具有自适应性,具有存储知识,自主学习,处理模糊数据和优化计算等特点。在负荷预测这个问题上,需要的考虑的因素有多种多样,比如:气温因素、时间因素和随机因素等不稳定因素。某时刻的负荷值是由多种多样的不稳定因素综合得出的影响而得到的,因此,神经网络被广泛应用[14]。
但是,BP神经网络也存在很多缺点,比如:神经网络并没有具体的理论来指导,只能根据先人的经验等来尝试寻找最优解;神经网络的隐含层的设置、各个参数的调整,都需要依据经验来改善,并没有最优秀的参数来调整神经网络,这就使得神经网络在迭代过程中存在不稳定因素,从而使得神经网络在应用过程中受到一定阻碍[15]。
2.2 IPSO-BP模型
使用历史负荷数据对网络进行训练和测试。在负荷预测的过程中,由于网络的初始参数是随机设置的,有可能导致在网络训练的过程中可能会出现误差较大或者出现不收敛的情况。因此,采用IPSO对BP神经网络的初始参数进行改进,IPSO在寻优的过程中,每一个粒子个体即一组权值和阈值,粒子找到最优位置后,该粒子携带的信息即最优权值和阈值,将信息赋值于网络后再进行训练和预测[16]。
PSO-BP神经网络模型预测步骤如下。
1)初始化BP神经网络,将数据作归一化处理。
2)初始化参数。确定 PSO算法中速度 Vmax,Vmin,位置 Xmax,Xmin,c1、c2,r1、r2,wmax和 wmin、种群数目N,最大迭代次数T,目标函数E,最小误差e。
3)随机产生N个粒子pop,每一个粒子都是一组潜在解,即N组权值阈值。
4)以设置的e为指标,分别计算每个粒子的适应度值,并通过对比得出Pbest和Gbest。
5)当迭代次数达到T或者适应度值E<e时,输出此时的粒子pop。否则,令迭代次数t=t+1,返回步骤3)。
6)IPSO算法的最优解作为网络的初始权值和阈值用于电力负荷预测。
7)用归一化的历史负荷数据对BP神经网络进行训练和测试,得出结果与实际负荷进行误差比较分析,若达到误差要求,输出预测结果,否则转到步骤2)。
3 仿真与分析
为了验证IPSO-BP模型在短期负荷预测实际应用中的情况,选取某地2014年7月1日到7月31日的负荷数据进行测试验证。首先,将数据进行归一化处理,前30天的负荷数据作为网络训练样本,使用训练后的网络作为验证模型,以7月31日的负荷数据作为测试数据,对网络进行测试,验证该模型在短期负荷预测过程中的效果。设置模型参数为:c1=1.49445, c2=1.49445, Vmax=0.5, Vmin=−0.5, wmax=0.9, wmin=0.4, Xmax=1, Xmin=−1,种群数目N=30,最大迭代次数T=500,r1, r2是[0, 1]随机数,C=0.8。设置3层神经网络,输入层3层神经元,分别对应预测日前3天24h负荷值,隐含层设置为5个神经元,输出层设置为一个,输出为预测日的负荷预测输出。网络在训练的过程中,使用粒子群算法对网络的初始权值和阈值进行寻优,确定较优的神经网络初始状态。
使用传统的PSO-BP神经网络和IPSO-BP神经网络模型进行仿真。仿真结果分别如图2和图3所示。
图2 PSO-BP负荷预测输出
图3 IPSO-BP负荷预测
图4 是PSO-BP模型和IPSO-BP模型的预测结果对比图,从对比图中可以看出,改进的 IPSO-BP模型的拟合度更好。从图中可以看出,从8∶00左右到24∶00,拟合度很好,而在次日0∶00到8∶00期间,拟合度相对较差。
图4 预测结果对比图
图5 相对误差对比图
图5 是两种预测模型的相对误差的对比图,从图中可以明显的看出,IPSO-BP模型的误差趋近于1%,比较稳定;PSO-BP模型的平均误差在2.63%,但是模型误差变动比较大,尤其在7∶00,误差高达6.23%,实际应用性相比较IPSO-BP模型较差。
从表1中可以看出,IPSO-BP模型的平均相对误差较 PSO-BP模型降低了 1.55%,而且最大相对误差降低了3.88%,说明IPSO-BP模型的预测结果更加稳定,相比较PSO-BP模型的预测精度更高。
表1 两种模型性能对比表
4 结论
本文介绍并分析了传统PSO算法容易陷入局部最优点和收敛精度低的问题,引入自适应惯性因子的 IPSO,提高了 PSO算法的全局收敛性和收敛精度。介绍分析了BP神经网络的优缺点,并在BP神经网络的基础上结合改进的粒子群算法建立了IPSO-BP模型,使用该模型对短期负荷进行预测。使用Matlab对同一组历史负荷数据进行仿真,结果分析表明,PSO-BP模型的预测结果虽然平均相对误差在 2.6%,但是最大误差超过了 6%,该模型在实际应用中会有很大限制或者说不能应用。本文使用的 IPSO-BP模型,不仅平均相对误差低,仅为 1%左右,而且误差稳定,并没有大幅度的出现偏差,这点可以证明,IPSO-BP模型相较于PSO-BP模型更加优秀。在短期电力负荷预测应用方面,本文使用的IPSO-BP模型预测结果接近于实际效果,测试过程中误差不会出现大幅度偏差。针对需要安全稳定负荷的电力系统,该模型更加安全可靠,可以应用于实际。
[1] Feng Sha, Feng Zhu, Shun Nan Guo, et al. Based on the EMD and PSO-BP neural network of short-term load forecasting[J]. Advanced Materials Research,2013, 614-615: 1872-1875.
[2] 代鑫波, 崔勇, 周德祥, 等. 基于主成分与粒子群算法的 LS-SVM短期负荷预测[J]. 电测与仪表, 2012,49(6): 5-9.
[3] Lu Kuan, Sun Wenxue, Ma Changhui, et al. Load forecast method of electric vehicle charging station using SVR based on GA-PSO[J]. IOP ConferenceSeries: Earth and Environmental Science, 2017, 69(1):012196.
[4] Wang Xiping, Wang Yaqi, Mussetta Marco. A hybrid model of EMD and PSO-SVR for short-term load forecasting in residential quarters[J]. Mathematical Problems in Engineering, 2016(5): 1-10.
[5] 刘轲. 电力系统短期负荷预测的研究[D]. 兰州理工大学, 2016.
[6] 全红梅. 基于粒子群优化BP神经网络的长春东卉供热区域热力负荷预测研究[D]. 长春: 吉林大学,2016.
[7] 陈帅, 王勇, 吕丰, 等. 基于粒子群 BP神经网络的短期电力负荷预测[J]. 上海电力学院学报, 2014,30(2): 131-135.
[8] 吴凯, 周西峰, 郭前岗. 基于粒子群神经网络的负荷预测方法研究[J]. 电测与仪表, 2013(3): 29-32.
[9] 熊伟. 基于粒子群模糊径向基网络的电力系统短期负荷预测[D]. 长沙: 长沙理工大学, 2009.
[10] 金敏, 鲁华祥. 一种遗传算法与粒子群优化的多子群分层混合算法[J]. 控制理论与应用, 2013, 30(10):1231-1238.
[11] 黄太安, 生佳根, 徐红洋, 等. 一种改进的简化粒子群算法[J]. 计算机仿真, 2013, 30(2): 327-330,335.
[12] 师彪, 李郁侠, 于新花, 等. 改进粒子群-BP神经网络模型的短期电力负荷预测[J]. 计算机应用, 2009,29(4): 1036-1039.
[13] 隋惠惠. 基于BP神经网络的短期电力负荷预测的研究[D]. 哈尔滨: 哈尔滨工业大学, 2015.
[14] 黄欣, 赵锦成, 解璞. 基于 BP神经网络的电站负荷预测仿真研究[J]. 国外电子测量技术, 2012(11):41-43.
[15] 赵娟娟. 基于BP神经网络的电力系统短期负荷预测[D]. 哈尔滨: 哈尔滨理工大学, 2013.
[16] 张少平, 徐晓钟, 代军委. 基于自适应变异粒子群算法和 BP神经网络的短期燃气负荷预测[J]. 计算机应用, 2016, 36(S1): 103-105, 153.