APP下载

基于EEMD-CNN-GRU的短期风向预测

2023-10-26史加荣

南京信息工程大学学报 2023年5期
关键词:风向风力分量

0 引言

近年来,不可再生能源日益匮乏.除了积极提高能源效率外,从自然界中直接获得的可再生能源引起了许多学者的关注.风能、太阳能和潮汐能等均已被用于电力转换[1],因此可再生发电的部署是低碳经济的关键推动力[2].由于对风力发电的需求不断增长,加上社会、环境以及经济因素的制约,使得目前风力涡轮和风电场规模增加[3].风向变化是影响风力涡轮机运行最重要的环境因素之一,风向预测可用于设计最佳偏航控制的风力涡轮机.受台风、复杂地形以及上游风力发电机产生尾流等因素的影响,风力发电的来风方向总是在变化,导致每个风力涡轮机的进入风向也不同.针对风向变化,大型风力涡轮机对偏航控制系统采用不同的控制策略[4].动态偏航过程是由连续的静态偏航过程形成的,因此对静态偏航的研究是动态偏航的基础.国内外学者对静态偏航风力发电机的空气动力学性质进行了许多研究,通过对风向角度的研究可知:当风速不变时,短时间内的风向变化导致迎面风速降低,风力涡轮机转子速度也随之降低.

目前,国内外学者针对短期风向的预测做了大量的研究并提出了很多方法.在风向预测方面,建立混合模型来寻找最优预测方法是比较常见的研究策略,例如:唐振浩等[5]提出一种基于数据解析的混合风向预测算法;Sari等[6]基于3DCNN和深度卷积LSTM提出短期风速和风向预测方法;Chitsazan等[7]基于非线性函数的回波状态网络来预测风向.

风向数据具有随机性、不确定性等特点[8].为提高风向测量的准确性,本文提出了一种基于EEMD-CNN-GRU的混合预测模型.此模型先运用集合经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)算法对原始风向序列进行分解,得到更能反映风向序列变化特性的多个分量,以降低不平稳性和间歇性;其次使用卷积神经网络(Convolutional Neural Network,CNN)提取潜在特征,使得各分量简单化;最后利用门控循环单元网络(Gated Recurrent Unit,GRU)拟合输入数据,输出各分量的预测值,通过叠加得到最终的风向预测值.

1 EEMD-CNN-GRU混合模型

1.1 EEMD模型

EEMD本质上是叠加高斯白噪声的多重经验模态分解(EMD)[9].

它先利用频率分布均匀的高斯白噪声的统计特性,通过每次添加的白噪声来改变信号的极值点特征,然后对多个EMD得到的对应的基本模态分量(IMF)进行整体平均,以抵消加入的白噪声,从而有效抑制模态混叠的产生.记加入噪声的总次数为N,EEMD的步骤如下:

1) 对原始信号x(t)加一个标准正态分布的白噪声ni(t):

xi(t)=x(t)+ni(t),

(1)

其中,ni(t)表示第i次加入的白噪声序列,xi(t)表示第i次实验的附加噪声信号.

2) 对新的信号序列xi(t)执行EMD,得到J个模态分量和1个残差分量:

(2)

其中,IMF′j和ei(t)分别为xi(t)由EMD产生的第j个模态分量以及残差分量,ei(t)代表信号的平均趋势.

3) 将步骤1)和2)重复N次,得到IMF的集合为

{c1,j(t),c2,j(t),…,cN,j(t)},j=1,2,…,J.

(3)

4) 根据不相关序列的统计平均值为零这一原则,将上述对应的IMF进行集合平均运算,得到EEMD的最终分量,即:

(4)

其中,cj(t)是EEMD的第j个IMF.

1.2 CNN模型

作为一类包含卷积计算的前馈神经网络,CNN是深度学习的代表性算法之一[10].人工神经元可以响应周围单元,进行大型数据处理,它通过数据的转换以及降维将原始输入映射为新的特征.与标准的全连接网络不同的是,CNN具有特殊的网络结构,它包括卷积层和池化层组成的特征提取器,利用局部连接和权值共享来提取原始数据的特征,使得网络模型变得简单,从而加快训练速度、提高泛化性能.在CNN网络中卷积层之后会跟上一个池化层,其作用是提取局部均值或最大值,一般常见的多为最大值池化层[11].

本文选用一维卷积神经网络,将风向建模为一系列时间序列数据.CNN通过减少权值输入提取时序序列特征,挖掘数据之间的联系,再将处理后的特征传入GRU网络中.

