1. 引言
风能作为一种应对造成温室效应等诸多影响人类正常生产生活秩序问题的一种清洁能源,越来越广泛地应用在了我们的日常生活之中。但由于受到气温等相关其他因素的影响,导致风速具有不稳定的特点 [1] ,这将对风电机组和电网的持续稳定运行带来威胁。风速预测可以让风电场的管理者根据风速的变化情况对风电设备做出适当的调整,因此,较为准确的风速预测对风力发电的并网运行极为重要。
风速的预测可按其预测的时间的长短划分为超短期、短期和中长期 [2] 。超短期风速预测 [3] 是指时间间隔在半小时以内,其在一定时间内风速的波动比较大,一般被用于检测飓风。中长期风速预测 [4] [5] 通常指时间间隔在4小时以上的预测,被用来预测数星期到数月不等的风速序列,风电场管理者依据中长期预测的结果来检修风电机组的运行状态。短期风速预测 [6] 是指时间间隔在半小时至4小时,预测的时间长度从几天到数星期不等,通常依据短期风速预测的结果来调整风电机组的各项指标来提高风能的发电量。与长期风速预测相比,目前短期风速预测的平均误差较大 [7] 。因此短期风速预测对于风能的利用非常关键 [8] 。
物理方法、统计方法和机器学习方法 [9] 是目前风速预测常用的方法。物理方法 [10] 由于需要捕获气象因素,而部分气象因素的获取存在成本过高以及条件受限的问题,也无法找出风速序列之间复杂的关系。统计方法克服了物理方法的不足,在统计方法中常见的有时间序列方法 [11] 、自回归滑动平均(ARMA) [12] 、差分整合移动平均自回归模型(ARIMA) [13] 等,但统计方法往往对于线性关系的处理比较优异,而风速序列的非线性特征使得统计方法的预测效果往往达不到人们的预期。当前国内主要使用机器学习的相关方法来拟合短期风速预测当中实际数据和原始数据的非线性特征,主要有反向传播神经网络 [14] 、支持向量机 [15] 、卡尔曼滤波法 [16] 等,机器学习方法可以提取风速的非线性特征,对于提升风速的预测精度有比较大的帮助。
鉴于此,本文利用长短时记忆神经网络(LSTM)模型对风速序列进行预测,针对预测序列中的局部极值点的预测误差较大的问题,提出极值优化模型。
2. 长短时记忆神经网络LSTM
上图1展示的是传统神经网络的结构图,每一层的连接当中都有一个权值
,且与前后层的所有神经元都建立有连接,这样的网络为全连接神经网络。图1当中,当输入向量
进入输入层后,将依次进入隐藏层,最终由输出层得到输出向量
。网络训练过程中,隐藏层不可见,且同一层的神经元之间也不存在任何连接 [17] [18] 。
传统的神经网络多数时候在处理时间序列问题却差强人意,这是由于时序问题当中当前时刻的输出与该时刻的输入和上一时刻的输出都相关。为了解决这一问题,在传统神经网络结构中添加循环层,形成循环神经网络(Recurrent Neural Networks, RNN)。RNN在处理长期依赖性的时间序列数据时有较好的效果。近年来,循环神经网络在语音识别、机器翻译等方面有着广泛的应用 [19] 。
Figure 2. Structure of recurrent neural network
图2. 循环神经网络结构
典型的RNN结构如上图2所示。
图2右半部分是左半部分的展开。
是输入层的输入向量,
是循环层的循环向量,
是输出层的输出向量。
为从输入层到循环层权重矩阵,
为从循环层到输出层权重矩阵,
代表从上一个循环层到下一个循环层的权重矩阵。通过图2不难看出,循环神经网络的输出
不仅与当前时刻的输入相关,还与上一循环层
有关。
由于RNN训练时采用通过反向时间传播进行计算,在梯度下降的算法中,每一步的输出不仅与当前步有关,还与之前若干步相关,这就导致随着时间步的增加,通过反向时间传播将带来梯度消失的问题(The Vanishing Gradient Problem) [20] 。
为了解决循环神经网络所存在的这些问题,Hochreiter & Schmidhuber提出了长短时记忆神经网络(LSTM)模型 [21] 。LSTM简图如下图3所示。
由上图3可以看出,LSTM模型在RNN的循环层增加一个记忆单元
,让
来储存之前较长时刻的记忆,以此解决RNN对较短时刻内的输入比较敏感而对较长时刻的输入无法记忆的情况。将LSTM的循环层展开如图4所示。
由上图4可以看出,LSTM的循环层在时刻共有3个输入,为:
时刻的输入
、
时刻循环层的输出
和
时刻记忆单元的输出
。而在循环层的输出方面,
时刻LSTM的循环层的输出共有2个,分别为
时刻的循环层的输出
和
时刻记忆单元的输出
。通过记忆单元
可帮助LSTM模型实现长期记忆。近年来,长短时记忆神经网络也常被用于行为识别的领域,LSTM在金融领域的时间序列的预测研究也受到一些学者的关注。
3. 极值优化模型
长期记忆单元
使得LSTM模型具有对长期数据进行记忆的能力,因而在处理短期风速数据时占有优势。但由于风速的随机性,在风速变化的极值点处,LSTM的预测曲线往往不能较好地拟合实际数据,如下图5上半部分所示,蓝色线条表示实际值,红色线条表示预测值。
部分极值误差较大的点如下图6所示。图6中,(a)、(b)、(c)分别代表测试集中第190、300和303个数据的预测误差,分别为2.24929、2.20511和−1.74652。极值点处误差偏大不仅会增大整体模型的预测误差,同时会严重影响极值点处风速值对人民生活防御工作的指导效果。鉴于此,本文针对LSTM风速预测序列极值点进行修正,以达到降低预测误差的效果。
Figure 5. Comparison of LSTM observation value update networks
图5. LSTM观测值更新网络对比
(a) (b) (c)
Figure 6. Extreme points with large errors
图6. 部分误差较大的极值点
根据图5极值点处预测值与观测值之间的数量关系,极值优化过程分为下面两个步骤:
第一步:寻找风速预测曲线当中的局部极值点。
局部极值点包括局部极大值点和局部极小值点。假设曲线当中相邻的3个点
,其中
表示已经经过极值优化的上一时刻的点,
分别表示当前时刻和下一时刻未进行极值优化的点。若
、
,则
为局部极大值点;若
、
,则
为局部极小值点。局部极值点需要进行极值优化,反之若不是极值点,直接输出LSTM模型预测数据即可。
第二步:局部极值点的极值优化。
设
为局部极大值点,若
,则对
这个点进行算术平均:
(1)
若
为局部极大值点,但
,此时如果如公式(1)对进行极值优化,将会导致
这个点的相对误差比不进行极值优化的误差更大。对于这种情况的局部极大值点,无需进行极值优化,直接输出LSTM预测值即可。
(2)
设为局部极小值点,若
,则对
这个点进行几何平均:
(3)
若
为局部极小值点,但
,此时如果像公式(2)对
进行极值优化,将会导致
这个点的相对误差比不进行极值优化的误差更大。对于这种情况的局部极小值点,无需进行极值优化,如公式(2)直接输出LSTM预测值即可。
极值优化流程图如下图7所示。
Figure 7. Extreme value optimization flowchart
图7. 极值优化流程图
4. 利用基于极值优化的LSTM模型进行风速预测
4.1. 数据来源
本文选取青海省德令哈市某点位在2022年11月1日0时至2022年12月30日0时的连续风速序列,数据来源为羲和能源大数据平台(https://www.xihe-energy.com),原始数据采样的时间间隔为1小时,共1417条数据。根据序列的时间顺序,选择1417条数据中的前70%即992条数据为训练集,后30%为测试集。原始风速序列见下图8所示。
4.2. 创建LSTM网络进行预测
本文选用的训练集数据的均值为2.8283,方差为1.6660。为了使最终LSTM网络训练收敛以及得到更好的拟合结果,在进行训练之前首先需将数据转化为零均值单位方差的标准化数据。
同时为得到更好的运行结果,可在初始学习率相同的情况下,选择RMSE最小时的最大迭代次数与最小衰落因子来训练网络。此时选择最大迭代次数为600,学习率衰落因子为0.4,可使LSTM网络达到较优状态。LSTM网络训练进度如下图9所示。
然后使用训练好的模型对后30%即425条数据进行预测,使用观测值来更新LSTM网络。结果如上图5所示。
此时均方根误差RMSE = 0.69541。通过观察图5不难看出,LSTM网络对风速预测的效果比较理想,但在一些尖峰点仍然存在预测值与实际值差别过大的情况。
4.3. 利用极值优化模型对极值点进行修正
为了解决LSTM在局部极值点的预测值与实际值差别较大的情况,需要对局部极值点进行极值修正。采用前面第3节所述的极值优化方法,对相关局部极值点进行极值优化。经过极值优化后的预测值与实际值的对比如下图10所示。
图11为本文数据使用参考文献 [22] 中极值优化方法的结果,结合LSTM预测结果,三者均方根误差RMSE如下表1所示。
为了更加直观地表现出极值优化模型在极值点的预测精度提升,本文将测试集中第190、300和303个数据经极值优化前后的预测误差进行对比,如下表2所示。
Figure 9. LSTM network training progress
图9. LSTM网络训练进度
Figure 10. Comparison of predicted curve and actual curve after extreme value optimization
图10. 极值优化后预测曲线与实际曲线对比
通过表1、表2不难发现,本文提出的基于极值优化的LSTM短期风速预测模型相较于单纯的使用LSTM,其结果有显著提升。
5. 结论
本文鉴于物理方法和统计方法在处理非线性的风速数据所存在的局限,提出使用长短时记忆神经
Figure 11. Calculation results of extreme value optimization in reference [22]
图11. 参考文献 [22] 极值优化部分计算结果
Table 1. Comparison of root mean square errors
表1. 均方根误差对比
Table 2. Comparison of errors at major extreme values
表2. 部分极值误差较大点误差对比
网络LSTM来预测风速序列,而LSTM预测的风速序列在测试集又存在部分局部极值点的误差偏大的情况。鉴于此,本文构建了一种极值优化模型对极值点进行极值优化修正。数据表明,本文提出的极值优化模型相比于 [22] 有效提高了预测精度,进而降低了LSTM风速预测序列的误差。但本文所使用的方法对于局部极大值点处预测值比真实值小和局部极小值点处预测值比真实值大的情况还无法进行优化,对此可进行更加深入的研究。
基金项目
国家自然科学基金资助项目(11861026, 11901068)。
NOTES
*通讯作者。