APP下载

基于卷积神经网络特征提取的风电功率爬坡预测

2021-03-06景惠甜高志宇

电力系统自动化 2021年4期
关键词:爬坡电功率特征提取

景惠甜,韩 丽,高志宇

(中国矿业大学电气与动力工程学院,江苏省徐州市221116)

0 引言

近年来,随着环境污染的加重和化石能源的日益减少,开发新的替代能源成为研究热点。其中,风能以其高效清洁的特点获得了国内外的青睐。但是,风能具有很强的随机性和间歇性[1-2],尤其是当发生长时间的极端气象天气,爬坡事件极易发生。风电爬坡是指一段时间内,风电功率发生大幅度的波动,风电爬坡使电力系统维持功率和频率的稳定更加困难,给风电的并网和调度带来了巨大的挑战[3-7]。为了减少爬坡事件对系统的影响,需要对爬坡预测的方法进行研究。目前,最常见的爬坡预测方法是基于历史数据进行预测[8-9]。为了提升预测的精度,也有研究将气象预测数据和统计模型相结合[10-11]。由于风能的特性受多种因素的影响,简单的预测方法无法准确捕捉爬坡特性,这就要求不断研究新的方法以更加准确地获取风电的爬坡特征[12-14]。

深度学习网络具有强大的深度特征提取能力,其中,长短期记忆(long short-term memory,LSTM)网 络[15-18]和 卷 积 神 经 网 络(convolutional neural network,CNN)在风电功率预测方面已经有了很广泛的应用[19-20],所以本文采用了以CNN 为基础的深度模型进行特征提取和爬坡预测。特征提取的本质是通过一个特定的评价标准衡量一个给定特征子集的优良性。通过特征选择,原始特征集合中的冗余特征和不相关特征被除去,而有用特征得以保留。CNN 在图像识别方面有强大的功能,其中特征提取层的参数可以通过训练数据学习得到,避免了人工提取特征,其同一特征图的神经元可以共享权值,从而可以减少网络参数。CNN 善于挖掘数据局部特征,具有极强的适应性[19]。注意力机制(attention mechanism,AM)最早用在图像处理领域,每个输入是具有相应注意力的权重,这些注意力权重在输出后进行重新计算,使得网络的注意力能随着输入的推移而改变,在模型训练时让神经网络高度关注某些信息。由于风电爬坡场景少,其特征信号容易淹没在大量其他特征中,采用AM 来加强对爬坡特征的学习,能有效提高预测模型精度。现有的AM 需要人为设置打分函数[21-22],难以适应对复杂风电信号中爬坡特征的学习。为此,本文通过全连接层直接构造AM,AM 的权重在对风电信号学习过程中通过训练得出,以加强风电爬坡的特征。

本文提出了基于CNN 和LSTM 的风电功率爬坡预测方法,针对风电爬坡特征难以提取及学习的难题,提出用AM 来强化对风电爬坡特征的学习,并针对AM 权重须人为设置的局限,提出采用全连接层构造AM 的权重,保证对爬坡特征的有效学习。仿真验证表明,本文提出的模型有较好的特征提取和预测能力。

1 风电功率爬坡事件

风电功率爬坡事件主要指长时间极端天气引起的短时间内风电功率发生大幅度的变化。当出现强烈低压系统(或气旋)、低空急流、雷阵雨、阵风或类似的长期极端气象事件时,会造成风电场一段时间内功率骤增,发生上爬坡事件;当出现相对气象事件或风速较高超过切出风速,部分风机陆续退出运行时,风电场一段时间内功率骤降,发生下爬坡事件[23-26]。风电功率的急剧变化对电网造成很大的不利影响,如频率失稳等。

文献[24]给出了定义爬坡事件的5 个表征量,如附录A 图A1 所示。

1)幅度变化ΔPr,风电功率的变化值。

2)持续时间Δt,大幅功率波动持续时间。

3)爬坡率ΔPr/Δt,风电功率变化速率。

4)开始时间t0,既可以定义为爬坡事件开始的时间,也可以定义为爬坡事件的中段时间。

5)爬坡方向,功率增大为上爬坡,减小为下爬坡。

本文采用文献[24]给出的爬坡定义:

式中:Pt和Pt+Δt分别为t 和t+Δt 时刻的风电功率;Pthreshold为功率阈值。 Pt+Δt-Pt>Pthreshold表示发生了上爬坡,Pt+Δt-Pt<-Pthreshold表示发生了下爬坡,具体内容见附录A 图A2。

