一种用于风电功率预测的双存储结构LSTM模型

2019-05-22 09:27应稼田程良伦林锦发
无线互联科技 2019年5期
关键词:神经网络

应稼田 程良伦 林锦发

摘 要:文章针对风力发电特有的间歇性和不稳定性等特性,提出一种双存储神经元的长短时记忆(LSTM)模型(Du-LSTM)用于风电功率预测。通过建立双存储神经元结构的LSTM模型,对周期性较强和突变性较强的风电功率分别采用不同神经元建模,有效解决受天气剧烈变化影响下的风电功率预测精度较低的问题。实验结果表明,预测误差相对LSTM模型从10.4%下降到7.0%,改进后的Du-LSTM神经网络模型在预测精度和拟合度上优于原始LSTM网络模型。

关键词:风电功率;神经网络;趋势预测

风力发电是一种清洁安全的能源,技术相对成熟,是具有大规模开发的可再生能源技术之一。然而风是随机的、不可控的,这就导致风力发电具有不稳定性,若能实现风电功率高精度预测,就能准确掌握风电变化趋势,有利于消除风电对电网的不良影响,使其在电力市场具有更强的竞争力[1]。研究基于历史数据的风电高精度预测对我国风电行业具有重要意义,已经成为相关研究人员研究重点[2]。

风电功率预测方法主要有以下几种:基于数值天气预报系统的物理模型预测方法,统计预测方法和空间相关性方法[3],卡尔曼滤波法[4],遗传算法与预测模型结合的预测方法[5-6]。随着人工智能发展,神经网络在风电功率预测中应用最为广泛[7-8]。其中,长短时记忆网络模型(Long Short-Term Memory,LSTM)神经网络模型由于其可以记忆更长远的历史时间信息,在风电功率预测上表现更好。

针对风力具有季节性和波动性的特征,本文构建双存储神经元的长短时记忆神经网络模型(DU-LSTM),长时记忆单元存储长期历史风力数据进行训练,风力出现短时大幅波动时将其存储在短时记忆单元进行训练。可以解决受天气剧烈变化影响下风电功率变化大,导致预测精度较低的问题。最终提高了双存储神经元LSTM模型的短期风电功率预测精度。

1 LSTM模型相关理论

LSTM是一种递归神经网络(Recurrent Neural Network,RNN)的特殊类型,可以学习长期依赖的信息[9-10]。尽管标准RNN模型能够有效地处理非线性时间序列,但是主要存在两个问题:一是由于梯度消失和梯度爆炸问题,RNN不能处理延迟过长的时间序列;二是训练RNN模型需要预先确定延迟窗口长度,然而实际应用中很难自动地获取这一参数的最优值。LSTM模型改变了RNN的细胞模型,使之具有长期记忆能力。LSTM模型结果包含一组相互联系的递归子网络,被称为记忆模块。每个记忆模块包含一个或多个自相关的记忆信元和3个增值单元。它的前向算法可以表示为:

其中:i,f,c,o分别表示输入门、遗忘门、细胞状态、输出门,W和b分别为对应的权重系数矩阵和偏置项,σ为sigmoid函数。

LSTM模型的前向传播算法(Forward Propagation)跟反向传播算法(Back Propagation,BP)神经网络的并无本质不同,而其训练过程采用的基于时间的反向传播算法(Back Propagation Through Time,BPTT)是经典BP的简单变体,其目的也是从最后一步时间向前传递累积的残差,其计算过程为:

(1)按照前向传播算法(公式(1)—公式(5))计算LSTM模型中cell的输出值。

(2)反向计算每个cell的误差项,包括时间和网络层两个反向传播方向。

(3)根据误差,计算相应权重的梯度。

(4)应用基于梯度的优化算法更新权重。

2 双存储LSTM模型实现

2.1 双存储LSTM神经元

为了解决不同天气因素情况下,长期时间因素和短时时间因素对风电功率预测不同程度的影响,本文提出了一种长时记忆单元和短时记忆单元相结合的双存储LSTM神经元,定义变量ηt,用于判断风电功率训练所用的LSTM神经元记忆单元。它们有不同的时间步长。对于时间t+1步的风电功率预测,长时记忆单元的时间步长为起始时间到t时刻。相对应的,短时记忆单元捕捉短周期内的风电功率变化趋势,其时间步长为预测时间点t之前的最短时间步长ω,即从t-ω+1到t时刻。这种双存储结构的LSTM神经元模型如图1所示。其中h为LSTM层输出,x为观测特征,y为风电功率。

