基于DA-CNNGRU混合神经网络的超短期风电场功率预测方法
2021-08-23王雅兰杨丽华
王雅兰,田 野,杨丽华
(1.国网湖北省电力有限公司营销服务中心(计量中心),湖北 武汉 430077;2.国网湖北省电力有限公司电力科学研究院,湖北 武汉 430077)
0 引言
近年来,我国风力发电发展迅速,截止2020年全国风电装机容量已达2.815亿千瓦[1]。随着“2030碳达峰、2060碳中和”奋斗目标的提出,风电、光伏等可再生能源将迎来进一步快速发展[2]。风力发电主要由风速、风向、气压、温度、湿度等自然条件决定,具有间歇性、波动性、随机性的特点。大规模风电并网对电网的安全稳定运行带来挑战[3-4]。
现有风电超短期功率预测方法可分物理方法与统计方法[5-8]。其中前者基于风力发电的物理原理,建立风速-功率物理模型,以数值天气预报中风速预测值为模型输入得到预测值。此类方法过分依赖时空分辨率不高的数值天气预报数据而难以得到精确预测结果。后者以建立相关气象特征与功率时序的线性或非线性映射为主要手段,因具有较好的预测精度而得到广泛应用。随着风电场站信息采集系统的普及与完善,风电功率预测通过气象预报数据、风电场历史运行数据、风电场运行状态数据等海量参数,预测风电出力变化趋势[9]。具体地,文献[10]提出一种结合卷积神经网络和门控循环单元的超短期风电预测模型,一定程度提高了风电预测精度,但其缺乏对参数的优选策略,对海量特征参数缺乏分辨能力而影响预测精度;文献[11]提出一种基于改进长期循环卷积神经网络的预测模型,提高了风电预测精度,为本文提取优选特征提高预测精度提供思路。文献[12]提出一种结合交叉局部异常因子和注意力机制的超短期风电功率预测方法,但该方法采用传统LSTM神经网络算法,运算效率有所欠缺。文献[13]提出一种具有一定自适应能力的超短期风电功率预测方法,增加了预测模型的实用性,但该方法缺乏对相关因素多样化性的考虑导致预测精度欠佳。综上所述,超短期风电预测已取得了一定的成果,但随着海量数据信息的采集与汇总,如何提取强相关性特征数据时序以提升模型预测精度是亟需解决的主要问题。
本文提出一种基于双重注意力机制-CNNGRU(Dual Attention-CNNGRU,DA-CNNGRU)的超短期风电场功率预测方法。具体地,首先,利用CNN-GRU神经网络算法精确预测超短期风电功率;接着采用特征Attention机制提取历史数据与输入特征之间的影响程度;进而采用时序Attention机制提取强相关性关键时间节点的历史信息;最后得到精确预测结果。
1 超短期风电功率预测方法思路
基于双重注意力机制与CNNGRU的超短期风电功率预测方法流程如下:
1)利用数据清洗技术[14-16]定位零值、坏值等非正常数值,并以局部均值进行填充,最大程度降低异常数值引起的预测结果不稳定。
图1 基于双重注意力机制与CNN-GRU的超短期风电功率预测方法流程图Fig.1 Flow chart of ultra-short-term wind power prediction method based on DA-CNNGRU
2)为了避免数据量纲多样性引起不必要的数值问题,对海量特征数据组成的输入特征矩阵元素归一化处理。
3)为提取数据矩阵中相对独立的特征序列间相关特性并兼顾时序特性,构建CNN-GRU混合模型。
4)为了量化分析并提取历史数据与输入特征之间的影响程度,同时综合考虑强相关性关键时间节点的历史信息,提出一种特征-时序双重Attention机制。
2 DA-CNNGRU预测模型
将海量数据清洗以后得到的优质数据矩阵数据进行MinMaxScaler归一化处理,利用CNN网络提取矩阵空间特性,并将CNN网络输出的特征向量作为GRU神经网络的输入。为提高CNNGRU预测精度,引入注意力机制。在输入侧,引入特征注意力机制对输入变量自适应分配权重系数。在输出侧,充分利用时序数据之间的关联性,在时间维度引入注意力机制得到光伏输出功率时间序列之间的依赖关系。
2.1 CNNGRU神经网络模型
CNN网络作为一种前馈式神经网络,一维-CNN(Conv1D)能够提取时间序列组成的数据矩阵的相应特征[17-18]。本文在此选用窗宽为ts的定时间窗以步长1截取数据矩阵,使用双层Conv1D卷积层对所选取矩阵进行特征向量提取,具体建模方法见文献[19]。
为了更好地克服传统RNN所普遍存在的梯度消失的问题,本文采用门控循环单元神经网络(GRU)作为处理CNN所得特征向量的点预测算法[20]。GRU是LSTM网络的一个简化变体,属于门控循环神经网络家族。GRU中的更新门是由LSTM网络中的遗忘门和输入门合并而成,模型架构更为简单,在保证模型预测精度的同时减少了计算量和训练时间。
LSTM有输出门,遗忘门和输出门,而GRU则只包含更新门和重置门,减少了参数的训练。更新门控制前一时刻的状态信息保留到当前状态中的程度,值越大表示前一时刻的状态信息保留越多。重置门控制当前状态与先前的信息结合的程度,值越小说明忽略的信息越多。
图2 GRU神经元Fig.2 GRU neuron
本文提出的DA-CNNGRU混合神经网络具体输入输出与网络具体构建结构如图3所示。
图3 DA-CNNGRU混网络结构图Fig.3 DA-CNNGRU hybrid network structure diagram
3 双重注意力机制
注意力机制是一种模仿人类视觉注意力的模型,其主要借鉴了人脑在特定环境下会将注意力“聚焦”于某些地方,而忽略了其他部分的特点,从而对关键部分给予更多关注,而对非关键部分则可适当忽略。该机制的核心操作是一系列权重参数,从序列中了解每个元素的重要性,并合并这些元素成为注意特征向量。Attention机制框架图如图4所示。
由图4可以看出,输入的数据结构看作是i个特征,T时长的数据矩阵。这时在其中一个输入序列中给定一个元素Query,接着计算出Query与各key值之间的相关性,从而得出每个key对应的value权重系数值,接着将value权重系数进行加权求和得到最终的Attention数值。
图4 Attention机制框架图Fig.4 Framework diagram of Attention mechanism
针对海量数据下强相关性特征参数提取难度较大,以及在长时间尺度下难以聚焦与待预测时段匹配的历史数据时序时段,因此有必要提出一种兼顾特征间与时间尺度两方面的注意力机制,以提升模型的预测泛化性能。
3.1 特征注意力机制
令输入的气温、气压、10 m风速、30 m风速、50 m风速、70 m风速、轮毂处风速等相关气象特征时序序列如下式:
展开后具体如下矩阵所示:
而为了得到每一个相关气象特征变量与当前时刻的风电功率的内在关联程度,需采用特征注意力机制编码特征量化权重。将t时刻的相关气象特征因素输入到注意力机制,结合上一时刻t-1的隐层单元输出ht-1与记忆单元信息st-1,计算当前时刻每个气象特征对应的注意力权重,量化权重计算方法如下:
式(7)中,Vf、Wf、Uf为注意力机制为注意力感知权重矩阵;bf为相应的偏置项。
由上述运算可知,通过特征注意力机制可以自适应提取输入的关联气象特征矩阵。通过特征注意力机制,输入GRU网络的输入不再是原始特征矩阵的基于CNN网络提取所得的特征向量。通过注意力机制充分考虑了输入气象特征与输出功率时序的关联特性,增强了模型对输出功率强相关因素的提取能力,从而提高模型预测精度。
3.2 时序注意力机制
由于风力发电功率输出情况受到历史时序状态的影响较大,不同时刻的功率时序与特征时序状态对风电场功率输出的影长程度是不同的。而为了充分考虑某一历史时刻对当前预测结果的影响程度,在此提出一种基于时间尺度的注意力机制。用以提升模型自适应处理历史状态信息,强化强相关性历史时序对待预测时段的影响力。
图5 时序注意力机制Fig.5 Timing attention mechanism
时序注意力机制以各历史信息的最后一层隐层状态作为输入,分析其与当前待预测时段的关联性,并赋予其影响力权值。
式(9)-式(12)中,score为评分函数;αt,i为历史输入的隐藏层状态对当前输入的注意力权重;ct是中间向量;h͂t表示最终输出的当前时刻的隐藏层状态值。
4 算例验证
4.1 实验数据说明
本实验选取中国西北某风电场数据作为实验样本。本实验数据和信息包括该风电场2020年全年功率输出以及10 m风速、30 m风速、50 m风速70 m风速、轮毂处风速、气温等气象参数。具体特征指标如表1所示。
表1 样本数据特征指标Table 1 Characteristic indicators of data
上述数据的采样时间间隔均为15 min。
4.2 评价指标
本文通过均方根误差(Root Mean Square Error,RMSE)与平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)评价算法预测精度。具体计算公式如下:
式(13)、式(14)中,Xp为待预测时序;Xq为预测时序。
在预测结果对比中,如果模型预测性能较优,则体现为RMSE与MAPE越小。
4.3 预测结果对比
本文利用Python平台中的Keras框架构建基于CNNGRU模型的风电功率超短期预测模型。预测模型初始化参数为:模型网络隐藏层节点个数和权重学习速率由IGWO算法确定,模型迭代次数为15,采用Sigmoid函数作为GRU模型的激活函数。
模型的原始训练集数据范围为2020年各季度前两个月的数据,测试集分别为各训练集范围之后的一天。为了观察较长时间范围内的预测效果,对2020年各季度数据进行了为期1个月的短期滚动预测,预测时间窗为24 h,即提前一天预测未来24 h的点。为验证本文算法的有效性与性能优越性,分别采用ARIMA[21]、GRU[22]、CNNGRU[10]及DA-CNNGRU对某一天风电功率进行预测,各算法预测结果如表2所示,不同方法预测结果曲线对比如图6所示。
表2 算法预测结果对比Table 2 Comparison of prediction results
图6 预测结果对比图Fig.6 Comparison of prediction results
由图6中曲线与预测误差对比可得,DACNNGRU算法可更深入解决RNN普遍存在的梯度消失问题。由于提出一种基于双重Attention机制的特征权重规划策略,提升了时序数据在通道尺度与时间尺度上的特征提取能力,有助于提高预测精度。GRU算法以特征序列和历史功率为输入,其自主提取输入特征能力较差,且在模型训练中存在梯度不稳定等问题,因此效果较差。ARIMA模型只依据历史功率时序进行预测,缺乏考虑多种因素的影响,因此导致预测误差较大。
本文所提出的DA-CNNGRU算法预测性能综合表现最优,对比次优的CNNGRU算法预测结果的RMSE分别降低25.3%,表明了引入双重Attention机制的必要性。
5 结语
本文针对海量数据难以提取强相关性特征时序段的问题,提出一种基于双重注意力机制结合CNNGRU的预测方法。与现有文献相比,本文所提方法通过CNN结合GRU混合神经网络方法,提升了预测模型在时空尺度上特征提取能力;通过提出一种包括特征、时序的双重注意力机制,在通道尺度、时间尺度上提升模型训练的泛化性能,显著提升了模型预测性能。
综上,本文所提出的预测方法具有良好的预测精度,且具有良好的泛化性能,可满足“超短期预测”的实际工程要求。
本文未考虑预测模型在极端天气下对风电功率的影响,后续研究工作将针对极端天气下的分钟级功率变化特征,进一步研究分钟级功率预测方法。