APP下载

基于GAVMD-SGRU模型的风电场短期功率预测

2022-01-18高金兰

吉林大学学报(信息科学版) 2021年6期
关键词:风电场分量模态

高金兰, 李 豪, 邓 蒙

(1. 东北石油大学 电气信息工程学院, 黑龙江 大庆 163318; 2. 贵州电网公司六盘水水城供电局 陡箐供电所, 贵州 六盘水 553000)

0 引 言

在全球实现碳中和目标的共识下, 为构建清洁低碳安全高效的能源体系, 风电在电力系统中装机容量的比重将会进一步增长, 逐步成为推动我国能源结构转型的重要产业之一[1]。由于风电场的输出功率具有波动性及不确定性的特性, 使风电场并网后会对电力系统的安全稳定运行带来一定的扰动, 成为制约风电发展的重要障碍。为解决风电并网后, 主网安全稳定运行所面临的难题, 必须准确预测风电场的输出功率, 并及时将预测内容汇报给向上一级电力调度中心, 以便电网调度部门根据实际供需状况制定相应的电力调度计划和发电计划[2]。

近些年来, 风功率预测技术蓬勃发展, 新理论和新方法也不断被提出。目前许多学者及研究人员利用信号分解、 深度学习等前沿技术对传统的风功率预测法进行改进, 获得了很好的预测效果。深度学习的快速发展为风功率预测的研究提供了理论基础。梁超等[3]提出了利用长短期记忆神经网络(LSTM: Long Short-Term Memory)建立风功率预测模型, 该模型有效地解决了传统循环神经网络中的梯度爆炸和梯度消失问题。但由于LSTM中3种门结构的存在需要多次使用激活函数以及矩阵运算, 权重参数过多, 使模型训练难度增大, 预测花费时间过长。黄浩洋[4]通过采用门控循环单元网络模型(GRU: Gated Recurrent Unit)实现短期风电功率预测, GRU作为简化版的LSTM, 通过更新门完成LSTM的记忆和遗忘功能, 在保持模型性能的前提下, 简化了计算的复杂性, 具有训练速度更快, 系统占用内存更少的优点。此外在进行风电场的短期功率预测过程中, 由于风功率变化具有非线性, 非平稳的特性, 导致数据的变化复杂, 直接使用模型进行预测难以达到理想的效果。对高度不平稳的风功率历史数据先进行时间序列分解, 能降低预测模型的训练难度, 提升预测准确率。王佶宣等[5]提出利用经验模态分解(EMD: Empirical Mode Decomposition)对风功率进行预处理, 再利用径向基神经网络模型进行预测的短期风功率预测方法。相比于采用单一径向基神经网络模型进行预测, 该方法有效地提升了预测的精度, 但由于EMD算法分解过程中采用递归模式, 存在模态混叠、 过包络和欠包络等不良现象。Han等[6]通过建立变分模态分解算法(VMD: Variational Modal Decomposition)实现原始风功率分解, 相较于经验模态分解, 变分模态分解采用非递归的分解方式, 有效避免了模态混叠现象的产生, 但由于分解过程中会产生边界效应, 降低分解的精度。同时在实际的分解操作过程中, 分解层数K和惩罚因子α两个参数, 没有较为系统的选择方法, 往往需要通过反复实验确定最终的参数, 影响风功率预测过程中的准确性和时效性。

为改善单个模型的预测偏差, 笔者在Stacking集成算法的框架下, 建立SGRU(Stacking-GRU)预测模型以实现风电场短期功率预测。为解决VMD算法中常见的端点效应, 采用GRU延拓法对原始时序片段进行处理, 建立GVMD(GRU-VMD)预测模型。同时对GVMD分解算法中的K和α难以人工确定的问题, 引入了ALO(Ant Lion Optimizer)优化算法, 进行超参数优化, 建立GAVMD(GRU-ALO-VMD)分解模型。原始风功率数据经过GAVMD模型进行分解, 有效降低了风功率数据的不平稳性, 同时利用SGRU模型对分解后的IMF(IMF: Intrinsic Mode Function)分量进行预测并重构, 最终得到原始风功率数据的预测值。通过仿真验证了GAVMD-SGRU模型在实际风电场预测中的可行性。

