APP下载

基于小波变换和LSTM的短期风速预测研究

2021-11-17王耀庆孙建平

计算机仿真 2021年2期
关键词:风速预测模型

王耀庆,孙建平,李 冰,曹 弘

(华北电力大学(保定)自动化系,河北 保定 071003)

1 引言

随着环境污染的日益加剧和化石燃料的消耗,风能作为一种可再生能源,具有低碳排放、节约燃料成本、不污染环境等优点,受到了世界各国的高度重视,成为了发展最快的新能源[1]。随着风电向电网的不断渗透,风力发电的比重持续上升,风电对电力安全、稳定和经济的影响日益明显。风速预测在电力系统、风电场和电力市场中发挥着越来越重要的作用[2]。

风速预测主要有两种方法:物理方法和统计方法[3]。统计方法以历史数据为基础,可以获得可靠的短期风速预测结果[4]。风速预测在统计方法方上主要有三种方法:线性预测法、非线性预测法和混合预测法[5]。线性预测法主要采用自回归(AR)模型、自回归滑动平均(ARMA)模型和自回归积分滑动平均(ARIMA)模型,这类模型具有性能水平高、鲁棒性和可靠性好等优点[6]。非线性预测方法方面,提出了人工神经网络(ANNs)、支持向量机(SVMs)和卡尔曼滤波(KFs)等方法来处理非线性风速预测问题,并取得了很好的效果。在风速变化的过程中,随机性因素增加了准确风速预测的复杂性和难度[7]。单一的预测方法难以满足风速预测的精度要求,而混合预测方法是一种很好的选择,它可以捕捉风速序列的不同特征,提高预测精度,增加预测可靠性。

2 WT-LSTM-ARMA模型

2.1 混合模型的提出

由于受温度、湿度、气压、空气密度等因素的影响,风速预测比较困难。为了实现准确的风速预测,预测模型必须能够捕捉风速序列的各种特征。小波变换可以将原始风速序列分解为一组子序列,利用分解序列进行风速预测可以比用原始序列直接预测更准确[8]。同时,单一模型不能够完全反映小波分解后各个子序列的信息,如果用单一模型直接预测子序列,预测精度可能不高。然而,混合模型可以利用各个模型的相应特征,从分解的风速序列中提取特征信息,具有较好的预测性能。在混合模型中,各子序列预测模型的选择尤为重要。LSTM网络的优点是可以消除输入之间的长时间滞后,克服RNN中的梯度消失问题,适用于非线性预测[9]。ARMA模型具有良好的性能和鲁棒性,在平稳时间序列的预测上有很好的效果[7]。因此,提出了一种将小波变换、LSTM网络和ARMA模型相结合的新型混合模型来进行短期风速预测。利用该混合模型,可以直接提取隐藏在风速序列中的不同特征。

提出的短期风速预测混合模型可解释如下:

1)利用小波变换将原始风速序列分解为低频子序列和高频子序列;

2)采用LSTM网络预测低频子序列,采用ARMA模型预测高频子序列;

3)所有子序列预测完成后,将各子序列的预测结果汇总得到最终的风速预测结果。

2.2 小波变换

小波变换能有效地提取信号的特征信息,并解决傅里叶变换无法解决的许多难题,有利于提高风速预测的精度[10]。本文采用多分辨率小波算法对风速序列进行分解和重构,预测经过分解和重构后的序列可以降低预测误差。

基于Mallat算法,将原始风速序列S分解为低频近似序列AJ和不同频率的高频细节序列D1,D2,…,DJ,J为最大分解层数,原理如下

(1)

其中aj和dj分别表示原始信号在分辨率为2-j处的低频信息和高频信息。H是低通数字滤波器,G是高通数字滤波器,j是分解层数。

由于分解过程基于二进制采样,与分解前的数据相比,每个子序列的信号减少了一半。因此,重构过程需使用插值算法来恢复信号长度。重构序列定义如下

(2)

其中H*和G*分别是H和G的对偶算子[11]。

对aJ、d1,d2,…,dJ进行重构,得到近似序列AJ和细节序列D1,D2,…,DJ,S序列如下:

S=D1+D2+…+DJ+AJ

(3)

母小波和分解层数对预测性能有显著影响[12]。在本研究中,Daubechies3被认为是最合适的母小波,同时本研究采用3层分解,即J=3。

2.3 LSTM

传统的神经网络在使用随时间反向传播(BPTT)的训练算法更新权值时存在梯度消失的问题,为了解决这一问题,提出了LSTM网络[13]。LSTM网络采用记忆单元代替RNN中的隐含层神经元,来获得过去的记忆信息,解决了长期依赖问题[14]。图1为LSTM网络记忆单元的结构,一个记忆单元主要由四部分组成:输入门i、遗忘门f、输出门o和自连接记忆细胞C。记忆单元用于保存t时刻的状态信息,利用矩阵乘法控制记忆单元的输入、输出和遗忘状态[15]。

图1 LSTM网络记忆单元的结构

在LSTM网络中,xt是LSTM在t时刻的输入,ht是记忆单元的输出,计算过程不再详述。

图2为LSTM网络的展开结构,预测输出如下

(4)

其中Wyh为ht的降维矩阵。

图2 LSTM网络的展开结构

本研究采用均方误差(MSE)损失函数和有效自适应矩估计(ADAM)优化算法对LSTM网络进行训练。为了训练网络,输入特征向量xt在t时刻输入到网络中。LSTM单元接收前一时刻(t-1)的反馈ht-1,以捕获当前状态下的时间依赖关系。网络训练的目标是最小化均方误差目标函数f:

