基于改进遗传算法优化的小波神经网络短期负荷预测模型
2020-06-20徐靖峰
陈 静,顾 思,徐靖峰
(1.新疆阜康抽水蓄能有限公司,新疆维吾尔自治区阜康市 830011;2.南京工程学院,江苏省南京市211167;3.南瑞集团有限公司,江苏省南京市 211100)
0 引言
短期负荷预测是电网运行调度、生产规划的重要组成部分,它主要对未来短期内的负荷进行预测,用于安排短期调度计划、应对紧急情况,是电力系统安全稳定和经济运行的基础[1][2]。随着系统随机性的增加,传统短期电力负荷预测模型无论在精度还是速度上已经难以适应当前状况[3],而短期负荷预测作为能量管理的重要组成部分,预测误差的大小直接影响到电网后续的安全操作[4],近年来,神经网络,小波分析法,专家系统,模糊控制等新兴理论或方法的发展一直推动着短期负荷预测的不断发展[4~7]。
小波神经网络通过在BP神经网络的隐含层上应用小波基函数作为传递函数,达到信号向前传递、误差向后传递的目的[8],被广泛应用于各类短期预测[9-11]。但是负荷之间较强的关联性和冗余性容易让小波神经网络产生过拟合现象,使得预测精度降低,预测速度减缓[12],神经网络非线性的拟合能力与智能算法非线性的寻优能力结合成为解决上述问题的有效思路。
目前,已有大量学者对此类方法进行研究,文献[13]提出一种改进粒子群优化的小波神经网络模型,将其应用于电力系统的负荷预测研究,将改进的PSO算法用于优化小波神经网络的参数优化。文献[14]针对神经网络算法容易陷入局部最优解的缺陷,引入模糊理论分解负荷序列,进而提高电力负荷预测的精度,但是由于此类的固有缺陷,该模型不可避免的增加了计算的复杂度。文献[15]通过频谱分析研究了需求响应负荷的基本特性,并以此为依据建立了计及需求响应的小波神经预测模型,对比在模型中计及需求响应因素前后的预测性能,验证了计及需求响应因素可显著提高模型预测精度,为小波神经网络的应用拓展了思路,但是并未聚焦于神经网络非线性拟合与智能算法寻优结合。
基于以上分析,本文利用改进遗传算法对小波神经网络进行优化,并且在此基础上建立基于改进遗传算法优化小波神经网络的短期负荷模型,并且通过实际算例分析验证算法的可靠性。
1 小波神经网络
小波神经网络是在传统的BP神经网络中,将隐含层节点的传递函数变换为小波基函数,达到信号向前传递、误差向后传递的目的,其拓扑分为3层:输入层、隐含层、输出层,如图1所示。
图1 小波神经网络结构Figure 1 Structure of wavelet neural network
输入信号为Xi(i=1,2,…,k)时,隐含层输出计算公式如式(1)所示。
式中:h(j)为隐含层第j个节点的输出值;ωij为输入层和隐含层的连接权值;bj、aj分别为小波基函数hj的平移因子和伸缩因子。
输出层输出计算公式如式(2)所示。
式中:y(k)为输出层第k个节点的输出值;ωjk为隐含层和输出层的连接权值;h(j)为第j个节点的输出值;k=1,2,…,m,m为输出层节点个数;l为隐含层节点个数。
小波基函数为Morlet母小波基函数,如式(3)所示。
2 改进遗传算法
2.1 遗传算法基本原理
遗传算法(GA)具有鲁棒性好,计算复杂度低,需要目标函数的参数少等优点。应用遗传算法进行优化主要包括5个步骤:初始化种群、构造适应度函数、选择操作、交叉操作、变异操作。
(1)初始化种群。
依据算法设定的参数,对种群进行初始化,内容包括输入层与隐含层之间以及隐含层和输出层之间的连接权值,隐含层和输出层的阈值四部分。
(2)构造适应度函数。
根据种群内个体信息构建小波神经网络,采用训练集内的数据对神经网络进行训练和预测,以神经网络的预测输出值和实际期望值的误差的绝对值作为评价种群内个体优劣的指标,即个体的适应度F,计算公式为式(4)。
式中:k为适应度函数系数;n为网络输出节点个数;yi为第i个输出节点预测输出值;oi为第i个输出节点实际期望值。
(3)选择操作。
本文采用轮盘赌策略选择种群中的个体,即基于种群中个体的适应度大小决定个体选择概率,计算公式如式(5)和式(6)所示。
式中:Fi为种群中第i个个体适应度;k为系数;由于适应度值越小越好,所以以fi取代Fi,pi为个体被选中的概率。
(4)交叉操作。
本文交叉策略采用实数交叉法,假设个体am和个体an在第j个位置进行交叉,其操作过程如式(7)所示。
式中:b为0,1之间的均匀分布的随机数。
(5)变异操作。
假设第i个个体的第j个部分aij发生变异,其操作过程如式(8)所示。
式中:amax、amin为aij的上下界;r为0,1之间的均匀分布的随机数。
其中,算法变异操作采用
式中:r2为[0,1]之间的随机数;g和Gmax分别为当前迭代次数和最大迭代次数。
2.2 改进遗传算法
通过公式(7)和(8)可以看出,基本的遗传算法交叉、变异操作针对所有个体执行,在算法后期,极有可能因个体交叉、变异不当,导致算法收敛速度变慢,存在精度不高的问题。在本文算法中,将保留每一代种群中适应度最高的个体不参加交叉、变异,其余个体按照概率µ进行交叉、变异操作,概率公式按式(10)计算。
式中:µi、Fi为个体i进行操作的概率及适应度值,Fmax、Fmin个体适应度得最值。
当满足µi>rand时,个体进行交叉、变异操作,rand为[0,1]之间随机产生的数。
应用改进遗传算法优化小波神经网络,其实现流程如图2所示。
图2 算法流程Figure 2 Algorithm flow
3 算例分析
参考文献[16]中对神经网络结构的优化结果,本文设置小波神经网络结构为4-6-1,即4个输入层,6个隐含层,1个输出层,同时为简化模型,只考虑历史负荷数据,对于相关环境参数不予考虑,采用单步滚动预测模式,即每4个输入数据预测第5个输出数据,设定目标误差为0.0001,最大训练次数为2000。
遗传算法中设置种群个数为30,最大迭代次数为30,变异几率为0.15,交叉几率为0.6。
3.1 数据处理
本文采用新疆某地真实负荷数据为例进行分析,负荷数据每半个小时更新一次,采集30日数据,共1440个数据作为本文实验数据,选取样本前1388个数据组成训练集,后48个数据组成测试集,如图3所示。
图3 历史负荷数据Figure 3 Historical load data
为了避免输入输出数据数量级差别较大而造成预测误差较大,本文通过式(11),对所有数据进行归一化处理。
式中:Xmax、Xmin分别为数据的最大、最小值;为归一化前后的数据。
优化后的小波神经网络的预测数据按式(12)进行反归一化,得到预测负荷值。
为比较不同模型的预测精度,本文误差指标采用归一化均方根误差,如式(13)所示。
式中:xi、yi分别表示数据的真实值和预测值;N表示数据数目。
3.2 结果分析
分别应用改进遗传算法优化后的小波神经网络和无优化过程的小波神经网络模型对数据进行预测,预测结果如图4、图5、表1、图6所示。
图4 优化算法收敛曲线Figure 4 Optimization algorithm convergence curve
图5 优化前后预测误差Figure 5 Prediction error before and after optimization
表1 不同模型的预测精度对比Table 1 Comparison of prediction accuracy of different models
图6 优化前后预测负荷曲线Figure 6 Predictive load curve before and after optimization
由图4看出采用概率分布策略的遗传算法具有更高的收敛速度;由图5、图6以及表1可以看出,通过算法优化的小波神经网络具有更高的预测精度,尤其体现在原始小波神经网络预测结果和实际负荷值差距较大的时间点处,其累和均方根误差降低了11.07%,分析证明遗传算法的非线性寻优能力可以有效提高小波神经网络的预测精度,避免神经网络过拟合现象产生。
4 结论
本文提出一种基于改进遗传算法优化的小波神经网络预测模型,针对遗传算法在中后期收敛速度变慢,精度不高的问题,利用概率分布的交叉变异策略对遗传算法进行改进,针对小波神经网络受初值影响明显,易出现过拟合现象,利用改进遗传算法的寻优能力指导小波神经网络权值、阈值的更新,提高模型的预测精度。最后通过对优化前后小波神经网络负荷预测模型进行对比预测分析,分析结果表明与原始小波神经网络模型对比,本文提出的基于改进遗传算法优化的小波神经网络预测模型具有较高的预测精度。