1 SGRU预测模型

原始GRU模型在解决预测问题时, 常难以达到理想的预测效果。SGRU模型是对该模型的改进, 在Stacking集成算法的框架下[7], 先将训练集划分为子训练集, 并利用子训练集训练第1级的GRU模型, 之后将第1级GRU模型的预测结果构建新的训练集, 作为第2级GRU模型的输入, 最终通过第2级GRU模型的输出获得预测结果。Stacking算法通过对多级GRU模型的组合策略, 提升了整体模型的预测精度以及泛化能力。SGRU模型整体构架如图1所示。

图1 SGRU模型整体构架

SGRU模型中第1级的3个GRU模型采用2+1结构(2层GRU和1层全连接层), 模型中每层的激活函数选择为tanh, 3个GRU模型中每层的细胞个数分别选为64、 128、 256; 两层GRU网络结构有助于深度挖掘时间序列中的隐藏信息, 有效提取原始风功率数据中的特征以提高预测精度; 此外3个不同的GRU模型都可生成1个预测结果, 将这3个预测结果重新合并为新的训练集。SGRU模型的第2级选用单层GRU模型, 能及时发现并纠正第1级中3个GRU模型的预测偏差, 同时防止过拟合情况的产生, 从而达到提升整体模型预测精度的目的。第2级GRU模型的细胞个数选为128个, 激活函数为tanh。此外每个GRU模型的全连接层细胞个数为1, 激活函数选择为Linear。网络的优化器选择adam, 损失函数采用均方误差。

2 改进VMD算法

2.1 VMD算法

VMD作为一种较为先进的时间序列分解方法, 采用非递归方式进行序列分解, 具备完善的理论基础, 其分解过程包括变分问题的构造和求解, 具体流程如下[8]。

1) 将所有模态分量uk(t)进行Hilbert变换, 根据相对应的解析信号, 得出其单边频谱。

2) 对每个模态解函数的解析信号及其预估中心频率e-jωkt进行混叠, 将模态分量uk(t)的频谱调制为对应的基频带。

3) 利用高斯平滑法对已解调的信号估算带宽, 即通过对以上解调信号梯度的平方L2范数进行计算, 建立带约束的变分问题模型如下

(1)

其中⊗为卷积运算;δ(t)为狄拉克分布;uk为有限带宽的基本模态分量;ωk为其中心频率。

4) 通过引入拉格朗日算子λ和惩罚因子α, 将有约束的最优化问题转化为无约束变分问题。构造的拉格朗日函数为

(2)

(3)

2.2 基于GRU延拓法的GVMD模型

在实际工程应用中, 当对一段时间的风功率数据进行分解时, 由于该段序列的长度有限, 无法知道序列两端以外相邻片段的信息, 在使用VMD进行分解时, 由于信号截断因素的影响, 会产生边界效应, 对分解造成不利的影响[7]。针对端点效应的问题常见的解决方法有镜像延拓法、 极值点延拓法和波形匹配法, 其中镜像延拓法对时间序列的对称性要求较高, 极值点延拓法不适用于处理不平稳的时间序列信息, 而波形匹配法针对边缘处波形突变的时间序列延拓效果较差。为此笔者提出利用GRU模型对原始序列两端的数据进行延拓, 并构造GVMD模型以改进VMD分解过程中的端点效应, 从而将端点效应产生的影响转移到原始序列外部。GRU延拓模型根据风功率序列内部的变化规律以及误差最小原则找到延拓波形。GVMD模型的实现流程如图2所示。

图2 GVMD模型的实现流程

首先对原始风功率序列S(1),S(2),…,S(N), 将其分为L个长度为N-L数据样本, 数据样本T可表示为

T={(x1,y1),…,(xi,yi),…,(xL,yL)}

(4)

其中xi为连续的风功率序列,yi为xi的真实结果,xi与yi可表述为

(5)