(5)

在训练过程中,将一批训练数据输入网络,使用ADAM优化算法对网络权值和偏差进行迭代更新,完成一个训练周期。一旦LSTM网络适用于训练数据集,就可以使用LSTM进行预测。

2.4 ARMA

ARMA是一种功能强大的预测方法,可以捕捉风速序列的趋势并预测未来值[16]。ARMA(p, q)模型由AR(p)和MA(q)两部分组成,模型如下

(6)

其中yt为时间序列;φ1,φ2,…,φp为自回归系数,θ1,θ2,…,θq为滑动平均系数,ut为误差。

一般采用Akaike Information Criterion(AIC)来确定模型的最优顺序[17],AIC的定义如下

(7)

对于不同的p和q,得到AIC的值,AIC值最低的模型被认为是最好的模型。确定了模型的最优顺序后,利用反函数估计各参数的值。

ARMA的分析过程如图3所示。

图3 ARMA的分析过程

3 实验验证与结果分析

3.1 滑动窗口预测

由于风速是时变的,新的输入-输出数据在风速预测模型中会不断得到[18]。在风速预测过程中,为了使模型能实时准确地预测当前时刻的风速值,需要用到最新的风速数据来描述模型,而与当前时刻相关性较小的旧数据在建模中所占的比重应降低或忽略。因此,对所提出的预测模型采用滑动窗口的训练方法,即训练序列持续滚动以获得最新的风速特性。图4为多步风速预测模型的窗口滑动过程。

图4 滑动窗口预测

实验采用600个风速数据值,前500个作为训练集,后100个作为验证集。由图4可知:本文的预测模型采用3步预测,在验证数据之前,训练集总是包含500个数据值。

3.2 风速序列

从河北省某风电厂采集了一组风速序列,图5为原始风速序列和其经过WT之后的结果。

图5 原始风速序列和WT之后的结果

由图5可知,A3为保持原始风速实际趋势的低频近似分量,D3-D1为反映随机扰动影响的高频细节分量。经过Augmented Dickey-Fuller检验可知,A3是非平稳的,而D3-D1是平稳的。

3.3 算法设置

为了验证WT-LSTM-ARMA模型的预测性能,采用其它预测模型对风电厂采集的原始风速数据预测并对预测结果进行了对比实验。比较模型如下:ARIMA模型、BP模型、Elman模型、LSTM模型、WT-ARIMA-ARMA模型、WT-BP-ARMA模型和WT-Elman-ARMA模型。对于单一模型,利用原始风速序列直接训练并预测。对于混合模型,三个高频细节分量D3-D1使用独立的ARMA模型,并由AIC确定ARMA模型的最优顺序。低频近似分量A3分别使用ARIMA模型、BP模型、Elman模型和LSTM模型。

为了建立模型,必须知道输入数量、隐含层数量和隐含层神经元的数量等参数。输入数量由模型阶次决定,使用偏自相关函数(PACF)来确定模型阶次。隐含层神经元的数量是调节和控制网络表征能力的重要参数[19],本研究采用基于网格搜索的交叉验证法对神经元数量进行优化,图6为LSTM网络的网格搜索结果。表1给出了不同模型的结构和通过实验确定的初始参数。

图6 网格搜索的LSTM神经元的最佳数目

表1 不同模型的结构和初始参数

ARIMA的参数经PACF确定初步范围,再经AIC、AICC和BIC准则最终确定为(1,1,1)。BP网络、Elman网络和LSTM网络的隐含层数为1,隐含层神经元数分别为4个、6个和8个。

3.4 精度评价指标

为了评价所提出的预测模型的性能,在预测实验中使用了以下评价指标:MAE(平均绝对误差)、RMSE(均方根误差)和R2(决定系数)[20]。

(8)

(9)

(10)

3.5 预测结果与对比分析

图7-9为风速序列采用不同预测模型的1步、2步和3步预测结果。表2根据结果给出了相应的误差评估。

图7 风速序列的1步预测结果

图8 风速序列的2步预测结果

图9 风速序列的3步预测结果

由图7-9和表2可知:在1-3步预测中,所提出的WT-LSTM-ARMA模型在8种预测模型中,误差评价指标最小,决定系数最大且接近1,预测精度最高,预测性能最好。

表2 风速序列预测结果的误差评估

4 结论

为了提高风速预测精度,本文提出了一种新型混合预测模型,该模型融合了WT、LSTM网络和ARMA技术。为了验证所提出的预测模型的性能,将其应用于河北省某风电厂的风速预测,并与单一预测模型和混合预测模型进行了比较。实验结果表明,该预测模型是一种有效可行的短期风速预测模型。

所提出的预测模型具有较好的预测性能,其原因主要有以下三个方面。首先,利用小波变换将原始风速序列分解为低频近似子序列和高频细节子序列。对各个子序列分别进行预测,消除了各分量之间的干扰。其次,采用LSTM网络对低频子序列进行预测。与RNN网络相比,LSTM网络具有较强的长序列理解能力,克服了梯度消失问题。因此,LSTM网络具有较强的非线性处理能力,非常适合风速预测。最后,采用高性能、鲁棒性好的ARMA模型对高频子序列进行预测,同时利用AIC确定了ARMA模型的最优顺序。

猜你喜欢

风速预测模型
适用于BDS-3 PPP的随机模型
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
自制空间站模型
2006—2016年平凉市风速变化特征分析
原州区近30年风的气候变化特征分析
模型小览(二)
风速概率分布对风电齿轮