基于双存储神经元的LSTM模型,需要定义两组细胞,{ct(l)}和{ct(s)},分别记录长时记忆单元信息和短时记忆单元信息。c(l)和c(s)有独立的LSTM权重参数,即对于长时记忆单元和短时记忆单元来说,它们的细胞状态,遗忘门和输入门分别有其各自对应的权重矩阵,分别记为θ(l)={Wc(l),Wf(l),Wi(l)}和θ(s)={Wc(s),Wf(s),Wi(s)},但是它们的输出门的权重矩阵Wo是共用的。在LSTM模型的训练阶段,参数θ(l)和θ(s)分别为长时记忆单元与短时记忆单元中的样本数据训练所得。在本文中,通过变量ηt来确定隐藏层输出ht所属记忆单元。ηt通过所观测特征{P1,P2,Pn}计算所得。某些时间点的风电功率表现为季风特性,趋向于长期的风电功率变化特性,而对于某些时间点的风电功率表现为受短時极端天气影响,则趋向于短期的大幅波动变化。长时记忆单元和短时记忆单元的选择过程可以表示为:

当ηt大于0.5时,LSTM神经元的细胞为长时记忆单元;当ηt小于等于0.5时,LSTM神经元的细胞为短时记忆单元。

在已经设计好的双存储LSTM模型上,结合Adam算法计算LSTM模型各个参数的自适应学习率。流程如图2所示。

2.2 网络训练

网络训练主要是以隐藏层为研究对象。首先在LSTM神经网络输入层中,定义原始的风电功率时间序列为Po={P1,P2,…,P3},将其划分为训练集Ptrain={P1,P2,…,Pm}和测试集Ptest={Pm+1,Pm+2,…,Pm+3}。接着对训练集和测试集中的所有元素p进行标准化。

设定时间步长为L,对训练集进行切割,切割后的模型输入为:

公式(9)中的Cn-1和Hn-1为前一个LSTM神经元的状态和输出,可由公式(1)到公式(5)求得。对于训练过程中的损失函数,采用均方根误差作为误差计算公式,训练的目标是使得损失函数最小化。

2.3 网络预测

将训练完成的模型用于预测。预测采用迭代的过程,首先将LSTM训练模型的最终输出结果Yt={pm-L+1',pm-L+2',pm}作为输入,输入到训练完成的LSTM模型(记为LSTMtrain),得到m+1时刻的预测值为pm+1。删除Yt中第一个时间点的值pm-L+1,将pm+1与Yt合并为新的数据集。以此类推,可以得到最终的预测结果为:Yp={pm+1,pm+2,…,pn}。

得到预测结果后,对Yp进行反标准化,得到与测试集Ptest对应的预测序列Ytest={p*m+1,p*m+2,…,p*n}。

总的来说,Du-LSTM模型的训练及预测过程如下。

步骤1 设置LSTM模型参数。包括输入层维度,输出层维度,LSTM层神经元个数,初始学习率。

步骤2 数据集切割与标准化处理。LSTM模型所用激励函数为sigmoid函数,其值域为[0,1],对数据集进行标准化处理。将数据集划分为训练集与训练标签。

步骤3 构建双存储LSTM网络模型,即Du-LSTM网络模型。每个LSTM神经元包括长时记忆单元与短时记忆单元两个存储块,具体结构如图1所示。

步骤4 利用构建好的LSTM模型对数据进行训练,采用Adam算法对LSTM所有参数自适应其学习率。

步骤5 确定预测时间范围,逐点预测风电功率。

3 实验及结果分析

3.1 数据选取

为验证所建立的预测模型的有效性,本文采用Global Energy Forecasting Competition 2012-Wind Forecasting的风电场数据为样本进行风电功率预测。时间跨度为2010年1月1日到2012年6月28日。时间分辨率为1小时。所采集数据包括实际风电功率和风机监测系统采集的纬度方向风分量,经度方向风分量,风速和风向等。以单台的异步风力发电机组为例,对该风电机组的短期风电功率进行预测。为了预测短期的风电机组输出功率,将前一小时的风电机组输出功率、后一小时的风速、风向、纬度方向风分量和经度方向风分量作为网络训练的输入。

对于风电功率预测模型中输入的训练特征风速、风电功率等,它们的量纲不一样,数量级也不相同,因此,首先对训练数据进行标准化处理,将训练数据映射到[0,1],当使用训练好的模型进行预测时,将预测所得的风电功率进行反标准化,则可得到真实数据。

风速是一个变化趋势明显的非线性函数,对风电机组的发电功率影响最大。风速的变化呈现出一定的周期性,同时存在波动较大的特点。

设置LSTM模型的参数为:隐藏层数为2,每一层的神经元个数为10,初始学习率为0.001,最大迭代次数1 000次;两层的Dropout层,Dropout层神经元丢弃率为0.2;一层池化层,激励函数为relu函数。

3.2 方法评估及误差分析