2 基于CNN 特征提取的风电预测

2.1 基本原理

2.1.1 CNN 基本原理

提取风电信号的深层特征对于风电功率爬坡预测具有非常重大的意义。CNN 可以模仿人类的视觉感知机制,从而有效地提取原始图像的特征。CNN 通常是由卷积层、池化层和全连接层组成。其中,卷积层是CNN 最重要的部分。CNN 将传统神经网络中至少一层的常规矩阵乘法替换为卷积,即CNN 是对传统神经网络的改进。在卷积层中,采用滤波器对输入进行卷积操作,每个滤波器的实质是一个较小的矩阵,在卷积操作之后可得到相应的特征图。CNN 可以自动创建滤波器,并建立稠密、完备的特征向量,被已有研究证实了是提取数据深层特征的一种非常可靠的方法。在同一个卷积层中,除了权值是共享的之外,各个神经元之间没有联系。因此,相对于有相同层数和神经元个数的多层感知机,CNN 的效率更高。每个卷积层都可以用式(2)来表示[20]:

附录A 图A3 为一维卷积运算,输入为x1,x2,…,x6,一 维 卷 积 后 得 到 的 特 征 图 为c1,c2,c3,c4,输入和特征图通过不同颜色的线条连接,相同颜色的线条代表权重是共享的,图中只需要3 个权重值即可执行卷积运算。因为权重的数目相比全连接结构少,CNN 的训练就相对容易,从而可以有效提取重要特征。

本文模型采用了3 个卷积层,每层分别包含4,16,32 个滤波器,故而每层可以分别输出4,16,32 个特征图。

池化层是CNN 的另一个特殊的层,可以通过将网络特定位置的输出替换为附近数据的统计量而保留主要特征,同时减少下一层的参数和计算量,防止过拟合。池化的方法主要包括最大池化和平均池化,最大池化可以得到邻域内的最大值,即可以得到经卷积特征提取后最重要的特征,同时最大池化也对卷积层提取到的数据特征进行了降维,减少后续LSTM 层数据输入个数,有效地减少计算量,所以本文选取了最大池化。

在CNN 中,每个卷积核所对应的卷积层其实就是用于判断输入特征的系统,但是对于要判断特征的系统的运行法则是不清楚的,所以通过误差反向传播的方式不断调整卷积核的参数,使得在训练后调整参数的卷积核能够完成当前卷积层判断输入特征的工作。当所有的单个卷积层都能够有效完成特征判断的任务时,由一定数量卷积层所组成的复杂系统的CNN 就能完成所需的复杂特征的提取。

对于图像识别来说,附近的像素有很强的关联性,同样地,对风电功率时间序列,时间上邻近的功率点也具有很强的相关性。虽然CNN 是一个前馈神经网络,但它的卷积层可以提取附近和相关的输入元素的关系,这样的特点可以用来建立风电的特征提取模型。综上所述,当附近的数据点有很强的相互关系时,CNN 可以捕捉到局部趋势和局部变量的特征,因此可以用来提取附近时段的风电功率的特性,如爬坡特性。

2.1.2 LSTM 网络基本原理

LSTM 网络在循环神经网络的基础上增加了单元状态c,保存长期的状态,成功解决了循环神经网络训练时梯度消失和爆炸的缺陷。

已知输入序列为X =[ x1,x2,…,xT],T 为输入序列的长度。递归隐层按照时刻t=1,2,…,T 依次计算3 个门和记忆单元的激活值。t 时刻的计算式如下[19]。

输入门:

式中:Wix为输入门与输入向量的权重矩阵;Wih为输入门与上一时刻中间状态向量ht-1的权重矩阵;Wic为输入门与上一时刻记忆单元ct-1的权重矩阵;bi为输入门的偏置向量;σ 为Sigmoid 非线性函数。

忘记门:

式中:Wfx,Wfh,Wfc分别为忘记门与xt,ht-1,ct-1的权重矩阵;bf为忘记门的偏置向量。

记忆单元:

式中:Wcx,Wch分别为记忆单元与xt,ht-1的权重矩阵;ϕ 为双曲正切函数;bc为记忆单元偏置向量。

输出门:

式中:Wox,Woh,Woc分别为输出门与xt,ht-1,ct-1的权重矩阵;bo为输出门偏置向量。

隐层输出:

本文采用的LSTM 层包含64 个神经元,输入为32 个向量,输出为64 个向量,激活函数为线性整流函数(rectified linear unit,ReLU),定义如下[20]:

式中:x 为ReLU 的输入变量。

具体的模型参数见附录A 表A1。

2.1.3 AM 基本原理

注意力是一个相似性的量度,当前的输入与目标状态越相似,当前输入的权重就会越大,说明当前的输出越依赖于当前的输入。注意力的本质是加权求和。 假设有m 个d 维的特征向量hi(i=1,2,…,m),整合这k 个特征向量的信息,整合后的向量设为h*(一般也是d 维),一个简单的方法是这k 个向量点乘取平均,得到新的向量,更合理的方法是加权平均,即:

式中:αi为权重。AM 的目的就是得出一个合理的αi。

αi的求取一般分2 个步骤:

1)设计一个打分函数g,针对每个hi(i=1,2,…,k),计算出一个分数si,打分依据是hi与所关注对象的相关程度,越相关所得si值越大。

2)对所得的k 个分数si,通过softmax 函数,得到最后的权重αi,即:

本文采取的AM 通过在LSTM 层和神经元个数为1 的全连接层之间增加节点数和LSTM 层单元数相同的全连接层来构造,即:

式 中:ht为 当 前 时 刻LSTM 层 的 输 出 向 量;Wα为 注意力权重矩阵;bα为注意力偏置向量。

LSTM 层每个神经元的输出对当前网络的输出的重要程度是不同的,网络结构中的AM 负责自动学习注意力权重,可以用来衡量LSTM 层输出对于网络输出的重要程度,即用LSTM 层输出和网络输出作为AM 的输入,进而学习αi关于两者的函数,而通过学习得到的αi可以反映两者的相关性。

2.2 CNN-LSTM-AM 模型

本文提出的CNN-LSTM-AM 模型以风电功率时间序列作为网络的输入。参考自然语言中词向量的表示方法,将某一时刻的风电功率值以单个向量的形式输入,再用滑动时间窗口的方式依次将输入的时间序列数据生成特征图从而进行后续的计算,充分发挥CNN 模型的潜在特征提取优势,从而挖掘数据中蕴含的更多有效信息。

风电爬坡的特征信号容易淹没在大量随机紊乱的数据中,普通模型很难建立从风电数据输入到爬坡识别输出的映射关系,模型的精度必然不高,所以本文通过3 个部分对风电功率的爬坡特性进行提取和加强。

风电功率信号经CNN 识别后提取出的爬坡特征作为LSTM 层的输入,LSTM 层所特有的3 个门和记忆单元可以对CNN 提取到的爬坡特征进行进一步的筛选,使重要的特征通过记忆单元得到保留,不重要的特征通过忘记门进行遗忘,最后通过AM对LSTM 层的输出进行加权,进一步突出重要的特征。

爬坡数据相当于模式突变,发生次数又较少,预测模型无法对其有效学习,必然不能有效判断。若未经CNN 识别,风电数据直接输入LSTM 层,风电爬坡的特征信号容易淹没在大量其他特征中,通过CNN 爬坡特征被清晰准确地提取出来,因而使爬坡识别更为准确。所以,利用CNN 识别是本文方法取得较好识别效果的关键。

由于风电功率较强的随机性,导致多步预测困难且准确性普遍不高,在风电功率实时预测中,下一个采样点的结果是未知的,是否发生长时间功率爬坡无法确定,所以预测选相邻的时间点更为准确。

卷积层特征提取的过程见附录A 图A4。本文主要研究发生爬坡时CNN 对于数据的处理能力,即当数据发生突变时,CNN 所提取到的特征图,所以截取该段数据进行有针对性的说明。图1(a)、(b)和(c)分别是由3 个卷积层处理后得到的数据绘制成的图像,横轴代表按采样时间顺序排列的样本点,样本点之间的时间间隔相同,纵轴代表该时刻归一化的风电功率值。

图1 卷积层输出Fig.1 Output of convolutional layers

由图1 可知,在发生下爬坡事件的样本附近,3 个卷积层输出的特征均发生了突变,其中第1 个卷积层由于滤波器的个数较少,导致提取到的特征不够全面,从而第1,4 个滤波器未提取到特征,第3 个滤波器提取到的特征不准确(图1(a))。通过对16 个滤波器提取到的特征进行对比后发现,在经过第2 个卷积层的特征提取后,基本每个卷积层都能很好地提取到特征(图1(b))。经过第3 个卷积层的特征提取后,虽然在发生爬坡的样本附近提取到的特征也发生了突变,但是输出的特征没有能很好地跟随原始样本的变化趋势,通过图1(b)和(c)的对比发现,原始数据在样本区间[210,230]是下降趋势,图1(b)整体也呈下降趋势,但图1(c)中除了发生突变的位置外,数据的趋势较为平稳,说明3 个卷积层足够可以捕捉发生爬坡时风电的特性。

