基于集合经验模态分解与门控循环网络的短期风功率预测
2021-12-26伍卫华叶征灯周杨丰
伍卫华 李 润 叶征灯 高 飞 周杨丰
(1.国家电投集团江西水电检修安装工程有限公司 2.北京东润环能科技股份有限公司3.国家电投集团江西电力有限公司高新清洁能源分公司)
0 引言
风电是我国乃至世界装机增幅最大的清洁能源技术,风网在成功并入电网之后,需要整个风电场能够参与电力市场的二次竞价,风电场必须对其功率进行电网功率变化预测,可以直接使整个风电场在参与电力资源市场的二次竞价中能够拥有更多的优势,使风机维修人员提高工作效率,降低企业的损失[1-2]。所以对于风电功率的预测精度越来越重要。由于风功率受风力、风向、气温等多因素影响,传统方法的预测精度较低。
有学者使用非参数回归,首先使用最小二乘支持向量机,用风速对短期风功率进行预测,再通过回归对误差进行预测,最后得到一定置信水平下的预测区间[3]。新疆大学研究中心基于游程检验,先使用CEEMD将原始风功率分解,根据频率划分为3种类型,再用布谷鸟算法优化后的BP神经网络模型和支持向量机模型进行滚动预测,最后再进行叠加[4]。国家电网辽宁省电力公司提供一种基于双向门控递归单元神经网络的误差修正模型进行短期风功率预测,效果优于基准模型[5]。有学者提出一种基于堆叠降噪编码的风场群功率预测模型,大大提升了复杂地形的预测精度[6]。
本文提出一种基于EEMD-GRU方法的风功率预测模型,先使用EEMD方法将原始风功率分解为若干个单一频率的子序列和一个余项,再将每个序列通过GRU神经网络进行滚动预测,最后将预测结果叠加为总预测功率,算出与实际功率的误差并与其他模型进行对比,发现此模型更优。
1 模型概述
1.1 集合经验模态分解
原始的风功率数据可能并不平稳,为了更好地使模型能够实现预测平稳风功率的数据,需要对原始数据进行分解。比较流行的一种方法是经验模态分解(EMD),它能把比较复杂的数据分解出来作为有限数量的内涵模态分量(IMF),这些模态分量必须要求具备两个基本条件:①在整个数据内,极值点的数量和零点的数量之间相差最多不能超过1。②当在一段数据内的任何时刻,局部极大值点和极小值点所形成的上下包络线平均值都为零。EMD分解步骤为:①找到原始数据的极大值点和极小值点,画出上包络线和下包络线。②画出步骤一中的平均值包络线。③利用未被分解的原始数据集减去上一条平均值包络线,得到中间信号。④如果中间信号满足以上IMF的两个条件,就可以将其视为一个IMF分量;如果不是,再利用该结果重新做①~④的分析。经过多次的迭代,信号最终只能是单调的序列或者是常值的序列。EMD算法分解的IMF分量存在模态混叠,频率并不单一,集合经验模态分解算法(EEMD)可以改进这个问题,EEMD是在EMD基础上又利用了白噪声多次求均值为0的特性。
1.2 LSTM神经网络
长短期记忆人工神经网络(LSTM)是一种特殊的RNN,LSTM系统可以有效地解决较长一段时间大量数据训练中会出现的梯度性消失及其他梯度性爆炸等技术问题。和一般的RNN相比,LSTM能够在持续时间比较久的序列中有更大优势。LSTM比RNN明显多了一个细胞状态Ct,这条线贯穿细胞的内部,细胞的状态就像是一条传输带,只对其增减小部分信息,能保存每个细胞里的重要信息。
LSTM具有增减信息到细胞状态的能力,这个能力是由被称为门的结构所赋予的。Sigmoid神经网络层会产生0和1之间的数字,用来控制有多少比例的信息可以通过,0表示不通过任何信息,1表示全部通过。
LSTM有三个门,控制信息的删减。遗忘门,控制机旧知识融入主线,也就是决定让哪些信息继续通过这个细胞,通过Sigmoid来实现,输入是上一步隐层状态ht-1和当前输入xt,输出的是0~1之间的数字ft,表示让上一个细胞的信息通过的比重。然后Ct-1与ft做乘法操作决定遗忘什么信息、保留什么信息。计算公式为:
控制门控制新知识进入主线,即决定让多少信息加入到细胞中。包括以下三个步骤:一是Sigmoid层决定新输入信息哪些能够保留;二是决定哪些信息进行参数更新;一和二相乘得到新加入的知识,传入主线,计算公式为:
输出门利用新的控制参数产生输出。两步完成:一是过滤处理,使用Sigmoid计算出输出比例。二是把当前细胞过tanh和通过比例(即第一步算出来的值)相乘,得到输出。计算公式为:
1.3 GRU神经网络概述
门控循环单元(GRU)源于LSTM,和LSTM相比,GRU的内部信息流动比较简洁,参数也更少,效果也较好,因此也是当前非常流形的一种网络,GRU也擅长处理各种时序问题。
在LSTM中引入了三个控制门函数:遗忘门、控制门和输出门来控制信号,保护细胞状态,筛选细胞信息。而在GRU模型中仅有两个门:更新门和重置门。
zt表示更新门,更新门可以控制之前的状态信息被筛选到当前细胞状态的程度,更新门的值越大,筛选得来的细胞状态信息就会越多。rt表示重置门,重置门可以控制之前状态有多少状态信息被筛选到候选集上,重置门的值越小,前面的细胞状态信息被筛选出来的也就越少。计算公式为:
式中,[]表示两个向量相连;×表示矩阵的乘积。LSTM和CRU都是通过门函数的方式来将重要的特征信息保留起来,而且丢弃不重要信息,这样就保证了整个网络能够同时处理长一段时间序列的问题,此外GRU相对于LSTM少一个门函数,参数的量上也是要少于LSTM,所以从理论上GRU的运行速度要优于LSTM。
2 实例分析
2.1 数据选取
本文采用的是来自某风电场2020年10月1日00:00到2020年10月21日19:45的2000条风功率数据,前80%的1600条数据作为训练集进行模型的训练,后20%的400条数据作为测试集检验模型效果,本文选取的步长为6,即用前6个时长的数据来预测后一个时刻的功率。为了后面数据处理更加方便和模型运行速度更快,需要对数据进行归一化处理,方法为将这些数据压缩到[0,1]之间,新的数据为:
式中,x为原数据,min(x)为原数据的最小值,max(x)为原数据的最大值。考虑实际情况,测试集应为未知的信息,所以先对训练集进行归一化,测试集以训练集为基础,即根据训练集的最大值和最小值进行归一化。
2.2 模型性能评价与结果比较
为了将各个模型得到的结果进行比较,本文选择平均绝对误差(MAE),平均绝对百分比误差(MAPE),均方误差(MSE),均方根误差(RMSE)作为客观、统一的评价标准,定义如下:
式中,yi表示实际的功率;表示预测的功率值;n代表样本数量;m表示特征维数。
2.3 EEMD分解
考虑到原始风功率信号中存在波动项,并不平稳,所以再次利用组合模型对其进行了预测,先用EEMD将原始风功率转化为n阶IMF分量和一个res趋势项,再利用单模型对这些分量分别进行预测,最后将分量的预测值相加即为原始风功率的预测值。图1为原始数据经过EEMD分解后的结果,噪声方差取0.2,噪声数为100,将原始风功率分解为9个IMF分量和一个趋势项,可以看出,分量逐渐振幅变小,波长变大,数据的波动性降低了。
图1 EEMD分解结果
为了体现EEMD-GRU算法的优势,本文共使用4种单模型和3种组合模型进行对比,单模型分别为:支持向量回归模型(SVR)、BP神经网络模型、LSTM神经网络模型和GRU神经网络模型,组合模型是先使用EEMD将原数据分解,每个子序列分别使用BP神经网络模型、LSTM神经网络模型和GRU神经网络模型进行预测。
2.4 模型建立
如图2为单模型的预测结果和实际功率的对比图。
图2 单模型功率预测图
表1 为四个模型的预测结果在平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方误差(MSE)、均方根误差(RMSE)各项指标上的数值,可以看出,从GRU模型误差最小,LSTM模型效果次之,到BP神经网络模型效果较好,SVM模型效果最差。
表1 模型误差表
如表2和表3所示,与单模型预测功率相比,组合模型效果明显更好,比较不同模型的平均绝对误差和均方根误差,除了EEMD-BP模型误差更小外,其余分量都是EEMD-GRU误差更小,模型效果最好。单模型中效果最好的GRU模型和组合模型中效果最好的EEMD-GRU模型相比,EEMD-GRU模型的MAE、MAPE、MSE、RMSE都要小于GRU模型,所以EEMD-GRU模型最优。
表2 组合模型误差
表3 单模型和组合模型误差对比
3 结束语
风电场的输出功率呈现的不规则性,单体算法可能会产生较大的误差,本文提出一种基于EEMD-GRU方法的深度学习组合模型,并与4种单模型和EEMDBP模型、EEMD-LSTM的组合模型的预测结果进行对比,发现EEMD-GRU模型可以提高预测精度,说明了该算法在短期风功率预测上的可行性。