丰胜成, 郭继成, 付 华, 管智峰, 周文铮
(1.辽宁工程技术大学电气与控制工程学院, 辽宁 葫芦岛 125105; 2.山西潞安环保能源开发股份有限公司王庄煤矿, 山西 长治 046000)
风能被认为是绿色可再生能源,在世界许多国家得到了广泛的应用[1]。但是,风力的随机、不确定对电力系统的稳定性提出了极大的挑战[2]。所以,要想精确地预测风电功率,物理学和统计学方法被世界各国学者广泛地探索[3]。然而,这些方法几乎都是得到点预测,由于各种随机性,外部因素导致大量的误差存在于实际工程中[4]。传统的风力发电预测通常只给出一个数值,造成预测概率和数值波动范围不准确,风电的概率预测能够提供很多不确定信息[5]。概率密度模型包含了更多的有益信息,可以提供一个风电发电在特定概率范围内的有效范围,从而为决策者提供更多的信息[6],为电网的安全规划和运行做出更好的决策。
近年来,许多研究者将研究重点放在了概率预测上[7]。岳晓宇等人[8]提出了一种鲸鱼优化支持向量机(Support Vector Machine,SVM)的组合预测模型。由于风电原始序列具有随机波动的情况,引入鲸鱼优化算法(Whales Optimization Algorithm,WOA)解决了SVM中学习参数选择难的问题,进而对各子序列构建WOA-SVM预测模型,结果表明具有较高的风电功率预测精度。Zhou B W等人[9]构建了一种基于风电点预测的k均值聚类算法(k-Means clustering algorithm,k-Means)结合长短期记忆网络(Long Short-Term Memory,LSTM),在此基础上,提出了一种基于非参数核密度估计(Kernel Density Estimation,KDE)的风电概率区间预测方法。用k-Means聚类方法形成不同的风电影响因子聚类,以生成新的 LSTM子预测模型。LSTM具有较强的记忆功能,解决了前后数据相关性的建立,从而提高预测准确性。杨锡运等人[10]阐述了一种基于朴素贝叶斯的正态指数平滑法的风电功率区间预测方法,针对点预测难以量化预测的不确定性,改善了风电功率的预测精度。许佳辉等人[11]用分位回归法与卷积神经网络相结合的轻量梯度提升机,使预测结果更加准确,组合预测可有效提高模型的泛化能力,突出机器学习在概率预测的重要作用。殷豪等人[12]提出了一个分位数回归神经网络模型,将LSTM的长期记忆作用与分位数回归的优点相结合,使其能够提供所有因变量的条件分布信息,提高了模型的训练效率,体现了分位数回归估计条件分布具有较强的鲁棒性。庞昊等人[13]构建了一种将分位数回归与时间卷积网络(Temporal Convolutional Network,TCN)相结合,并将注意力机制与长短时记忆网络LSTM相融合,建立一种新的基于分位数回归与时间卷积网络的概率密度预测方法,为传统的短时点预测提供新思路。上述方法对预测精度有所提高,但模型会出现预测效果差、计算精度低、时间序列内在特征学习差的情况。
综上,在简化长短期记忆神经网络结构的基础上,提出基于改进的松鼠算法(Improved Squirrel Search Algorithm,ISSA)优化门控循环单元(Gate Recurrent Unit,GRU)分位数回归的短期风电功率概率密度预测方法。通过变分模态分解(Variational Mode Decomposition,VMD)[14]技术,可以把风力发电功率分解为各种模态的序列函数,大大降低风电功率数据的随机性、不确定性的特点,具有更高的精度,同时也大大降低数据样本训练的复杂程度。并利用箕舌线自适应权重和基于折射反向学习的种群初始化对松鼠算法(Squirrel Search Algorithm,SSA)进行改进,帮助算法摆脱局部极值,扩大全局寻优能力,对GRU分位数回归(Quantile Regression Gate Recurrent Unit,QRGRU)的超参数进行寻优。风电功率数据存在明显的时序性,GRU在时间序列作用突出,选取GRU作为风电功率预测的基准模型,QRGRU保留了GRU原有的结构和功能,不但具有LSTM[15]优良的运算性能,而且还对其构造进行了进一步的简化,缩短了运算时间。
在风电功率原始数据中存在着大量噪声,选择VMD对数据进行分解,其主要原因是较小波变换和集合经验模态分解等具有更强的谐波分离效果和更高的精度[16]。VMD算法的基本原理是:在给定的约束下,求出各个频段的频带宽度,进而实现对信号模式的分解。其基本原理是多模态函数的频宽和最小化。计算每个频域的带宽是将风电功率信号分解的前提,侧面保证了风电功率数据的分解精度。VMD是一种较好的序列分解方法,它是一种受限制的变分问题,建模方式如下:
(1)
式中,{uk}为模态分量,uk(t)为分解产生的k个模态分量;x(t)为原始风电功率信号;{ωk}为各模态分量的频率中心;δ(t)为冲激函数。
对于有限制的变分条件,利用二次罚系数与拉格朗日乘子相结合,把它转化成无限制的变分问题,从而获得一个扩展的表达式:
L({uk(t)},{ωk(t)},λ(t))=
(2)
式中,α为惩罚因子;λ(t)为拉格朗日算子式。
使用交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)[17]对各个模态分量和其中心频率交替更新,具体如下:
(3)
(4)
风电功率的准确预测是保证电力系统稳定运行的关键,建立以GRU为基础的预测模型。为了使GRU模型有显著性的精度提升,利用组合的理念,选择寻优效果较好的智能优化算法,来寻找GRU的超参数,以提高风力发电功率预测的精度。松鼠优化算法具有寻优指向性好、框架简明、易于实现等优点,并成功应用到各种领域,所以将SSA[18]作为预测模型的参数优化算法。
该算法对初始群体进行了随机初值,并在搜索空间中产生了大量的松鼠,具体表达式为:
FSi,j=FSL+rand()·(FSU-FSL)
i=1,2,3,…,N;j=1,2,3,…,d
(5)
式中,FSi,j为第i只松鼠在第j维上的值;rand()为[0,1]之间随机数组成1×d的矩阵;FSL和FSU分别为第j维度上的第i个松鼠的下界和上界。
确定初始化参数后,创建基于滑翔的新位置,动态觅食行为的数学模型如下:
情况一:松鼠从橡树上位置FSat迁移到山核桃树上位置FSht:
(6)
情况二:正常树上位置FSnt的松鼠可能会向橡树移动:
(7)
式中,R2为[0,1]范围内的随机数。
情况三:有些松鼠在普通果树上已经吃了橡子,也许会跑到山核桃树上去:
(8)
式中,R3为[0,1]范围内的随机数。
当R 本文主要从三个方面优化改进松鼠算法:①基于折射反向学习的种群初始化,得到更好的适应度初始值;②加入惯性权重基于箕舌线调整,受文献[19]启发引入非线性控制参数实现全局寻优和局部寻优的协调;③对出现捕食者概率公式进行改进,增加收敛速度,可以探索新的位置以保持种群多样性。 3.2.1 算法种群初始化过程 基于反向学习的思想首先是随机生成种群初始位置,然后对应每个初解产生相对应的反向解,把适应度较优的解作为初始化的种群。但在后期反向学习也可能陷入局部最优,结合光的折射原理提出折射的反向学习,采用折射反向学习的种群初始化[20]来得到最好的初始种群,可以在原来的基础上有更大的搜索空间,提高多样性,如图1所示。 图1 折射反向学习机制Fig.1 Refractive reverse learning mechanism 图1中,o为[a,b]的中点;解x在x轴上的范围为[a,b];α为入射角;β为反射角;l、l*为射线与折射线的长度,可得折射率n为: (9) (10) 3.2.2 惯性权重优化算法过程 箕舌线数学模型可以根据当前的位置信息自适应地改变搜索能力。在初始阶段对问题进行充分的全局寻优,而在晚期阶段对问题进行快速求解,以避免陷入局部极值,从而增强了问题的全局寻优能力。其中箕舌线函数图形如图2所示。它的直角坐标如下: 图2 箕舌线函数Fig.2 Tongue line function (11) 式(11)对x求解梯度为: (12) 式中,r为圆半径。 ω(i)=ωmin+(ωmax-ωmin)· (13) 式中,ωmax、ωmin分别为惯性权重的最大值、最小值;ηi、ηmax分别为当前迭代次数和最大迭代次数,令h(i)=ηi/ηmax并简化,得: (14) 3.2.3 算法寻优过程 如果R 情况一: (15) 式中,U为FSi,j范围的上界;L为FSi,j范围的下界;rand(1,D)为1×D维的随机矩阵,范围为[0,1],D为问题的维数。 情况二: (16) 情况三: (17) 为验证上述改进松鼠算法的有效性,选取Quartic和Kowalik两个函数对算法的性能进行测试,并与传统的SSA和WOA进行对比分析,函数表达式为: (18) 式中,xi为测试函数的横坐标,取值范围为[-1.28,1.28];random[0,1)为0~1随机数,定义域内全局最小值为0。 (19) 式中,x1~x4为多维测试函数的横坐标,取值范围为[-5,5],定义域内全局最小值约为0.000 307 5;ai、bi为随机数。 对测试函数进行寻优测试,对f1(x)、f2(x)的寻优过程如图3和图4所示,其中最大迭代次数Tmax为500,种群规模N为30。 图3 f1(x)的性能测试Fig.3 f1(x) performance test 图4 f2(x)的性能测试Fig.4 f2(x)performance test 通过三种优化算法对f1(x)、f2(x)的性能测试,可知三种算法都可以随着迭代次数的增加而收敛。对于测试函数f1(x),SSA和WOA表现不佳,收敛速度慢且适应度值较低,ISSA迭代48次就可以达到收敛状态,而SSA和WOA却需要132次和218次才达到收敛状态。对于测试函数f2(x),ISSA迭代7次就可以达到收敛状态并接近全局最小值,而SSA和WOA各需要32次和117次才可以达到收敛状态。可以说明ISSA比传统SSA和正弦余弦算法WOA在收敛速度和迭代次数等方面均是最优的。 对ISSA与SSA的时间复杂度O进行分析,假设松鼠种群规模为N,解空间为D维,求解目标函数所需的执行时间为f(D),故复杂度公式为: T=O[D+f(D)] (20) 在ISSA算法中,参数初始化所需执行时间为η0;一维上生成随机数的时间为η1;折射反向学习生成种群时间为η2,则松鼠种群初始化阶段的时间复杂度为: T1=O[η0+Nf(D)+D(η1+η2)] =O[D+f(D)] (21) 松鼠种群中在核桃树数量为r1N,r1为核桃树上松鼠树上的比例;一维进行位置更新的时间为η3;适应权重ω生成的时间为η4;遇到天敌后重新生成位置的时间为η5,桃树上的位置更新阶段时间复杂度为: T2=O[r1N(η3+η4+η5)D]=O(D) (22) 松鼠种群中橡树数量为r2N,r2为橡树上松鼠数量的比例;一维进行位置更新的时间为η6;适应权重ω生成的时间为η7;遇到天敌后重新生成位置的时间为η8,则该阶段的时间复杂度为: T3=O[r2N(η6+η7+η8)D]=O(D) (23) 松鼠种群中普通树上数量为(1-r1-r2);一维进行位置更新的时间为η9;适应权重ω生成的时间为η10;遇到天敌后重新生成位置的时间为η11,则这一阶段的时间复杂度为: T4=O[(1-r1-r2)N(η9+η10+η11)D]=O(D) (24) 最大迭代次数为Tmax,ISSA算法的时间复杂度为: T′=T1+Tmax(T2+T3+T4)=O[D+f(D)] (25) 通过以上分析可以看出,ISSA与SSA算法的时间复杂度并没有发生改变。 风电功率数据往往是非对称分布的,均值回归对于非对称分布和离散的数据反应困难。分位数回归能有效反映数据在不同分位点下对被解释变量的影响。目标函数如下: (26) (27) (28) 将ISSA与QRGRU相融合,将三个超参数隐藏层个数G、学习率ξ、批处理数量A作为飞行松鼠,引入改进的ISSA来对G、ξ、A进行寻优,隐藏层单元个数G∈[20,100],学习率ξ∈[0.001,0.1],批处理数量A∈[10,200]。ISSA优化QRGRU具体如下: 设置种群规模N,搜索空间维度D,最大迭代次数Tmax,采用式(10)对松鼠位置初始化,使种群均匀分布。然后,按照适应性程度从高到低的顺序,分别对核桃树、橡树和普通树的松鼠个体进行了排序。 初始化QRGRU的超参数寻优范围及三个超参数隐藏层个数G、学习率ξ、批处理数量A。将QRGRU三个超参数作为飞行松鼠,根据式(15)~式(17)更新松鼠个体位置。 (29) (30) (31) 由ISSA优化之后的最优超参数构建ISSA-QRGRU的风电功率概率密度预测模型。 使用式(2)~式(4)对风电功率原始数据进行VMD分解预处理,得到有限个风电功率模态函数;将每个模态函数输入上述预测模型,对样本进行预测,最后将每个模态函数的预测结果进行叠加,采用核密度估计方法进行风电功率概率密度预测。 核密度估计作为非参数估计的方法,对连续的密度函数有较好的描述效果。核密度估计无需对数据分布进行假定,通过数据的特征就可以研究其概率密度分布。 关于y的概率密度函数为: (32) 图5为风电功率预测的流程图,IMF1~IMFn为分解的不同分量;风电数据为原始的风电功率数据。 图5 基于ISSA-QRGRU风电功率概率密度预测模型Fig.5 Prediction model of wind power probability density based on ISSA-QRGRU (1)采用平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root Mean Squared Error,RMSE)作为点预测模型的评价指标,其数学表达式为: (33) (34) (2)引入预测区间覆盖率(Prediction Interval Coverage Probability,PICP)指标计算区间的可靠性,是实际观测值落入预测区间的概率,区间覆盖率的值越大,则模型的可信程度越高,公式为: (35) (36) 式中,N1为预测点个数;Ui、Li分别为预测区间的上、下界。 引入预测区间平均宽度(Prediction Interval Average Width,PIAW)指标预估模型的清晰度,清晰度为预测区间宽度表征, 区间平均宽度值越小,表明模型描述风电功率不确定性能力越强,突出模型预测性能越好,公式为: (37) 式中,Ui、Li分别为置信区间的上、下界,当预测结果与PICP相同时,较小的PIAW对应更好的预测结果。 实验数据采用宁夏某风电场2017年1月连续30天的风电功率实测数据,采样间隔时间为5 min,共3 000个样本,其中纵轴为风电功率的实际值,以前2 500组数据为训练样本,后500组数据为测试样本,验证概率预测模型的结果。 首先,确定优化参数范围,隐藏层单元个数G∈[20,100],学习率ξ∈[0.001,0.1],批处理数量A∈[10,200],之后配置SSA算法参数,种群数量为40,迭代次数200,确定τ∈[0.01,0.99],间隔为0.01,由式(4)计算风电原始数据中心频率,观察选取模态函数分解个数为4。 在概率密度预测开始前,采用VMD方法对原始数据的分解结果如图6所示。 不同算法结合GRU方法的风电功率点预测结果由图7和表1所示,通过算例对比实验,ISSA-GRU方法的MAE指标和RMSE指标明显最小,预测模型精度最高,最接近实际值,说明ISSA对GRU超参数寻优能力效果比SSA和WOA都要好,可以说明测试函数的寻优结果对GRU参数优化提供了可行性,通过实验结果可知,测试函数的结果与对GRU寻优结果一致,具有适用性。 表1 点预测模型的误差对比Tab.1 Error comparison of point prediction models 图7 实际值与各种算法结合GRU方法的点预测结果Fig.7 Point prediction results of actual value and various algorithms combined with GRU method 图8为样本实际值曲线和ISSA-QRGRU、SSA-QRGRU、WOA-SVM、LSTM分位数回归(Quantile Regression Long Short-Term Memory,QRLSTM)模型的预测结果。不同的预测模型误差分析见表2,从图8和表2中能突显出相较于SSA-QRGRU、WOA-SVM、QRLSTM模型,ISSA-QRGRU模型运行相同迭代次数,通过误差对比,ISSA-QRGRU的MAE指标和RMSE指标都最小,性能表现也都高于其他方法,突出提出优化方法的正确性。 表2 不同模型误差对比Tab.2 Error comparison of different models 图8 原始数据曲线和各种方法预测结果Fig.8 Original data curve and prediction results of various methods 选取ISSA-QRGRU、SSA-QRGRU、QRLSTM方法进行概率密度预测分析,图9为80%、90%、95%置信区间下ISSA-QRGRU、SSA-QRGRU、QRLSTM的风电功率预测结果,由表3和图9可知,在三种不同置信水平程度下,三种方法的区间覆盖率与每次的置信区间水平都相吻合,都有较好的覆盖率,而在90%和80%置信水平下,尽管QRLSTM模型的覆盖率更高,但它需要付出额外的区间宽度,而ISSA-QRGRU在每个置信水平上都获得了较小的区间宽度,这表明其预测的区间更加接近于实际值,验证了所提预测方法的有效性,总体而言,ISSA-QRGRU有效提升了整体预测概率的效果。 表3 不同置信水平下预测区间评价结果Tab.3 Evaluation results of prediction intervals under different confidence levels 对于ISSA-QRGRU的条件分布核密度估计,可以表示出任意时刻的风电功率概率密度预测结果,当实际值接近最高概率点附近,证明预测效果接近实际值;当出现在概率密度曲线尾部时,证明偏离实际值较远。 任意选取测试集中的9个样本,预测结果如图10所示,可以看出,大部分情况的预测都在概率密度曲线的中上部,尤其样本1、样本3和样本4的实际值基本都在概率密度曲线的最上方,没有出现在曲线底部的情况偏离实际值,说明ISSA-QRGRU都以较高的预测概率接近于实际值。 图10 任意选取9个样本的概率密度预测结果Fig.10 Probability density prediction results of arbitrarily selected 9 samples (1)针对变风电功率随机性、不确定性问题,建立了基于 VMD-ISSA-QRGRU概率密度预测模型。 (2)采用基于折射反向学习的种群初始化和加入惯性权重基于箕舌线调整,使改进后的算法具有良好的全局搜索和局部优化性能,克服了在优化过程中容易陷入局部极值的缺点。 (3)采用ISSA优化QRGRU的相关超参数,能够有效提高风电功率概率密度预测的能力和精度。同QRLSTM、WOA-SVM、SSA-QRGRU 模型预测模型相比,结果表明本文所提方法能对风电功率预测做出快速、精确、可靠的判断。3.2 改进选取风电功率预测的优化算法
3.3 优化算法性能测试
4 风电功率动态预测模型的构建
4.1 风电功率预测的GRU分位数回归
4.2 风电功率ISSA-QRGRU动态预测步骤
4.3 风电功率核密度估计函数
4.4 流程图
5 实验过程
5.1 概率预测评价指标
5.2 实验流程
6 结论