综上所述,当附近的数据点有很强的相互关系时,CNN 可以捕捉到局部趋势和局部变量的特征,因此可以用来提取附近时段的风电功率爬坡特性。

由附录A 图A5 可以看出,假设当前的输出为yt,通过训练的方式,让模型自动学习重要的值,可以算出每一个输入(即由LSTM 单元组成的隐藏层的输出)与当前输出yt的关联度,比较重要的输入会通过较大的权重α 得到加强,在风电功率爬坡预测输出时会占较大的比重,同时不重要的会被减弱,从而在一定程度上提高了预测的准确性。

图2 所示为AM 的部分权重,通过对所有权重进行比较,可以得到大部分样本点第63 个权重最大,说明LSTM 的第63 个神经元的输出最为重要,也就是说,网络输出和LSTM 层的第63 个神经元输出关联度最大。

图2 注意力层权重Fig.2 Weights of attention layer

用全连接层构造AM,将LSTM 层的输出作为AM 层的输入,计算权重,将权重与LSTM 层的输出相乘得到最后全连接层的输入,最终经过全连接层输出结果。

综上所述,本文首先对原始的风电功率序列进行了深层特征提取。池化层的输出作为LSTM 层的输入,LSTM 层的输出作为AM 层的输入,通过训练得到AM 层的权重后,与LSTM 层的输出相乘,为LSTM 层的输出分配权重。梯度下降法作为优化函数,通过全连接层得到输出,进而得到预测结果。模型具体结构见附录A 图A6。图中n 为每次输入模型的风电功率时间序列长度,Pt-n为t-n 时刻的风电功率数值。

3 仿真研究

为验证模型的科学性和可靠性,本文采用了ELIA 网站[27]和NREL 网站的风电功率数据作为数据集。式(1)中,Pthreshold取3%的装机容量,用ELIA数据验证时,Δt 取15 min,用NREL 数据验证时,Δt取5 min。

本文采用Python 作为编程语言,编译环境为JetBrains PyCharm 2018,RAM 为4 GB,处理器为Intel Core i5-8250U。

3.1 模型预测性能评估

选取4 个季度,每个季度2 000 个样本对模型进行测验,50%作为训练集,50%作为测试集。

本次采用min-max 标准化将原始数据进行线性变换,将数据大小约束在[0,1]。为了测试模型的预测效果,选取了3 个标准,分别为平均绝对百分比误差(mean absolute percentage error,MAPE)、平均绝对误差(mean absolute error,MAE)、均方根 误差(root mean square error,RMSE)[16]。

根据表1 中ELIA 预测结果,4 个季度中反向传播 神 经 网 络[28](back propagation neural network,BPNN)、埃尔曼神经网络(Elman neural network,ENN)的 预 测MAPE 都 大 于CNN-LSTM-AM 模型,RMSE 和MAE 结论相同,且本文模型4 个季度模型预测MAPE 均在6%以下。其中,ENN 4 个季度的预测MAPE 超过了10%,说明ENN 在风电预测方面的精确度低,且CNN,LSTM,AM 单独预测时的MAPE 均大于组合模型,从而说明了本文模型预测风电功率有很好的精度。

根 据附录A 表A2 中NREL 预测结果,4 个季度CNN-LSTM-AM 模型的MAPE 均在其余对比模型之下,且低于6%,AM 除了第1 季度外,其余季度MAPE 均在10%以上,ENN 第2 季度MAPE 甚至超过了20%,进一步说明了本文所提出模型在风电功率预测方面有良好的精度。

表1 ELIA 不同方法预测误差对比Table 1 Forecast erorr comparison of ELIA between different algorithms

3.2 模型爬坡预测性能评估

