模糊信息粒化和GWO-SVM算法结合的短期风速范围预测
2020-10-09黄文聪张宇杨远程李子修陈润常雨芳
黄文聪,张宇,杨远程,李子修,陈润,常雨芳
(湖北工业大学 太阳能高效利用及储能运行控制湖北省重点实验室,湖北 武汉 430068)
随着能源危机的到来,大力发展绿色可再生能源已成为全社会的共识.风能作为一种取之不尽用之不竭的绿色可再生能源,得到了广泛的关注和大力的开发利用.根据《2017年全球风电发展报告》,截止到2017年12月底,全球风力发电装机容量达539.1 GW[1].由于风电的波动性和间歇性,当大规模的风电接入电网时,可能会对电网的稳定性产生影响,甚至会扰乱电力系统的正常运行.风速是影响风力发电最直接的因素,若能对风速范围进行准确的预测,则可以提供高精度的风力发电功率预测.这将有利于电网及时调整电力调度计划,提高风能资源的高效利用,降低电网运行成本,降低风电接入电网时对电网产生的影响,对风力发电的发展具有积极重要的意义.
目前,国内外的学者对风速预测做了大量的研究.李大中等[2]提出基于卷积循环神经网络深度学习的预测模型;陈金富等[3]提出用时空相关性的多位置多步风速预测模型,构造了一个利用时空相关性的风速预测模型——深层时空网络;Zhang等[4]提出基于小波分解和布谷鸟搜索算法的小波神经网络风速预测;赵征等[5]提出一种基于变分模态分解和改进差分自回归滑动平均模型的风速预测模型.上述研究建立的预测模型在一定程度上提高了风速的预测精度,其平均百分比误差在1%~10%的范围内.
通过对已发表文献的分析,目前对风速的预测主要采用物理方法与统计方法相结合的方法[6-11],这些方法各具特点,在预测精度上存在一些差异.灰狼优化算法(grey wolf optimizer,GWO)是由Mirjalili等提出的一种模拟灰狼捕食行为的群智能优化算法[12-14],因其原理简单、收敛速度快且全局性能好等优点,广泛应用于故障诊断、无人机航迹规划、客流预测、滑坡位移预测等领域[15-18].廖小平等[19]利用灰狼优化的支持向量机得到刀具磨损的分类等级,能准确地反映刀具的磨损状态,且具有较高的泛化能力;朱敬旭辉等[20]基于灰狼算法优化的比例积分微分(PID)控制,采用灰狼优化算法对PID控制参数进行自整定以提高控制系统的动态性能,该控制算法能够有效稳定地控制移动机器人完成路径跟踪任务.
基于以上分析,本文提出一种基于模糊信息粒化和灰狼优化-支持向量机(GWO-SVM)算法的风速预测模型,实现对风速范围区间的准确预测.
1 时间序列风速输入模型
假设第i次测得的风速为xi,其中,数据长度为m的第n组的连续时间风速数据Y(n,m)为
Y(n,m)={xn,xn+1,xn+2,…,xn+m-1}.
(1)
式(1)中:数据以xn开头,数据长度为m,顺序与原始风速数据相同.数据长度为N的原始的风速数据Y(0,N)可表示为
Y(0,N)={x1,x2,x3,…,xN}.
(2)
第1组到第n-1组连续时间风速数据所构成的风速数据时间序列矩阵X(n-1,m)为
(3)
通过该风速数据为时间序列数据的特点,可以推导出第n次测得的风速xn与第1次测得的风速x1到第n-1次测得的风速xn-1之间存在模糊函数关系,即
xn=f(x1,x2,x3,…,xn-1).
(4)
数据长度为m的第n组的连续时间风速数据Y(n,m)与第1组到第n-1组连续时间风速数据所构成的风速数据时间序列矩阵X(n,m)也存在模糊函数关系,即
Y(n,m)=F(X(n-1,m)).
(5)
通过这一层模糊函数关系,可以实现对风速数据的预测.
2 模糊信息粒化模型
信息粒化是根据一定的划分规则,将一个信息整体分解为多个部分,每个部分即为一个信息粒.非模糊的信息粒化有区间信息粒化、相空间信息粒化等具体粒化方法,在一些技术领域中有着重要的作用.然而,在实际情况中,粒子都是模糊的,非模糊粒化具有一定的局限性.因此,采用模糊信息粒化(fuzzy information granulation,FIG)对数据进行处理.利用FIG可以对庞大的样本数据进行特征提取,将提取出的特征作为输入,代入预测模型.
对数据进行FIG处理主要划分为两个步骤:1) 窗口划分,即对时间序列进行分割,划分为多个窗口;2) 模糊信息化,即分别对每个窗口进行模糊化处理,生成数个模糊信息粒.模糊化是FIG的关键步骤,通过在窗口上建立一个合理的模糊集,也就是从数据中提取出关键的特征信息代替原来的数据.
针对单窗口模糊化问题,对于确定的风速时间序列X=(x1,x2,…,xn),将整个X作为一个单窗口进行模糊化得到模糊粒子P,提取出来的模糊粒子P能够合理描述以X为论域的模糊概念G.模糊化的本质是建立一个函数M的过程,函数M是模糊概念G的隶属函数,即M=μG,其中,μG为G的隶属关系.模糊化的过程也就是先确定模糊概念的基本形式,然后,再确定模糊概念G的隶属函数M.
要得到隶属函数M,先要确定好模糊概念的对应形式,其主要形式有三角型、梯型、高斯型和抛物型.文中采用的是三角型的模糊概念,函数关系为
(6)
式(6)中:s和h为分别对应模糊概念G的下界值、上界值;m是模糊概念G的隶属度为1时的取值.
经过对一段连续时间的风速值进行模糊信息处理可以提取出3个参数UP,LOW和R.其中:UP表示风速范围预测的最大值;LOW表示风速范围预测的最小值;R表示风速范围预测的平均水平.
对模糊信息粒化得到的三个参数UP,LOW和R进行归一化处理,利用原始数据线性化将信息转换到[0,1]的范围.归一化公式为
(7)
式(7)中:p为归一化后的数据;xi为原始数据;xmax,xmin分别为原始数据集的最大值和最小值.
该方法实现对原始数据的等比例缩放,归一化之后将数据UP,LOW和R代入时间序列风速输入模型,得到输入预测模型的标签向量和对应的特征矩阵.
3 建立GWO-SVM模型
3.1 SVM理论
支持向量机(SVM)是一种基于统计理论的VC(Vapnik-Chervonenkis)维理论和结果风险最小化理论的统计机器学习算法.其在解决小样本、非线性,以及高维模式识别上有较好的应用,且在预测的应用上有较好效果.通过预测模型构造出损失函数,再基于结构风险最小化原则得到支持向量机算法.它要解决一个原始最优化问题,其形式为
(8)
(9)
式(9)中:k(xi,xj)为核函数;xi,xj为输入变量;l为样本个数.
由式(9)求解,可得到支持向量机的预测函数为
(10)
基于Mercer条件,且将高斯RBF作为核函数,g为核函数的内部参数,则有
(11)
式(8)中的惩罚参数c和式(11)中的核函数的内部参数g决定了SVM的预测精确度.因此,为了构建高精度的预测模型,需要对SVM内部的参数(c,g)进行优化以确定最优参数.
3.2 灰狼优化算法
采用灰狼优化(GWO)算法对SVM内部的参数c,g进行参数寻优,有如下3个主要步骤.
步骤1包围猎物.灰狼与猎物之间的距离D为
D=|C·Xp(t)-X(t)|,X(t+1)=Xp(t)-AD.
(12)
式(12)中:t为迭代次数;Xp(t)为当前猎物的位置;X(t)为当前灰狼位置;X(t+1)下次迭代后灰狼的位置;A,C为系数向量.A,C的更新方式分别为A=2a·r1-a,C=2·r2,其中,r1与r2为[0,1]之间的随机数,a为收敛因子,初始值为2,随着迭代次数的增加递减至0.
步骤2追捕猎物.计算每个灰狼个体的适应度值fi,将适应度值排列前三的灰狼个体的位置分别记为Xα,Xβ,Xδ,并将适应度值最好的Xα记为最优解;然后,计算剩余灰狼个体ω与排列前三的灰狼个体位置Xα,Xβ,Xδ的距离,即
Dα=|C1Xα(t)-X(t)|,Dβ=|C2Xβ(t)-X(t)|,Dδ=|C3Xδ(t)-X(t)|.
(13)
最后,更新灰狼α,β,δ和猎物的位置,即
X1=Xα(t)-A1Dα,X2=Xβ(t)-A2Dβ,X3=Xδ(t)-A3Dδ,
(14)
XP(t+1)=(X1+X2+X3)/3.
(15)
步骤3狼群对猎物进行攻击并捕获猎物以获得最优解.如果灰狼算法的迭代次数达到最大迭代次数tmax,那么,算法结束并输出最优解Xα;否则,返回步骤2继续进行寻优.
3.3 基于模糊信息粒化和GWO-SVM的风速预测模型
由上述建立的模糊信息粒化模型和GWO-SVM模型,构建文中提出的风速范围组合预测模型,实现对风速范围的准确预测.风速预测有如下4个主要步骤.
步骤1将历史数据进行模糊粒化处理,得到新的时间窗口的粒化数据;然后,将模糊粒化后的数据进行归一化操作,可得到LOW,R,UP的归一化数据;最后,将归一化数据划分为训练集数据和测试集数据.
步骤2构建时间序列风速输入模型,分别对LOW,R,UP三组时间序列进行归一化,并将训练集数据分别代入时间序列风速输入模型,即可得到三组GWO-SVM的训练集标签向量Y(n,m)与训练集特征矩阵X(n,m)数据.
步骤3将上述三组数据分别作为输入代入模型GWO-SVM模型,初始化狼群数为n,最大迭代次数为tmax,将惩罚参数c和核函数参数g代入SVM进行预测.如果灰狼算法的迭代次数达到最大迭代次数tmax,那么,算法结束并输出最优解c,g;否则,继续进行GWO参数寻优.
步骤4将最优参数c,g代入SVM进行预测,预测时间段t上最大值、最小值和大体平均水平值,可得到时间段t风速范围区间;然后,用同样的预测方法继续预测t+Δt时间段风速范围,将风速预测值与风速实际值对比,并进行误差检验.
基于模糊信息粒化模型和GWO-SVM模型的算法流程图,如图1所示.本算法的目的是对未来风速值进行范围预测,预测结果为(LOW,R,UP).
4 实例仿真与分析
4.1 试验数据的处理
样本数据来自于某风力发电机在2019年7月6日至2019年7月15日连续10 d的风速数据,采样时间间隔为5 min.利用MATLAB编程实现对上述预测方式的验证,用前6天的历史风速数据对后4天的风速数据进行范围预测,其中,风速数据的总样本量为3 000,训练数据样本量为1 850,预测数据样本量为1 150.历史风速数据样本,如图2所示.图2中:N5 min表示每5 min为采样点的数;v为风速.
将数据代入模糊信息粒化模型后进行FIG处理,使原来每5 min为采样点的数以30 min(6个采样点)作为新的窗口周期,数据模糊信息粒化的视图,如图3所示.
图2 历史风速数据 图3 粒化风速数据 Fig.2 Historical wind speed data Fig.3 Granulated wind speed data
对风速数据进行新的窗口划分后(6个时间点为一个窗口),提取出LOW,R和UP值分别进行预测,对应得到下一个时间窗口的LOW,R和UP值,即得到最小值、大体平均水平值及最大值.主要步骤包括对粒化后的LOW值进行归一化处理,然后,使用GWO-SVM预测模型得到风速的LOW值.同样选取风速模糊信息粒化后的R值和UP值进行归一化处理,再通过GWO-SVM预测模型进行预测,分别获取对应的预测值,最后,得到风速的预测范围.
GWO的初始参数设置,如表1所示.通过GWO得到的SVM模型的内部参数c和g,如表2所示.最终的取值采用GWO-SVM预测模型预测的风速LOW,R和UP值,实际对比如图4所示.图4中:N30 min表示每30 min为采样点的数.通过对比图4中预测变化曲线和实际变化曲线可以看出,GWO-SVM预测模型对风速LOW,R和UP值的预测效果较好.
表1 GWO的初始参数设置Tab.1 GWO initial parameter settings
表2 GWO-SVM模型的参数最终值Tab.2 Final value of parameters of GWO-SVM model
图4 GWO-SVM预测模型的预测值与实际值的对比Fig.4 Comparison of predicted and actual values of GWO-SVM prediction model
连续30 min内的实际风速值对应的风速范围的预测值,如表3所示.表3中:实际风速值之间的时间间隔(Δt)为5 min;风速范围区间可用[LOW,R,UP]表示.
表3 连续30 min时间内风速范围的预测值Tab.3 Prediction of wind speed range in 30 consecutive minutes
由表3可见:实际风速值都在预测范围区间之内,且实际风速范围与预测风速范围一致.由此可知,采用模糊信息粒化和GWO-SVM的组合风速预测算法可以实现对风速范围的精准预测.
4.2 算法预测精度的分析
为了对算法预测精度进行分析,分别利用网格搜索(grid search,GS)法、遗传算法(genetic algorithm,GA)寻优法、粒子群算法(particle swarm optimization,PSO)寻优法进行参数寻优后,再进行风速预测,通过对误差大小的对比,研究GWO-SVM算法的预测精度.
通过计算预测值与实测值之间的平均百分比误差(mean absolute percent error,MAPE)和均方根误差(mean absolute error,MAE)对结果进行误差分析和评价,结果如表4所示.MAPE和MAE计算公式分别为
表4 四种优化算法的误差对比Tab.4 Comparison of errors in four optimization algorithms
(16)
采用MAPE和MAE估算模型对不同数量级样例的拟合程度,其中,MAPE和MAE的数值越小,表示拟合精度越高.通过表4可知:GWO-SVM算法的预测精度最高,说明经过基于GWO-SVM算法的参数寻优效果优于其他参数寻优算法,即GWO-SVM算法提高了模型的预测精度和效果.
4.3 区间预测效果的评价
为验证模型的区间预测效果,在不同相对宽度(90%,70%)下实现短期风速区间预测.调整相对宽度的方式计算式为
(17)
式(17)中:1-α为相对宽度;U(xi)为第i个预测样本的原始上界;L(xi)为第i个预测样本的原始下界;U(xi)(1-α)为相对宽度1-α下第i个预测样本的上界;L(xi)(1-α)为相对宽度1-α下第i个预测样本的下界.模型的区间预测效果及其对应方框框出的范围放大后的区间预测结果,如图5所示.图5中:N5 min表示每5 min为采样点的数.
(a) 100%相对宽度 (b) 图5(a)局部放大
(c) 90%相对宽度 (d) 图5(c)局部放大
(e) 70%相对宽度 (f) 图5(e)局部放大图5 不同相对宽度下的风速区间预测结果Fig.5 Wind speed interval prediction results under different relative widths
采用如下几个指标对区间预测效果进行评价.
1) 区间覆盖率(forecasting interval coverage percentage,FICP).FICP用于评价区间的可信程度,其值越大,可信度就越高,其计算式为
(18)
2) 区间平均宽度(forecasting interval average width,FIAW).FIAW用于评价预测结果描述不确定信息的能力,其值越小,效果就越好,其计算式为
(19)
表5 不同相对宽度下区间预测效果指标Tab.5 Index of interval prediction effect under different relative widths
不同相对宽度(W)下区间预测效果指标,如表5所示.
由图5和表5的预测效果指标可以得出以下两点结论:1) 文中所提模型的风速预测范围区间能够有效包含实际值,其上下浮动趋势与实际风速变化情况基本一致;2) 在进行区间相对宽度调节后,发现存在极少的风速实际值落在相对宽度100%下的预测区间之外,风速实际值大部分都落在相对宽度90%下的预测区间之内,少部分落在相对宽度70%下的预测区间之外,满足实际情况,体现了文中所提模型的有效性.
各预测模型的指标评价结果,如表6所示.由表6可知:总体上,文中所提出的模型的预测区间的区间平均宽度最窄,区间覆盖率最高,GWO-SVM预测的区间预测效果较为理想.
表6 各预测模型的指标评价结果Tab.6 Index evaluation results of each prediction model
综上所述,所提的基于模糊信息粒化和GWO-SVM算法的短期风速范围预测模型可实现短期风速的区间预测,且预测效果较好.
5 结论
基于时间序列预测法和模糊信息粒化方法,提出对风速范围区间预测的方法,并建立模糊信息粒化和GWO-SVM算法的风速范围预测模型.通过算例分析,得出以下2点主要结论.
1) 由于针对时间序列分布的风速预测具有偶然性,文中所提出的模糊信息粒化的风速范围预测模型,通过模糊信息粒化提取一定时间内风速的特征信息,对特征信息进行预测,从而实现对风速范围区间的预测.
2) 通过与其他算法的误差对比,证明利用灰狼算法进行参数寻优能有效地提高支持向量机对风速范围预测的精度.
基于模糊信息粒化和GWO-SVM算法的风速范围预测方法具有较高的预测精度,风速范围的准确预测对风力发电功率的准确预测具有重要的意义.因此,该预测方法具有良好的应用价值.