自适应变异粒子群优化BP的短期风电功率预测模型

2020-02-27 09:41王粟邱春辉曾亮
关键词:输出功率适应度变异

王粟, 邱春辉, 曾亮

(湖北工业大学 太阳能高效利用及储能运行控制湖北省重点实验室, 湖北 武汉 430068)

风能的不可控制性使准确预测其输出功率的难度较大[1-3].采用反向传播(BP)神经网络预测模型能够较好地预测基于影响因素的输出功率,但其预测精度低、运行速度慢,需要进行改进[4-5].文献[6]提出一种在传统的BP神经网络中加入更有利于处理非线性误差和大噪声的最大熵准则(MCC)算法,与传统的均值误差执行功能相比,MCC算法预测精度更高,但该模型的网络结构过于复杂.文献[7]针对传统的神经网络风电预测模型较为复杂且预测精度低等问题,通过平均影响值计算出某个影响因素与输出功率的关系值,选出与输出功率关系较大的变量,建立预测模型,但该模型易陷入局部极值.文献[8]采用改进的人工鱼群算法对BP神经网络进行优化,克服了传统BP神经网络预测误差较高、易陷入局部极值等缺点,在短期风电输出功率预测方面具有良好的效果,但其收敛速度较慢.本文采用组合预测的方法,提出一种基于互信息的自适应变异粒子群优化BP的短期风电功率预测模型(互信息-改进粒子群算法-反向传播(MI-IPSO-BP)预测模型).

1 风电场输出功率影响因素的确定

1.1 各因素对风电场输出功率的影响

风电场输出功率,即风力机的输出功率P为

P=CPSρv3/2.

(1)

式(1)中:CP为功率系数;S为风力机扫过的面积,m2;ρ为空气密度,kg·m-3;v为风速,m·s-1.

某风电场风速与输出功率的关系,如图1所示.在风电场的实际运行过程中,只有当风速在某个限定区间时,随着风速的增加,风力机的输出功率随之增加,之后趋于稳定;当低于或高于该风速区间时,风力机的输出功率为零[9].

不同空气密度下输出功率的变化,如图2所示.由图2可知:其他环境条件一致,当3 m·s-1≤v≤12 m·s-1时,输出功率随着空气密度的增大而增大;当v>12 m·s-1时,输出功率保持不变[10].

图1 风电场风速与输出功率的关系 图2 不同空气密度下输出功率的变化 Fig.1 Relationship between wind speed and Fig.2 Changes in output power at output power of wind farms different air densities

风力机的输出功率受到风速和空气密度的影响,但无法直接判断出其他因素与输出功率的关系.若将所有影响因素作为模型的输入,则会增大计算的复杂度;若人为选取某些因素作为模型的输入,则难以保证预测精度.因此,需要采用一些方法对原始数据中的影响因素进行筛选.

1.2 互信息对影响因素的筛选

互信息(MI)表示两个或多个变量间的相关性[11].假设有两个变量X,Y,二者间的相关度表示为

(2)

式(2)中:N为变量X的观测样本数;j为观测样本的编号;FX,Y(x,y)为X,Y的联合概率密度函数,FX,Y(x,y)=FX(x)FY(y),FX(x),FY(y)分别为X,Y的边缘概率密度函数,x为样本中任一影响因素序列,y为输出功率序列;当X与Y互不相关时,MI值将趋近于0,当X与Y的相关程度越大时,MI值将趋近于1[12-13].

计算各影响因素与输出功率间的MI值.首先,求出联合概率密度函数和边缘概率密度函数.由于影响输出功率的因素都是离散性变量,故需要对变量进行离散化处理.将风速、风向正弦值、风向余弦值、桨距角等因素序列从小到大进行排列,把各因素等分为[xmin,xmax]这样的区间,在选取的影响因素样本数据中,统计出落入各区间的概率,即为边缘概率密度.同理,将输出功率序列等分为区间[ymin,ymax],统计同时落入区间[xmin,xmax]和[ymin,ymax]的概率,即为联合概率密度.

通过式(2)计算出影响因素与输出功率之间的MI值,筛选出与输出功率相关度较大的8种影响因素,即风速、风向正弦值、风向余弦值、桨距角、相对湿度、温度、海拔高度、空气密度,其相应的MI值分别为0.964 5,0.854 3,0.826 8,0.802 3,0.432 6,0.571 5,0.671 9,0.483 6.

2 自适应变异粒子群优化BP的风电功率预测

2.1 BP神经网络

