1. 引言
风电作为一种典型的可再生能源,其绿色无污染的性质受到了国内外的广泛研究。风力发电已经成为至关重要的产业。但风能的不稳定性对电网的可靠性构成了挑战,准确的风电功率预测不仅有助于提高电网的稳定性,还能优化风电场的运营策略。本文旨在开发一种结合统计方法和深度学习模型的混合预测模型,以提升风电功率预测的准确性和鲁棒性[1]。
2. 文献综述
风电功率预测方法主要包括统计模型、机器学习模型和深度学习模型三大类[2]。统计模型如自回归积分滑动平均模型(ARIMA)因其简单性和解释性广泛使用,但在处理复杂非线性数据时表现不足。
相对而言,深度学习模型中的循环神经网络及其变体,即循环神经网络(RNN) [3]、长短期记忆网络(LSTM) [4]和门控循环单元(GRU)能够有效处理序列数据中的非线性特征,尤其在处理带有时序性的数据时表现出色。双向门控循环单元(GRU)是对门控循环单元(GRU)的改进,其双向结构允许模型同时考虑过去和未来的信息,使其在预测精度上具有优势,但对数据量和计算资源的需求较高。
为了弥补各自的不足,混合模型应运而生,结合了统计模型的线性特性和神经网络模型的非线性处理能力[5]。因此,将ARIMA与双向GRU相结合,可以充分发挥ARIMA在捕捉数据线性模式上的优势,同时利用双向GRU处理数据中的复杂非线性模式,达到更为准确的预测效果。本文采用的混合模型包括两个主要部分:ARIMA模型和双向GRU模型。首先,利用ARIMA模型对历史风速数据进行建模,并计算残差,然后将残差与风速数据一同输入双向GRU模型,以预测未来的发电功率。
本文混合模型ARIMA-双向GRU的创新性如下:
新颖的组合和集成方法:与传统的单一模型(如ARIMA或LSTM)相比,本模型将不同类型的模型组合。统计方法ARIMA的优势在于捕捉数据线性趋势,而相比于常规的RNN及其变体,双向GRU采用了更复杂双向神经网络结构,可以使模型同时考虑过去和未来的信息,以更好地捕捉时间序列数据的线性和非线性特征。
更加合理的模型集成方法:常规的模型混合方式是将两个模型的预测结果进行加权组合得到最终的预测结果。这种方法简单易用,但权重需要进行反复调整和优化,这带来了更多的不确定性和主观性。而本文将建模过程分解为两个阶段(线性建模 + 残差非线性建模),从而更深入地对时间序列中的不同成分进行解析和校正。相比于常规的简单加权的方式,本研究在应对复杂数据结构时可能会更有效。
优化的训练策略和超参数调优:使用更高效的训练算法和优化策略。具体来说,使用ReduceLROnPlateau学习率调度器,用于在训练神经网络时动态调整学习率,可以在模型的性能(如验证损失)停滞或变差时,自动减小学习率,从而帮助模型在收敛速度和性能上取得更优效果。
3. 数据集描述
本研究使用的数据集来源于某内陆风电场的一台风机,数据集的时间范围从2014年10月7日0时到2015年10月7日0时,包含了风速(风速单位:m/s)和风电功率(功率单位:kW)的逐小时数据。在数据处理过程中,发现部分数据存在缺失值和异常值。为确保数据的完整性和准确性,我们采用了插值法对缺失值进行处理,并对异常值进行了修正。具体来说,使用四分位数检测异常值,再对异常值和缺失值先使用移动平均法进行初步填补,然后应用线性插值法进一步处理剩余的缺失数据。数据的归一化处理将所有特征缩放至[0, 1]范围,以提高后续模型的收敛速度和预测效果。风速和风电功率时序图如图1,相关性如图2。
4. 方法论
4.1. 数据预处理
首先对数据进行预处理,预处理过程对模型效果的影响体现在数据的稳定性和收敛速度上。本研究数据预处理包括缺失值处理、异常值处理和特征变量归一化。具体步骤如下,该策略流程图如图3:
1) 缺失值处理:使用移动平均法和线性插值法填补数据中的缺失值。移动平均法的窗口大小设置为24小时,以捕捉风速和功率的短期波动。线性插值法则用于进一步处理剩余缺失值,确保数据的连续性。
2) 异常值处理:使用四分位距,并通过设置合理的阈值识别异常值,并按照缺失值的步骤进行修正。
3) 特征归一化:将风速和功率数据归一化至[0, 1]范围,归一化有助于防止特征间差异过大,影响模型的训练过程,提高模型的训练效果。
Figure 1. Correlation between wind speed and wind power
图1. 风速和风电功率相关性
Figure 2. Wind speed and wind power timing diagram
图2. 风速和风电功率时序图
Figure 3. Data preprocessing process
图3. 数据预处理流程
4.1.1. 移动平均法
为填补时间序列数据中的缺失值,首先使用移动平均法进行初步处理。给定一个窗口大小n,对每个时间点t的缺失值
,计算前n个时间点的平均值
作为替代值,其公式如下:
表示在时间点t的移动平均值。
表示时间点的实际观测值。
n表示移动平均的窗口大小。
4.1.2. 线性插值法
对于仍存在缺失值的数据点,我们进一步应用线性插值法,以时间点t前后的已知数据点
和
进行插值,填补缺失值
。线性插值法的公式如下:
其中:
4.1.3. 四分位距(IQR异常值检测方法)
(1) 计算第一四分位数(Q1)和第三四分位数(Q3):
(2) 计算四分位距(IQR):
(3) 确定异常值范围:
(4) 识别异常值:任何数据点x满足x < 下限或x > 上限即为异常值。
4.1.4. 最小–最大归一化
最小–最大归一化(Min-Max Normalization)将数据线性变换到指定的范围[0, 1]。归一化后的数据集
由下式定义:
其中:
是数据集中第t个样本的值。
是数据集中所有样本的最小值。
是数据集中所有样本的最大值。
是归一化后的第t个样本的值。
4.2. ARIMA模型
ARIMA模型是时间序列分析中的经典模型,用于捕捉数据中的线性趋势和季节性变化[6]。
(1) ARIMA模型的公式表示如下:
其中:
(2) 残差计算
ARIMA模型拟合后,残差
的计算公式为:
其中,
是通过差分后的实际时间序列值,而
是根据ARIMA模型预测的值。
(3) 数据序列创建
将时间序列和ARIMA模型的残差合并,生成双向GRU模型的输入数据。序列生成公式为:
其中,每个时间步长t的输入
包括归一化后的原始时间序列
和对应残差
。
4.3. 双向GRU
双向GRU (Gated Recurrent Unit)模型通过捕捉时间序列数据的前向和后向依赖关系来进行预测[7]。其前向GRU和后向GRU的计算公式分别如下:
在时间步t的正向GRU计算公式为:
其中:
是时间步t的输入,包括风速、功率以及残差。
是时间步
的隐状态。
是更新门,控制当前隐状态
和前一隐状态
的权重。
是重置门,决定如何将过去的信息结合到候选隐状态
中。
是候选隐状态。
表示逐元素相乘操作。
、
、
和
、
、
是权重矩阵和偏置。
反向GRU层从时间序列的终点到起点进行计算,公式与正向GRU类似,但使用不同的权重和偏置:
公式中的符号与正向GRU类似,但
表示时间步
的隐状态,权重和偏置使用
上标表示反向GRU的参数。
在得到前向和后向隐状态后,通过全连接层计算最终的预测值:
其中:
4.4. ARIMA与双向GRU的混合模型
首先,ARIMA模型通过捕捉时间序列的线性特征生成初步预测和残差,再将这些残差与原始序列一同输入到双向GRU模型中,利用其捕捉非线性特征的能力进行进一步的修正和预测。这样,ARIMA处理数据的线性部分,而双向GRU则解决数据中的非线性关系,二者结合形成了一个具有更强预测能力的混合模型。模型工作流程如图4所示。
Figure 4. Model workflow
图4. 模型工作流程
4.5. 评价指标
在评价模型性能时,我们采用了均方误差(MSE)、平均绝对误差(MAE)和决定系数(R2)作为评估指标。这些指标共同帮助衡量模型的不同方面性能,从而提供全面的评价依据。
其中,
为实际值,
为预测值,n为样本数量。
其中符号的含义同MSE公式。
其中符号的含义同MSE公式。
其中,
为实际值的平均值,其他符号的含义同MSE公式。
4.6. 对比模型
为了评估混合模型的性能,本文选取了几种对比模型:
(1) 单一ARIMA模型:仅使用ARIMA进行预测。它作为传统的统计模型在时间序列分析中广泛应用,能提供一个良好的基准性能,用来与更复杂的深度学习模型进行对比[8]。同时本文的混合模型是ARIMA-双向GRU,选用单一ARIMA模型进行对比可以体现混合模型的优势。
(2) 单一双向GRU模型:仅使用双向GRU的神经网络模型。同时本文的混合模型是ARIMA-双向GRU,选用单一双向GRU模型进行对比可以体现混合模型的优势。
(3) ARIMA-GRU混合模型:将ARIMA与传统的单一GRU进行混合,通过对比评估指标体现双向结构的信息捕捉优势。
5. 实验设计与结果分析
5.1. 实验设置
我们将数据集划分为训练集(2014年10月7日0时~2015年1月1日0时)、验证集(2015年1月1日0时~2015年7月1日0时)、测试集(2015年7月1日0时~2015年10月7日0时)。在训练过程中,对ARIMA-双向GRU模型的参数进行了调优,以达到最佳的预测性能。ARIMA模型的阶数为(5, 1, 0)。
双向GRU模型的训练采用均方误差(MSE)作为损失函数,并使用Adam优化器进行参数更新[9]。同时,为了提高训练效率,使用了ReduceLROnPlateau学习率调度器,当验证损失在10个周期内未得到改善时,自动减少学习率。此外,为避免过拟合,模型设置了提前停止策略,当验证损失在连续20个周期内未降低时,停止训练。
模型的评估指标包括均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。图5为本文混合模型ARIMA-双向GRU的训练、验证和测试集的损失,图6为测试集预测结果与真实值对比。
双向GRU模型的相关参数如表1。
Table 1. Related parameters of the bidirectional GRU model
表1. 双向GRU模型的相关参数
参数及超参数 |
值 |
输入维度 |
3 (风速、功率、残差) |
隐藏层维度 |
64 |
层数 |
3 |
输出维度 |
1 (功率预测值) |
学习率 |
0.0001 |
训练周期 |
1000 |
Figure 5. Losses of training, validation, and test sets
图5. 训练、验证和测试集的损失
Figure 6. Comparison of test set prediction results and true values
图6. 测试集预测结果与真实值对比
5.2. 与其他模型对比
表2展示了本文模型和对比模型在测试集上的预测结果。根据实验结果,混合模型在所有评估指标上均优于单一模型。ARIMA模型有效捕捉了数据中的线性趋势,但在处理非线性模式时残差较大。双向GRU模型则擅长捕捉这些非线性模式,但在长时间趋势的捕捉上不如ARIMA。具体而言,混合模型的MSE为0.0167,RMSE为0.1291,MAE为0.0945,R2为0.8983。而单一ARIMA模型和单一的双向GRU模型的相应指标分别为0.1199、0.3463、0.3147、0.6301和0.0151、0.1228、0.0868、0.8172。这表明,混合模型能同时捕捉数据中的线性和非线性特征,比单一模型预测效果更好。通过结合两种模型,混合模型实现了更低的RMSE和更高的R2值,表明其整体拟合度和预测准确性更好。相比于ARIMA-GRU混合模型,在各个指标上也具有明显优势。
Table 2. Comparison results of multiple models
表2. 多个模型对比结果
模型 |
MSE |
RMSE |
MAE |
R² |
ARIMA + 双向GRU |
0.0167 |
0.1291 |
0.0945 |
0.8983 |
ARIMA |
0.1199 |
0.3463 |
0.3147 |
0.6301 |
双向GRU |
0.0151 |
0.1228 |
0.0868 |
0.8172 |
ARIMA + GRU |
0.0381 |
0.1952 |
0.1534 |
0.6782 |
5.3. 结果分析
从实验结果可以看出,混合模型能够充分利用ARIMA模型对线性特征的建模能力和双向GRU模型对非线性特征的建模能力,从而获得更准确的预测结果。
具体来说,在数据的线性趋势和周期性特征显著的情况下,ARIMA模型能够提供较为合理的预测,因为它专注于线性趋势建模。但当数据具有复杂的非线性特征和长短期依赖时,ARIMA模型的能力远远不够。而混合模型ARIMA-双向GRU表现最佳,是因为它能够利用双向GRU来捕捉非线性模式,并利用ARIMA捕捉线性趋势。ARIMA-GRU虽然结合了ARIMA和GRU的特性,能够在一定程度上捕捉数据中的线性和非线性特征,但GRU的建模能力不如双向GRU,因为它仅利用了单向的时间序列信息,相比于双向GRU,其对序列的理解和信息捕捉能力有所欠缺。因此,虽然ARIMA-GRU在一定程度上提升了预测性能,但仍不及ARIMA-双向GRU的表现。
6. 讨论
在风电功率预测中,ARIMA-双向GRU模型各自有其优势和不足。ARIMA模型适用于具有明显线性趋势和季节性的时间序列数据,而双向GRU模型能够处理复杂的非线性关系。在实际应用中,混合模型的表现优于单一模型,特别是在数据具有复杂非线性模式时。未来的研究可以考虑引入更多的深度学习模型,如Transformer,进一步提升预测性能,或者考虑更好的模型融合方式。另外,未来将会增加对时序数据预测的不确定性研究[10]。
7. 结论
本文提出了一种ARIMA-双向GRU混合模型的风电功率预测方法。通过对比多个模型的实验结果,本研究的混合模型在预测准确性和稳定性方面优于单一模型。该方法能够有效结合线性和非线性特征,为风电功率预测提供了一种新的思路和方法。未来的研究可以在现有模型的基础上进一步探索更多的混合模型策略,以应对更复杂的预测任务。
NOTES
*通讯作者。