其次将数据样本T按照3 ∶1的比例划分为训练集和验证集, 利用训练集对GRU延拓模型进行训练, 并利用训练完成的GRU延拓模型对原始序列左右两端进行滚动预测, 得到第1个预测值S(N+1), 之后不断地重复预测后一个值, 直到预测点数达到要求为止。

最后将中间原始序列与GRU延拓后的数据进行合并得到序列S(T), 利用VMD模型进行分解得到m组IMF分量C(1),C(2),…,C(T), 并去掉IMF分量的延拓部分, 得到GVMD模型分解后的IMF分量C(1),C(2),…,C(N), GVMD模型建立完成。

2.3 基于ALO算法的GAVMD模型

2.3.1 ALO算法

蚁狮算法(ALO)是Mirjalili[9]于2015年模仿蚁狮和蚂蚁之间相互作用而提出的一种新兴仿生算法, 其具有调节参数少, 寻优精度较高, 拥有全局寻优能力等特点[10]。因此笔者提出将ALO算法应用于GAVMD模型的参数优化中。

算法的流程如下。

1) 随机生成蚂蚁的位置

X(t)=[0,cumsum(2r(t1)-1),…,cumsum(2r(T)-1)]

(6)

其中cumsum为累计和,t为迭代步长,r(t)为由式(5)定义的随机函数。

(7)

其中Rrand为服从[0,1]上均匀分布的随机数。

2) 为确保蚂蚁寻优个体在指定区域内移动, 蚂蚁的位置需要按下式进行标准化

(8)

3) 蚂蚁在搜索空间中随机行走受到蚁狮陷阱的影响, 数学表达式如下

(9)

4) 当蚂蚁落入蚁狮的陷阱后, 蚁群的游走半径将变小。c和d的取值会随着迭代次数的增加而减小, 数学表达式如下

(10)

(11)

其中t和T为当前迭代次数和最大迭代次数,I为比率,w为蚂蚁的速度调节因子。

5) 蚁狮捕食猎物后, 则蚂蚁的适应度值优于蚁狮, 将蚁狮的位置更新到被狩猎的蚂蚁的最新位置, 蚁狮的位置可以更新如下

(12)

6) 蚂蚁将围绕所选择的蚁狮和精英蚁狮随机游走。因此, 蚂蚁的位置根据随机轮盘赌挑选的蚁狮和精英蚁狮的平均值进行更新, 该过程可描述为

(13)

2.3.2 基于ALO算法的GAVMD模型

实际风功率数据是复杂多变的, GVMD参数的选取直接关系到其分解性能的好坏。而ALO算法的搜索能力和搜索速度都有着极佳的表现, 笔者提出利用ALO算法对GVMD模型的模态分量个数K以及惩罚因子α进行寻优, 并建立GAVMD分解模型, 寻优过程中以平均样本熵作为适应度函数。样本熵的定义如下[11]

(14)

其中r为给定阈值,Bm(r)为两个序列在相似容限下匹配m个点的概率,Bm+1(r)为两个序列匹配m+1个点的概率。

寻优过程中不同的蚂蚁的适应度值代表着不同的优化解, 蚁狮的适应度值代表局部最优解, 而精英蚁狮的适应度值代表当前迭代次数下的全局最优解。GAVMD模型实现流程图如图3所示。

图3 GAVMD模型实现流程

主要步骤如下:

Step1 将原始数据序列输入至左右GRU延拓模型, 建立GVMD模型;

Step2 对GVMD模型及ALO算法进行初始化参数设置;

Step3 将初始解代入GVMD模型中并对原始风功率序列进行分解, 采用ALO算法进行寻优;

Step4 计算GVMD模型分解后所有IMF分量的平均样本熵, 得到蚂蚁和蚁狮的适应度值, 如果蚂蚁的适应度值高于蚁狮, 则蚂蚁被捕获, 并将蚁狮的位置进行更新, 得到局部最优解, 此外如果蚁狮种群最优个体的适应度值优于精英蚁狮, 则将该蚁狮替换为精英蚁狮, 得到全局最优解;