BP神经网络是一种多层前馈网络模型,是人工神经网络的算法之一[14-15].BP神经网络首先将输入量由各层之间的连接关系传递到隐含层,再传递到输出层,得到输出层输出;然后,将输出层输出与期望输出进行比较,得出误差;最后,通过误差的反向传播,对各层之间的权重和阈值进行反复修正,以完成学习的过程.

2.2 粒子群优化算法

粒子群优化(PSO)算法是一种模仿鸟类运动规律的优化算法.在优化过程中,粒子在空间中不断更新位置和速度,搜索最优位置,然后,与其他粒子搜索的最优位置进行比较,找到全局最优位置[16].梯度下降法是求解无约束优化问题的迭代算法,其利用负梯度方向决定每次迭代的新的搜索方向,使每次迭代都能朝着函数最小的方向前进.在解决实际问题时,如果函数不是凸函数,则很可能陷入局部极值.粒子群优化算法可用于解决大量非线性、不可微和多峰值的复杂函数优化问题,可以有效地克服传统优化算法收敛速度慢、易陷入局部极值等缺点.由于智能优化算法的迅猛发展,且其优越性已在其他应用中得到验证,故不采用梯度下降算法,而采用粒子群优化算法.

(3)

(4)

粒子不断更新位置和速度,直到粒子在搜索空间中找到全局最优位置,或者算法达到最大迭代次数时,算法才结束搜索.

2.3 粒子群算法的改进

在风电输出功率预测问题中,粒子群优化算法结构简单、易于实现,但在优化过程中,一旦粒子找到1个最优位置,其他粒子则会趋于该最优位置,很难跳出该局部极值.针对这些问题,通过自适应惯性权重系数和变异扰动的方法对传统粒子群进行改进,提高粒子的全局搜索能力.

实际问题大多数是复杂、非线性的,选择合适的惯性权重系数可以均衡粒子的全局搜索和局部搜索能力,使粒子摆脱早熟.传统的惯性权重系数对非线性问题的处理能力有限,故引入自适应惯性权重系数ω,以避免粒子陷入局部最优,即

(5)

式(5)中:α分布于[15,30];ωmax,ωmin分别为自适应惯性权重系数值的上、下限;Mmax为最大迭代次数.

为避免粒子早熟收敛,并提高种群的多样性,引入变异思想对粒子进行扰动.当粒子一直陷入局部最优,停止向新的方向搜索时,引入变异扰动,迫使粒子进入其他区域继续搜索.假设1个变异概率为qo,若r

(6)

2.4 粒子群算法的实现步骤

粒子群算法的实现有以下5个步骤.

步骤1随机初始化粒子的位置和速度.

步骤2将均方误差函数作为其适应度函数,计算出各粒子的适应度值fi.

步骤3将各粒子的适应度值fi与该粒子目前搜索到最优位置时的适应度值f(pbest)进行比较,若fi>f(pbest),则更新pbest;否则,保持不变.将fi与全部粒子搜索到最优位置时的适应度值f(gbest)进行比较,若fi>f(gbest),则更新gbest;否则,保持不变.

步骤4对粒子的自适应惯性权重系数、位置和速度进行更新,若r

步骤5判断是否已满足约束条件,若满足,则算法结束,输出最优解;否则,返回步骤2,继续迭代.

2.5 MI-IPSO-BP预测模型的建立

MI-IPSO-BP预测模型的建立有以下8个步骤.

步骤1数据的预处理.对选取的样本数据进行补全和修正,对样本数据进行归一化处理.

步骤2模型参数的设置.对粒子群优化算法中的参数进行设置,并初始化粒子的位置和速度,确定粒子各维度上的数值与神经网络中输入层、隐含层、输出层之间的权重相对应.

步骤3建立BP神经网络,采用单隐层结构,输入层神经元8个,输出层神经元1个,隐含层神经元的个数h可通过试凑法或经验公式确定,即

(7)

式(7)中:a,b分别为输入层、输出层的个数;c为常数,分布于[1,10].

步骤4采用均方误差函数,计算出各粒子的适应度值fi.

步骤5将粒子的适应度值fi与该粒子目前搜索到最优位置时的适应度值f(pbest)进行比较,若fi>f(pbest),则更新pbest;否则,保持不变.同时,将各粒子的适应度值fi与全部粒子搜索到最优位置时的适应度值f(gbest)进行比较,若fi>f(gbest),则更新gbest;否则,保持不变.

步骤6对粒子的位置、速度和惯性权重系数进行更新,并假设变异概率qo=0.95,若r

