郭韶昕, 陈 祥, 周 枫
(1.北京京能清洁能源电力股份有限公司内蒙古分公司,呼和浩特 010070;2.福氏新能源技术(上海)有限公司 技术部,上海 201315)
风能的大规模开发是我国实现“双碳”目标的重要手段。风能在时间、空间尺度上差异较大,存在风电功率不确定性强的固有缺点。准确的风电场出力预测,可以较好地解决风电功率不确定带来的风电消纳及电力系统的控制、调度问题。
风电功率短期预测主要用于风电机组的控制、电网的调度安排[1]。根据其原理可以分为物理学法、统计学习法[2]。文献[3]从气象学角度分析了风电功率预测的误差来源,提出一种针对物理学方法误差来源的探明方法,获取了各环节引入预测误差的量化结果。结合气象学方法的模型解算量较大,为了减少计算量,采用较大的空间网格尺寸又会导致预测的空间分辨率不高等问题。文献[4]重点研究了风速序列的自相关性和时序性,建立了短期风速预测的滑动平均自回归模型。虽然实验表明该模型的预测精度有一定的改善,但是此类模型在风速变化较大时拟合效果一般,需要修正预测误差以改善预测结果。
为了提高预测的精度,很多学者将信号分解技术运用到风电功率时序序列的处理,分别对分解后的子序列建立预测模型。文献[5]利用完全集合经验模态分解(Complementary Ensemble Empirical Mode Decomposition,CEEMD)方法对风电功率序列进行预处理并结合关键气象变量数据,使用基于时间模式注意力机制的时间卷积网络,对子序列分量分别进行预测,仿真结果表明该方法可行。文献[6]使用CEEMD 方法将原始风电功率序列分解为多个分量后,利用多尺度熵重组序列,既保留了原始数据特征又减少了计算量,基于集成学习的各分量预测模型有较好的风电功率预测精度。对原始功率时序序列进行信号分解为风电功率预测提供了新的思路,但是高阶预测模型不可避免会带来超参数选取的问题,需要设计算法对参数进行寻优。
基于以上分析,本文提出一种基于CEEMD、改进蜻蜓算法(Improved Dragonfly Algorithm,IDA)和支持向量机(Support Vector Machine,SVM)的风电功率短期预测模型,定义为CEEMDIDA-SVM 模型。该模型先采用CEEMD 方法将风功率时序序列分解成为若干个模态分量,再利用IDA优化的SVM 模型分别对每个分量建模预测。
经验模态分解(Empirical Mode Decomposition,EMD)由Huang等[7]提出。将原始信号分解成几个本征模函数,设时序信号为x(t),对其采用EMD方法分解的步骤如下:
步骤1 确定原始序列的极值,以及局部极大值xmax(t)与局部极小值xmin(t)的拟合包络线。
步骤2 记原始序列x(t)与包络线的均值m(t)的差值为h(x),判断h(x)是否满足成为分量的两个条件。满足条件时,h(x)成为提取的第一个分量c1(t);不满足条件时,计算h(x)的极值点,并重复步骤1。
步骤3 原始序列减去提取到的分量c1(t)后,再次重复以上过程,产生下一个分量。当分量小于设定值或分量单调时,分解完成,原始序列表示为
式中:ci(t)为提取的第i个分量;rn(t)为残余分量。
EMD方法中出现的端点效应和模态混叠,会使得信号分解出现较大误差。有学者在EMD方法的基础上,提出了集合经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)方法,在原始信号中加入高斯白噪声,使得信号能被解出具有各个频率的模态信号,在一定程度上改善了EMD方法的不足[8]。然而,当高斯白噪声幅值和次数不合适时,原信号会产生伪分量,使得重构误差增大。在原始信号中加入幅值相等的正负白噪声,既可抑制EMD 方法模态混叠的问题,也可改善EEMD 方法重构误差大的问题,这就是CEEMD方法[9]。
SVM[10-11]是一种小样本学习方法。区别于传统的归纳演绎,SVM 可以高效地实现训练数据到预报数据的回归预测。其计算的复杂度不取决于数据的维度,在一定程度上避免了“维数灾难”,算法简洁,鲁棒性强。通过非线性变换将输入空间映射到一个特征空间,常用于解决线性和非线性回归问题。超平面可记为
式中:σ为高斯核函数参数,σ>0;g为常数,g>0。
式(3)中的c、式(5)中的g的选取对SVM 的性能有很大影响,需要对其进行优化以确定最优参数。
蜻蜓算法(Dragonfly Algorithm,DA)[12]是一种种群智能算法,常用于求解有约束及搜索空间未知的问题,全局寻优能力和寻优精度较高。DA 模拟了蜻蜓种群分离、排队、结盟、捕食和避敌等行为,以进行局部和全局搜索,分别由以下数学表达式表示。
第i种群个体分离行为的位置向量为
式中:N为个体数量;X是当前个体的位置向量;Xj为第j个个体的位置向量。
第i种群个体排队行为的位置向量为
式中:s、h、c、f、e分别为各行为的系数;w为惯性系数。
引入莱维(Levy)飞行策略,在同类个体附近无临近解时,采用此方法更新蜻蜓位置向量为
式中:d为蜻蜓个体的位置向量的维度;r1,r2是[0,1]之间的随机数;β=1.5。
在种群智能算法中,如果在开始迭代初期能够获得比较接近全局最优解的机会,那么最终得到全局最优解的概率就会增加,并能实现快速收敛。反向学习[13]是一种算法优化方法,在实现过程中,把候选解及其反向解同时进行计算,再计算其反向解的适应度值,选择其中更优值的个体开始下一次迭代,其公式为
在DA中引入Levy飞行策略和反向学习策略,形成的IDA流程如下:
步骤1 初始化算法。
步骤2 适应度函数为样本的均方差,更新种群适应值,更新X+、X-。
步骤3 更新5个行为系数,用式(11)更新步长向量、位置向量。当个体周围无临近解时,使用Levy飞行策略进行更新。
步骤4 计算新的适应度值。
步骤5 达到设定的反向学习概率时,计算反向解,并选择较优解。
步骤6 比较个体与食物位置和敌人位置的适应度值,比食物的适应度值好,则更新为食物的位置;比敌人的适应度值差,则更新为敌人的位置。
步骤7 达到设定的结束条件就输出最终结果,否则返回步骤2。
图1所示为CEEMD-IDA-SVM 模型的预测流程,相关步骤如下:
图1 CEEMD-IDA-SVM 模型的预测流程
步骤1 利用CEEMD 分解原始风电功率数据,得到各模态分量。
步骤2 利用SVM 对各分量分别建立预测模型。其中,SVM 中的参数c以及g由反向学习策略改进的DA,即IDA优化得到。具体为:首先,设置IDA参数和SVM 参数;其次,初始化蜻蜓初始位置和更新步长,保存惩罚参数和核函数组合集合(c,g);接着,随机初始化蜻蜓迭代半径,并计算蜻蜓算法的各权重;最后,满足条件时停止迭代,寻优结束。
步骤3 各分量预测值线性相加得到最终结果。
(1) 采用整体正交性指标IOO和完备性指标IC比较各分解方法的性能[14],计算公式为
式中:IOi,k为CEEMD 方法分解的cj(t)分量与ck(t)分量的正交性指标;N为分量的个数;M为采样点的个数。
(2) 采用均方根误差ERMS、平均绝对误差EMA、平均绝对百分比误差EMAP这3个指标评价风电功率预测模型的性能[15],计算公式为
为了验证本文所提模型的有效性,选取某额定功率为10 MW 的风电场某年1月的数据进行仿真,采样间隔为15 min,使用前30天2 880组数据训练预测模型,预测后1天96组数据,仿真环境为Matlab R2020b。使用IDA优化的SVM 对CEEMD分解后的分量分别进行预测。在IDA 中,蜻蜓初始种群个数为50,最大迭代次数为200,寻优数量为2,寻优区间为[0.01,100],采用均方差最小作为适应度值标准。CEEMD 中加入的白噪声标准差设置为0.25,总集合次数设置为100。
针对风电功率时序序列的强随机特点,使用CEEMD分解技术,分解为保留了原始数据信息特征的分量,分解结果如图2所示。
图2 CEEMD分解结果
为验证CEEMD 方法的优越性,同时采用EMD方法及EEMD方法对该时序序列进行分解。采用上文提出的评价指标对比分析其分量正交性和重构误差,表1为3种分解方法的评价指标。
表1 分解方法的评价指标
由表1和图2可以看出,对于具有强随机和波动性的风电功率时序序列,CEEMD方法不论是整体正交性指标还是重构误差指标都是3种方法中最小的。这表明CEEMD方法较大程度上改善了经验模态分解产生的模态混叠现象,同时重构误差并没有增加,各分量完备性较强,较好地保留了原始数据的信息特征。该方法对于电功率时序序列的处理,为风电功率预测模型提供了优质的数据支撑。
CEEMD-IDA-SVM模型的预测结果如图3所示。
图3 CEEMD-IDA-SVM 模型的预测结果
为了验证CEEMD-IDA-SVM 模型的优越性,建 立 了EMD-IDA-SVM 模 型、EEMD-IDASVM 模型和CEEMD-粒子群优化(Particle Swarm Optimization,PSO)-SVM 模型,与之进行对比。各模型的预测结果如图4所示,预测结果评价指标如表2所示。
图4 各模型的预测结果
表2 各模型预测结果评价指标
由图3可以看出,本文提出的CEEMD-IDASVM 模型的预测结果与实测值的误差较小。前期1~60采样点,风电功率变化平缓,预测的结果和真实值相差不大。后期采样点的波动变大,预测的结果没有很好地拟合实测值的变化细节。在模型的对比实验中,由图4和表2可以看出,本文构建的IDA改进的SVM 模型比经典的PSO算法改进的SVM 模型的预测精度更高,ERMS和EMAP指标提高了30%以上。这是因为IDA在参数寻优的过程中收敛快,收敛的精度也更高。由于EMD 和EEMD分解在正交性和重构误差指标上都不如CEEMD,所以依据EMD和EEMD分解后的分量建立的预测模型准确度都不如基于CEEMD的模型。相较EMD-IDA-SVM 模型和EEMD-IDASVM 模型,CEEMD-IDA-SVM 模型在ERMS、EMA、EMAP指标上分别低了约50%、40%、60%。CEEMD方法保留了原始数据的特征,提高了数据的稳定性,更有利于模型预测。综上,本文所构建的CEEMD-IDA-SVM 模型的预测性能有一定的优越性,更适用于风电功率短期预测。
(1) 采用CEEMD 方法处理风电功率原始数据,将非平稳、强波动的复杂数据分解为多个简单分量,为后期建模提供了数据支撑。
(2) 在标准DA 的基础上引入了反向学习策略,优化了个体的位置更新模式,算法收敛更快,寻优成功的概率也有所增加。
(3) 对比分析了各模型的预测结果,CEEMDIDA-SVM 模型的误差指标均最小,预测精度高且算法运行速度快,用时短,具有较好的实用价值。