Step5 循环迭代至终止次数, 得到最小适应度值及其对应的最佳参数, 即寻找到GVMD模型模态分量个数K和惩罚因子α的最优组合, GAVMD模型建立完成。

3 基于GAVMD-SGRU模型的风功率预测流程

笔者将GAVMD分解与SGRU模型结合, 提出GAVMD-SGRU预测模型。首先采用GAVMD模型对原始风功率数据进行分解, 并对分解后相对稳定的模态分量利用SGRU模型进行预测, 最后重构各个分量的预测值得到原始风功率的预测结果。基于GAVMD-SGRU模型的风功率预测整体流程如图4所示。

图4 基于GAVMD-SGRU模型的风功率预测整体流程

基于GAVMD-SGRU模型的具体预测步骤如下:

Step1 对监控系统提供的风功率历史数据, 先利用滑动平均法剔除异常数据, 以消除原始数据集中因监控设备或风机检修等原因造成的数据缺失;

Step2 为解决VMD端点效应, 采用GRU延拓法对VMD模型进行改进, 建立GVMD模型;

Step3 针对GVMD模型中模态分量个数K和惩罚因子α难以最优确定的问题, 采用ALO算法进行寻优, 确立GVMD的模态分量个数K和惩罚因子α, 并建立GAVMD模型;

Step4 原始风功率数据经过GAVMD模型分解得到K个分量;

Step5 利用SGRU预测模型对K个分量进行预测, 得到K个分量的预测值, 将K个预测值重构输出得到最终的预测结果。

4 仿真分析

实验数据来源于2017年宁夏太阳山风电场的全年风功率数据。时间分辨率为15 min。实验利用GAVMD-SGRU模型实现该风电场的短期功率预测, 对GVMD模型及ALO模型进行初始化参数设置, 在GVMD模型中噪声容限τ和收敛误差限ε分别取τ=0和ε=1×10-7。在ALO算法中种群数量Scolony_size=60, 最大迭代次数Nmax_iteration=10, 分解层数上下限范围为1~10, 惩罚因子上下限范围为10~2 000。并将GAVMD-SGRU模型、 多层GRU模型、 SGRU模型3种模型的预测结果进行比较分析。

为验证GRU延拓法的性能, 笔者以实际风电场数据样本为例, 进行仿真实验。选用9月1日-9月8日的数据样本, 对GAVMD模型的风功率特征提取能力进行验证, 首先利用GRU延拓模型对序列两端进行延拓, 经GRU延拓模型得到的左延拓曲线和右延拓曲线如图5和图6所示。

图5 左延拓曲线 图6 右延拓曲线

从图5, 图6可以看出, 风电功率变化具有非线性, 非平稳的特性, 数据的变化复杂且具有很强的随机性。同时观察延拓曲线可以看出, 利用GRU延拓模型得到的曲线有着更加自然的变化趋势。利用ALO算法对GVMD参数进行寻优, 得到寻优图如图7所示。

图7 ALO算法迭代收敛趋势图

由图7可知, ALO算法迭代8次时, 找到最小的平均样本熵为0.621, 同时搜索到的最佳参数组合为K=8,α=527。将寻优后的参数作为GVMD的最优参数, 并对经GVMD延拓后的原始的风功率数据进行分解, 分解后的结果如图8所示。

图8 GAVMD分解后的各模态分量

从图8中可看出, 模态分量IMF1的振幅是8个模态分量中幅值最大的, 且变化周期最长, 波形平缓且表面光滑, 其变化规律主要受长期气象条件的影响。IMF2的变化周期为24 h, 基本上是以天为单位变化的, 变化规律较强, 主要受昼夜风速条件的影响。IMF3和IMF4的模态分量也可观察到明显的周期性和规律性, 其受风速的不确定性和间歇性影响较大。IMF5和IMF6平均振幅小没有较强的周期性, 主要影响因素包含了温度、 风向和气压这些气象类特征。IMF7和IMF8波形中所含噪声分量多, 波形规律性差, 周期性极短, 随机波动性更强, 反映风功率受随机因素的影响较大的成分。