步骤7判断误差是否达到误差标准,以及迭代次数是否达到最大,若达到最大,则停止迭代,得出最优解;否则,返回步骤4,继续迭代.

步骤8将粒子群优化算法得到的最优参数设置为BP神经网络的权值和阈值,并对预测模型进行训练.根据实际输出功率和预测输出功率,不断调整权值和阈值,直到满足结束条件,算法结束.

3 算例与分析

3.1 数据预处理

在选取的样本数据中,由于监控系统出错或人为原因,往往存在明显的数据错误或数据缺失等问题,如果未能很好地处理这些问题,预测结果会有更大的误差.通常选取该缺失数据或错误数据的前一个和后一个数据的平均值作为替代数据.

此外,在这些数据中,有些影响因素的数据不在同一个量级上,需要对数据进行归一化处理,即

(8)

3.2 预测模型的评价指标

由于风电输出功率受风速、风向、温度等随机性天气因素的影响较大,因此,为了验证文中模型的预测性能,选取平均绝对误差(EMA)、均方根误差(ERMS)和平均绝对百分比误差(EMAP)作为评价指标[18],其计算式分别为

(9)

(10)

(11)

式(9)~(11)中:n为预测样本数;Pc为预测输出功率;Pr为实际输出功率;j为预测输出功率的个数.

3.3 预测结果及分析

选取该风电场2014年4月1日-30日的气象数据和历史输出功率数据(4 320个)作为预测模型的输入样本数据,其中,前3 800个数据作为训练样本,其余数据作为测试样本.将风速、风向正弦值、风向余弦值、桨距角、相对湿度、温度、海拔高度、空气密度这8种影响因素作为预测模型的输入.根据经验公式,将隐含层神经元数设置为输入层神经元数的2倍加1;最大迭代次数设置为100;种群规模为25;ωmax,ωmin分别为0.9,0.2;c1,c2均为2.

通过MATLAB软件对MI-IPSO-BP预测模型进行仿真,为了对比研究,同时采用遗传算法-反向传播(GA-BP)预测模型和粒子群优化算法-反向传播(PSO-BP)预测模型对输出功率进行预测.GA-BP预测模型采用遗传算法对个体进行筛选,寻找最优个体作为BP神经网络的初始权值,对短期输出功率进行预测.PSO-BP预测模型采用传统的粒子群优化算法对BP神经网络进行优化.

预测模型输出功率的对比,如图3所示.预测模型平均绝对误差的对比,如图4所示.

图3 预测模型输出功率的对比Fig.3 Comparison of output power of prediction models

图4 预测模型平均绝对误差的对比Fig.4 Comparison of mean absolute error of prediction models

由式(9)~(11)及图3,4可以得到以下2个结论.

1) 3种预测模型都可以对风电短期输出功率进行有效的预测,但MI-IPSO-BP预测模型的预测曲线能够更好地逼近实际的输出功率.与PSO-BP预测模型相比,MI-IPSO-BP预测模型具有更高的预测精度,说明改进后的粒子群优化BP神经网络具有更好的预测能力;与GA-BP预测模型相比,MI-IPSO-BP预测模型的优化效果更好.

2) MI-IPSO-BP预测模型的EMA,ERMS分别为20.869 4,35.622 4 kW,EMAP为8.96%.相较于GA-BP预测模型,MI-IPSO-BP预测模型的EMA,ERMS分别减少了27.651 9,24.703 7 kW,而EMAP减少了6.78%;相较于PSO-BP预测模型,MI-IPSO-BP预测模型的EMA,ERMS分别减少了84.853 7,103.323 9 kW,而EMAP减少了18.50%.由此可知,MI-IPSO-BP预测模型的预测精度最高,效果最佳.

4 结束语

采用互信息对原始数据进行降维,可以保留有用的特征信息,舍弃冗余的特征信息,降低算法的复杂性.加入自适应惯性权重系数和变异因子改进粒子群算法,不仅优化BP神经网络,解决传统粒子群算法存在的问题,还可以提高粒子的全局搜索能力.结果表明,MI-IPSO-BP预测模型比GA-BP预测模型、PSO-BP预测模型具有更高的预测精度,预测结果更接近实际值.

猜你喜欢
输出功率适应度变异
改进的自适应复制、交叉和突变遗传算法
工程应用中的光伏组件输出功率衰减率评估
变异危机
变异
启发式搜索算法进行乐曲编辑的基本原理分析
我国自主大功率深紫外发光芯片输出功率创世界纪录
变异的蚊子
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
形的变异与的主题