在实际建模过程中,选取了2012年6月27日到2012年6月28日作为预测时间段,预测这两天内48小时中每小时的风电功率。为了评价本文提出的Du-LSTM算法的预测效果,将通过上述的训练样本分别用Du-LSTM,LSTM和XGBoost(Extreme Gradient Boosting)模型训练,并用同样测试集预测检验。XGBoost最初是由Tianqi Chen提出,所应用的算法就是GBDT(Gradient Boost Decision Tree),近年来在kaggle等各大数据挖掘竞赛展示了强大的能力,有两个以上的团队采用XGBoost算法获得最终冠军。图3是本文方法的预测结果。

由图3可以看出,本文提出的Du-LSTM模型不仅能很好地逼近风电功率时间序列,同时也能迅速趋近风电功率变化趋势。

为了判定模型预测结果的有效性,采用绝对平均误差,均方根误差RMSE和相对系数R-square作为模型预测的评价指标。其中绝对平均误差MMAPE和RMSE用来评估模型预测结果的准确性,而相对系数R-square是通过数据的变化来表征一个拟合的好坏。“确定系数”的正常取值范围为[0,1],越接近1,表明模型的解释能力越强,这个模型对数据拟合得也较好。

为进一步验证预测模型的有效性,分别利用原始LSTM和XGBoost建立风电功率预测模型。其中原始LSTM和XGBoost的模型参数初始学习率,迭代次数与Du-LSTM的对应参数保持一致,采用与Du-LSTM相同的训练样本和测试样本数据,同样计算对应的绝对平均误差、RMSE和R-square。图4是各个方法每个时间点的绝对平均误差对比图。绝对平均误差、RMSE和R-square的對比如表1所示。

由图4和表1可得,Du-LSTM在绝对平均误差、RMSE和R-square 3种指标上的表现均优于原始LSTM和XGBoost,说明其在预测精度和模型拟合度上表现都是最好的。尤其是相对于原始LSTM,绝对平均误差从19.40%下降到12.90%,RMSE从10.40%下降到7.04%,R-square从85.04%提升到93.20%。提升效果较为明显。

4 结语

本文在LSTM模型基础上,提出了双存储神经元结构LSTM模型对风电功率趋势进行预测,可以很好地预测未来风电功率值。

通过将Adam算法与LSTM模型结合,改变单一学习率更新网络模型参数为自适应学习率更新网络模型参数。

在相同的数据条件下,Du-LSTM的双存储神经元结构能够更好地处理长期与短期训练特征,使之预测结果相对LSTM模型预测精度更高,拟合度更好。在绝对平均误差,RMSE和R-square上均有提升。但是在运算的速度上,本文的算法相对较慢,主要原因是两层的LSTM模型训练过程时间复杂度更高。

对于其他预测算法,其他数据,本文提出算法是否同样具有优越性还有待进一步深入研究。

[参考文献]

[1]郑婷婷,王海霞,李卫东.风电预测技术及其性能评价综述[J].南方电网技术,2013(2):104-109.

[2]谷興凯,范高锋,王晓蓉,等.风电功率预测技术综述[J].电网技术,2007(S2):335-338.

[3]安学利,蒋东翔.风力发电机组运行状态的混沌特性识别及其趋势预测[J].电力自动化设备,2010(3):15-19.

[4]潘迪夫,刘辉,李燕飞.基于时间序列分析和卡尔曼滤波算法的风电场风速预测优化模型[J].电网技术,2008(7):82-86.

[5]周洪煜,曾济贫,王照阳,等.基于混沌DNA遗传算法与PSO组合优化的RNN短期风电功率预测[J].电力系统保护与控制,2013(2):144-149.

[6]杨洪,古世甫,崔明东,等.基于遗传优化的最小二乘支持向量机风电场风速短期预测[J].电力系统保护与控制,2011(11):44-48.

[7]张颖超,王雅晨,邓华,等.基于IAFSA-BPNN的短期风电功率预测[J].电力系统保护与控制,2017(7):58-63.

[8]范高锋,王伟胜,刘纯,等.基于人工神经网络的风电功率预测[J].中国电机工程学报,2008(34):118-123.

[9]HAO X,DU Q H,REYNOLDS M.SS-LSTM: a hierarchical lstm model for pedestrian trajectory prediction[C].Lake Placid:IEEE Winter Conference on Applications of Computer Vision,IEEE Computer Society,2018:1186-1194.

[10]KUMAR V,KUMAR V,KUMAR V,et al.Incremental dual-memory lstm in land cover prediction[C].Chicago:ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,ACM,2017:867-876.

猜你喜欢
神经网络
基于递归模糊神经网络的风电平滑控制策略
BP神经网络在路标识别上的应用研究
神经网络抑制无线通信干扰探究
基于Alexnet神经网络的物体识别研究
基于BP神经网络的旋转血泵生理控制
基于神经网络MRAS的速度辨识仿真研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源