为研究GAVMD-SGRU模型的预测性能, 首先选用10月23日的数据作为测试对象, 将GAVMD-SGRU模型的预测结果与多层GRU、 SGRU模型以及真实值做对比。针对测试对象上述模型的预测曲线如图9所示。

图9 上述模型在测试对象上的预测结果

与多层GRU的模型相比, SGRU模型与GAVMD-SGRU模型相比, 多层GRU模型拥有更准确的预测能力, 究其原因在于SGRU模型能纠正单个模型的预测偏差使整个融合模型的预测能力得到增强。此外与SGRU模型相比, GAVMD-SGRU模型可以更好地适应序列的局部变化。例如在风功率序列的高峰和低谷, GAVMD-SGRU模型能更好地提取局部特征信息, 预测到风功率序列在短时间内的突然变化, 提高了模型的预测精度。同时该模型不仅能在局部范围内捕捉风功率的变化趋势, 而且在整体上也保持着较高的预测准确性, 比其他模型更好地拟合于原始风功率序列。

针对测试对象GAVMD-SGRU模型与其他模型的性能评估指标如表1所示。

表1 GAVMD-SGRU模型与其他模型的性能评估指标

在针对10月23日的数据样本进行预测过程中, 可以看出, 多层GRU的决定系数为0.89, Stacking融合模型的决定系数为0.97, GAVMD-SGRU模型有着最高的判定系数0.98, GAVMD-SGRU模型预测的平均绝对误差与多层GRU模型和SGRU模型模型相比分别降低了3.19和0.71, 均方差指标与前两者相比也分别降低了53.9和10.02, 表明GAVMD-SGRU模型拥有更好的风电场短期功率预测能力。

此外, 为验证GAVMD-SGRU模型在一年内的预测效果, 选取春夏秋冬四季中的某日作为测试集, 进行实验对比分析。表2给出了4个季节内某日3种模型预测误差统计。

表2 四季内3种模型的预测误差统计

综合上面的几组对比实验可见, GAVMD-SGRU预测模型与SGRU及多层GRU预测模型相比有更好的预测精度。结合本地风速季节变化特征, 在夏秋风速较为平缓的季节SGRU模型以及GAVMD-SGRU都有较高的预测性能。得益于Stacking集成算法能纠正单个多层GRU模型的预测偏差, 因此SGRU预测模型的预测精度有明显的提升, 预测稳定性相比较其他模型有更好的表现。当预测对象处于风速波动较为频繁的春冬季节时, GAVMD-SGRU由于采用了CAVMD模型, 预先对不平稳的风功率数据进行了分解, 改善了SGRU模型的训练难度, 因此与SGRU预测模型相比, GAVMD-SGRU预测模型在预测效果上优于SGRU预测模型。

5 结 语

笔者在深度学习和信号分解的理论基础上, 提出了基于GAVMD-SGRU模型的短期风功率预测方法。首先在Stacking集成算法的框架下, 构建SGRU风功率预测模型, 改善了单个GRU模型预测不稳定的问题。其次提出建立GAVMD风功率分解模型, 解决了VMD分解时的端点效应, 以及GVMD的模态分量个数K和惩罚因子α的最优组合问题。最后利用SGRU模型对GAVMD分解后的模态分量进行预测并重构, 最终得到原始风功率的预测值。笔者以宁夏太阳山风电场为例, 利用GAVMD-SGRU组合预测模型对该风电场不同日期、 不同季节进行短期风功率预测, 仿真结果表明, GAVMD-SGRU模型预测性能相比其他模型, 四季内平均绝对百分比误差指标维持在6%以内, 预测结果较为理想。

猜你喜欢

风电场分量模态
联合仿真在某车型LGF/PP尾门模态仿真上的应用
用于风电场群规划的风电场尺度尾流模型研究*
基于自升式平台的某海上风电场风机安装施工方案
多模态超声监测DBD移植肾的临床应用
数字化风电场后评估指标体系研究
跨模态通信理论及关键技术初探
画里有话
《海上风电场设施施工检验指南》(GD01—2020)发布
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