一维卷积经常用在信号处理中,以计算信号的延迟累计.假设在每个时刻t都会产生一个信号pt,其衰减系数为wk,即在k-1个时间延迟后为原来的wk倍.在时刻t收到的信号qt为当前信息和以往信息产生的累加和,计算公式如下:

qt=w1pt+w2pt-1+…+wkpt-k+1.

(5)

一般把w1,w2,w3,…称为滤波器或者卷积核.假设滤波器的长度为K,它与一个信号序列p1,p2,p3,… 的卷积和为

(6)

1.3 GRU网络

GRU是LSTM网络的一种变体[12],其结构更加简单,而且效果也很好.因此,GRU是目前非常流行的一种网络,可以解决循环神经网络(RNN)中的长依赖问题,广泛应用于时间序列的预测.

GRU与LSTM具有相似的数据流[13],但GRU缺少单独的存储单元,使其在训练过程中效率更高.LSTM引入了输入门、遗忘门和输出门三个门函数,分别控制输入值、记忆值和输出值.而在GRU模型中只有两个门:更新门和重置门,其具体结构如图1所示.在图1中,zt和rt分别表示更新门和重置门.GRU的输入为前一时刻隐藏层的输出和当前的输入,输出为下一时刻隐藏层的信息.重置门计算候选隐藏层的输出,其作用是控制保留前一时刻的隐藏层的数量.更新门是控制加入特定数量候选隐藏层的输出信息,从而得到当前隐藏层的输出.

图1 GRU网络基本单元Fig.1 Basic unit of GRU network

Sigmoid函数将数据映射到0~1,用来描述应该传递信息的数量,tanh函数将值置于-1和1之间.GRU单元的计算公式如下:

rt=σ(Wr·[ht-1,xt]),

(7)

zt=σ(Wz·[ht-1,xt]),

(8)

(9)

(10)

yt=σ(Wσ·ht),

(11)

其中,[]表示两个向量相连,*表示矩阵的Hadamard积,σ为Sigmoid函数.

1.4 短期风向预测的EEMD-CNN-GRU混合模型

考虑到预测效率和准确率等要求,提出一种基于EEMD-CNN-GRU的混合短期风向预测模型.采用集合经验模态分解(EEMD)将数据分解为有限个基本模态分量和1个残差分量.卷积神经网络(CNN)具有特征提取能力,挖掘特征向量,从而提升预测性能.门控循环单元网络(GRU)可以学习序列相关性,通过CNN和GRU的结合得到风向的预测值.

所建立的混合预测模型的流程如下:首先将具有时序特征的数据集作为混合模型的输入;然后对原始风向数据进行归一化处理,并划分出训练集和测试集;最后采用所提出的混合模型进行预测,如图2所示.混合模型的网络结构主要分为3层:第1层为EEMD,它对原始数据进行分解,提高输入序列的平滑性和可信度;第2层为CNN,通过构造一维卷积层和池化层来提取特征;第3层是GRU,发挥其结构简单、参数较少的优势[14],提高训练速度、缩短训练时间以及预测时间,从而保证混合模型预测的快速性以及准确性.因此,本文提出的EEMD-CNN-GRU混合模型采用EEMD对数据集进行分解优化,并结合CNN预测时间短与GRU预测准确性高的特点,优化改进风向的预测.

图2 基于EEMD-CNN-GRU的短期风向预测流程Fig.2 Flow chart of short-term wind direction prediction via EEMD-CNN-GRU

2 实例分析与结果展示

2.1 数据来源与分析

选用土耳其2018年4月的风电场数据进行短期风向预测,采样间隔为10 min,共4 305条数据,得到的风向时间序列如图3所示.其中,前2/3的数据作为训练集,后1/3的数据作为测试集,用前1 h风向数据来预测下一时刻的风向,实现风向的滚动预测.为了便于模型训练,在CNN-GRU前对数据进行归一化处理,计算方式如下所示:

图3 风向时间序列Fig.3 Time series of wind direction

(12)

其中,u为原始的数据,umin为最小值,umax为最大值.

由图3可以看出,风向数据具有随机性、不连续性和非平稳性,并发现该风向数据不仅周期性差,而且含有大量的高频分量等,因此需要对所选风向序列进行数据预处理.

2.2 误差评价指标

预测结果的误差评价采用均方根误差(Root Mean Squared Error,RMSE)、绝对平均误差(Mean Absolute Error,MAE)和决定系数(R-square,R2),公式如下:

(13)

(14)

(15)

2.3 EEMD风向数据分解

对风向数据集进行EEMD,分解成12个IMF和1个残差(Res),结果如图4所示.IMF反映风向数据在不同影响因素下的分布,数据逐渐趋于平稳,Res能够反映风向序列的变化规律,并且整体的变化趋势比较一致[15].

图4 EEMD的结果Fig.4 Results of EEMD

EEMD将风向数据进行平稳化处理,各个IMF分量包含了原始序列的不同时间尺度的局部特征信号,使用GRU模型对各分量特征进行单独预测,从而降低预测难度.

2.4 CNN和GRU网络设置

将EEMD分解后的数据分别输入CNN-GRU模型进行训练,设置循环步长为6,即用前6个时刻的数据预测当前数据.CNN的卷积层个数为32,各层都有卷积核,使用BN层对每个神经元做归一化处理,池化窗口的大小为1,激活函数为ReLU.GRU的神经元个数分别为128和32,选用ReLU作为激活函数,Adam作为优化器,迭代轮数为100.

2.5 实验结果及对比

分别使用BP神经网络、LSTM、GRU、CNN-GRU、EMD-GRU、EEMD-GRU、VMD-CNN-GRU、EMD-CNN-GRU、EEMD-CNN-LSTM、EEMD-CNN-GRU进行仿真实验,其中VMD是变分模态分解[16].对各网络模型进行参数调优,使用相同的训练集进行训练,并选取同样的测试集来预测风向,计算其RMSE、MAE以及R2,结果如表1所示.通过观察表1,可以得到如下结论:选用模型的R2都大于0.77,表明这10种模型都是有效的,且EEMD-CNN-GRU的RMSE、MAE和R2表现优异.

表1 不同模型预测结果对比

为了更好地对比预测结果与原始数据的拟合程度,对EEMD-GRU、VMD-CNN-GRU、EMD-CNN-GRU、EEMD-CNN-LSTM、EEMD-CNN-GRU在同一数据集绘制风向预测曲线,结果如图5所示.为了更直观地对比预测结果,将局部曲线进行了放大处理.从图5可以明显地看出:EEMD-GRU在峰值区域出现大幅偏差,而其他4种模型则能够较好地接近真实曲线.此外,EEMD-CNN-GRU模型的预测结果不仅在峰值区域与真实值更吻合,在其他区域与实际变化曲线也比较贴近.其主要原因是风向序列的非平稳性导致GRU对原始序列的变化趋势不能很好地预测,而加入EEMD进行分解重构,并用CNN进行转换及降维,就可以大大缓解此问题,使得模型的预测精度更高.

图5 不同模型的风向预测曲线Fig.5 Wind direction curves predicted by different models

在表1中,EEMD-CNN-LSTM与EEMD-CNN-GRU的预测性能接近,且显著优于其他模型.下面比较这两种模型在预测阶段的运行时间,结果如表2所示.从表2可以看出,所提出混合模型的预测时间大约是EEMD-CNN-LSTM的68%,即EEMD-CNN-GRU具有较短的计算时间.

3 结论

为了更好地预测短期风向,本文提出了一种基于EEMD-CNN-GRU的混合风向预测模型.经实验验证,得到以下结论.

1) 对风向序列使用EEMD,得到更能反映风向序列变化特性的多个模态分量和残差分量,从而降低风向的不平稳性、间歇性和非线性对预测结果的不利影响.

2) 引进CNN-GRU混合预测模型,先使用CNN提取潜在特征,使数据简单化,再利用GRU时序依赖的特性,对输入数据进行拟合,直接输出各分量的预测值,最终通过叠加得到风向预测值.相比于其他的分解预测方法,所提模型降低了预测难度;与EEMD-CNN-LSTM相比,EEMD-CNN-GRU缩短了预测时间.

3) 所提混合模型结合了EEMD、CNN和GRU各自的特点.实验结果表明,相比于其他预测模型,EEMD-CNN-GRU的风向短期预测精度较高,验证了模型的可行性以及一定的优越性,为后续风力发电中风向的预测问题提供了一种新的方法.

猜你喜欢

风向风力分量
走进风力发电
帽子的分量
一物千斤
论《哈姆雷特》中良心的分量
分量
自然与风Feeling Nature
大型风力发电设备润滑概要
行业统计带来哪些风向?
风向
风向