本文选取了4 个季度验证模型对爬坡的提取能力,并与BPNN,ENN,CNN,LSTM 以及包含AM的神经网络的爬坡预测能力作对比,正确率、漏报率、误报率以及错报率[29]见表2。从表2 中可以看到本文模型的错报率均小于等于0.1%,对比模型的错报率大部分都在0.1%之上,且模型的漏报率均在2%以下,误报率均在5%以下。和单个模型的爬坡预测相比,CNN-LSTM-AM 模型有效减少了单个模型爬坡预测的错报率,且第3 季度和第4 季度的准确率均有所提升,其中第4 季度相比CNN,LSTM,AM 爬坡预测正确率分别提升了8.2%,5.7%,5.6%。综合表1 和表2 可以看出,虽然第1,2 季度CNN-LSTM-AM 模型爬坡预测正确率有所下降,但第1 季度最大下降不超过3.6%,第2 季度不超过1%,而且对于点预测的误差,CNN-LSTM-AM 模型4 个季度的MAPE 均小于单个模型点预测的MAPE,所以从综合的角度来看,CNN-LSTM-AM组合模型的性能优于单个模型的性能。

表2 ELIA 不同算法爬坡指标对比Table 2 Ramp indices comparison of ELIA between different algorithms

从附录A 表A3 中可以看到,4 个季度中CNNLSTM-AM 的准确率比BPNN,ENN 都高,且错报率均在2% 以下,BPNN 的错报率最高达到了7.4%。和单个模型的爬坡预测指标相比,CNNLSTM-AM 模型减少了单个模型的错报率,其中,和LSTM,AM 相比,4 个季度的漏报率均有所下降。

从附录A 表A4 可以看到加入CNN 后,由于CNN 的权重共享以及最大池化,CNN-LSTM-AM模型的运行速度明显高于LSTM 模型的运行速度。表A4 运行的时间包含了窗口提取、归一化的数据预处理的时间。一般来说,离线训练后,在线上进行预测,风电调度周期一般为2 h,实时调度的时间尺度为5~15 min[30],在仅计入预测时间的情况下,最长的预测时间不超过0.5 s,因而预测的速度完全可以满足风电场的调度管理。

采用CNN 正向计算一次所花费的时间可代表模型特征提取的效率。从附录A 表A5 可以看到在不计数据导入和归一化的时间的情况下,CNN 正向运行一次的时间均小于0.1 s,计入数据导入和归一化时间的情况下,运行时间不超过0.2 s,说明模型提取特征的效率较高。

从以上分析可以看出,本文所提预测方法的爬坡预测性能指标较对比方法均有改善,从而表明了所提出模型在风电功率爬坡事件预测方面的可行性和有效性。

选取第4 季度ELIA 数据进行对比。功率预测对比见附录A 图A7,爬坡指标对比见附录A 图A8。节选350 个数据对各个爬坡指标进行分析。图A8(a)表示实际的爬坡,向上的箭头表示上爬坡,向下的箭头表示下爬坡,图A8(b)、(c)和(d)分别代表CNN-LSTM-AM,BPNN 和ENN 的爬坡预测。可以看到在前350 个样本点中,CNN-LSTM-AM 模型仅有5 个误判点,而BPNN 和ENN 的误判点分别达到 了18 个 和21 个,明 显 高 于CNN-LSTM-AM 模型,且3 个模型均无错判。在样本区间[150,200]内,原始风电功率数据较为平缓,但BPNN 和ENN的爬坡预测变化较为剧烈,因而发生了较多次的误判,导致误判率升高,而本文模型的预测输出相对平缓,因而误判次数低,从而说明本文模型有很好的爬坡预测能力。

4 结语

本文首先用CNN 对风电功率信号进行深层特征提取,很好地捕捉了风电功率的爬坡事件。然后,加入了LSTM 网络解决风电功率的长时依赖问题。最后,加入AM 对LSTM 层的输出进行加权处理,加强了网络输出的重要部分,使得模型对爬坡预测的准确性得到进一步的提升。本文中所提出的模型很好地学习了风电功率的深层特性,对处理波动性较强的风电功率序列有较好的效果。

本文仅对模型的正向传播过程进行分析并提取了中间过程,未结合风电信号本身的特性对反向传播的优化算法进行改进,并且仅采用了风电功率数据进行预测。未来的研究可以引入反向优化算法和多变量预测,从而进一步提高模型对风电爬坡的预测能力。

附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。

猜你喜欢

爬坡电功率特征提取
基于PCC-CNN-GRU的短期风电功率预测
陕西农民收入:一路爬坡过坎
轻松上手电功率
你会计算电功率吗
爬坡过坎
解读电功率
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
我国防腐木进口又现平稳“爬坡”
爬坡过坎战犹酣——河南安阳大气污染防治侧记