基于ARIMA-双向GRU混合模型的风电功率点值预测
Point Value Prediction of Wind Power Based on ARIMA-Bidirectional GRU Hybrid Model
DOI: 10.12677/pm.2024.149331, PDF, HTML, XML,   
作者: 苗 萌, 刘莹莹, 陈钧君, 王仲平*:兰州交通大学数理学院,甘肃 兰州
关键词: 风速预测混合模型ARIMA双向GRUWind Speed Prediction Mixed Model ARIMA Bidirectional GRU
摘要: 为了提高风电预测的有效性,本文探讨了一种自回归积分滑动平均模型–双向门控循环单元(ARIMA-双向GRU)混合模型用于预测未来风电功率。本研究使用的数据集来自某内陆风电场的一台风机,包含一年的逐小时风速和功率数据。对比了该混合模型与单独使用ARIMA、GRU及其他混合模型的预测效果,以评估所提方法的有效性。实验结果表明,ARIMA-双向GRU混合模型在多个评估指标上表现优于单一的统计模型和深度学习模型,具有更高的预测准确性和稳定性。
Abstract: In order to improve the efficiency of wind power forecasting, this paper discusses an autoregressive integrated moving average model and bidirectional gated cycle unit (ARIMA-Bidirectional GRU) hybrid model for predicting future wind power. The data set used in this study is from a wind turbine at an inland wind farm and contains a year’s worth of hourly wind speed and power data. The prediction effect of the proposed model was compared with that of ARIMA, GRU and other hybrid models alone to evaluate the effectiveness of the proposed method. The experimental results show that the ARMIA-Bidirectional GRU hybrid model outperforms the single statistical model and the deep learning model on multiple evaluation indicators, and has higher prediction accuracy and stability.
文章引用:苗萌, 刘莹莹, 陈钧君, 王仲平. 基于ARIMA-双向GRU混合模型的风电功率点值预测[J]. 理论数学, 2024, 14(9): 105-115. https://doi.org/10.12677/pm.2024.149331

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的缺失值 X t ,计算前n个时间点的平均值 M A t 作为替代值,其公式如下:

M A t = 1 n i=0 n1 X ti

  • M A t 表示在时间点t的移动平均值。

  • X ti 表示时间点的实际观测值。

  • n表示移动平均的窗口大小。

4.1.2. 线性插值法

对于仍存在缺失值的数据点,我们进一步应用线性插值法,以时间点t前后的已知数据点 X t 1 X t 2 进行插值,填补缺失值 X t 。线性插值法的公式如下:

X ^ t = X t 1 + X t 2 X t 1 t 2 t 1 ×( t t 1 )

其中:

  • X ^ t 表示时间点t的插值结果。

  • X t 1 X t 2 分别表示时间点 t 1 t 2 的已知观测值。

  • t表示插值的目标时间点,且 t 1 <t< t 2

4.1.3. 四分位距(IQR异常值检测方法)

(1) 计算第一四分位数(Q1)和第三四分位数(Q3):

Q 1 =25%

Q 3 =75%

(2) 计算四分位距(IQR):

IQR= Q 3 Q 1

(3) 确定异常值范围:

= Q 1 1.5×IQR

= Q 3 +1.5×IQR

(4) 识别异常值:任何数据点x满足x < 下限或x > 上限即为异常值。

4.1.4. 最小–最大归一化

最小–最大归一化(Min-Max Normalization)将数据线性变换到指定的范围[0, 1]。归一化后的数据集 X 由下式定义:

X t = X ^ t X min X max X min

其中:

  • X ^ t 是数据集中第t个样本的值。

  • X min 是数据集中所有样本的最小值。

  • X max 是数据集中所有样本的最大值。

  • X t 是归一化后的第t个样本的值。

4.2. ARIMA模型

ARIMA模型是时间序列分析中的经典模型,用于捕捉数据中的线性趋势和季节性变化[6]

(1) ARIMA模型的公式表示如下:

φ( B ) ( 1B ) d X t =θ( B ) ε t

其中:

  • X t 是时间点t的归一化观测值。

  • φ( B ) 是自回归多项式。 θ( B ) 是移动平均多项式。

  • 1 ( B ) d 是差分操作符,表示对数据进行d次差分以实现平稳性。

  • B是滞后算子。

  • ε t 是白噪声误差项。

(2) 残差计算

ARIMA模型拟合后,残差 e t 的计算公式为:

e t = X t X ^ t

其中, X t 是通过差分后的实际时间序列值,而 X ^ t 是根据ARIMA模型预测的值。

(3) 数据序列创建

将时间序列和ARIMA模型的残差合并,生成双向GRU模型的输入数据。序列生成公式为:

x={ [ X t , e t ],[ X t+1 , e t+1 ],,[ X t+n1 , e t+n1 ] }

其中,每个时间步长t的输入 x t 包括归一化后的原始时间序列 X t 和对应残差 e t

4.3. 双向GRU

双向GRU (Gated Recurrent Unit)模型通过捕捉时间序列数据的前向和后向依赖关系来进行预测[7]。其前向GRU和后向GRU的计算公式分别如下:

在时间步t的正向GRU计算公式为:

z t =σ( W z [ h t1 , x t ]+ b z )

r t =σ( W r [ h t1 , x t ]+ b r )

h ˜ t =tanh( W h [ r t h t1 , x t ]+ b h )

h t =( 1 z t ) h t1 + z t h ˜ t

其中:

  • x t 是时间步t的输入,包括风速、功率以及残差。

  • h t1 是时间步 t1 的隐状态。

  • z t 是更新门,控制当前隐状态 h t 和前一隐状态 h t1 的权重。

  • r t 是重置门,决定如何将过去的信息结合到候选隐状态 h ˜ t 中。

  • h ˜ t 是候选隐状态。

  • 表示逐元素相乘操作。

  • W z W r W h b z b r b h 是权重矩阵和偏置。

反向GRU层从时间序列的终点到起点进行计算,公式与正向GRU类似,但使用不同的权重和偏置:

z t =σ( W z [ h t+1 , x t ]+ b z )

r t =σ( W r [ h t+1 , x t ]+ b r )

h ˜ t =tanh( W h [ r t h t+1 , x t ]+ b h )

h t =( 1 z t ) h t+1 + z t h ˜ t

公式中的符号与正向GRU类似,但 h t+1 表示时间步 t+1 的隐状态,权重和偏置使用 上标表示反向GRU的参数。

在得到前向和后向隐状态后,通过全连接层计算最终的预测值:

y ^ t = W o [ h t , h t ]+ b o

其中:

  • y ^ t 是时间点t的预测值。

  • W o b o 分别为输出层的权重矩阵和偏置项。

4.4. ARIMA与双向GRU的混合模型

首先,ARIMA模型通过捕捉时间序列的线性特征生成初步预测和残差,再将这些残差与原始序列一同输入到双向GRU模型中,利用其捕捉非线性特征的能力进行进一步的修正和预测。这样,ARIMA处理数据的线性部分,而双向GRU则解决数据中的非线性关系,二者结合形成了一个具有更强预测能力的混合模型。模型工作流程如图4所示。

Figure 4. Model workflow

4. 模型工作流程

4.5. 评价指标

在评价模型性能时,我们采用了均方误差(MSE)、平均绝对误差(MAE)和决定系数(R2)作为评估指标。这些指标共同帮助衡量模型的不同方面性能,从而提供全面的评价依据。

  • 均方误差(MSE):MSE是衡量预测值与实际值之间差异的平方和的平均值,能够强调较大的误差,是评价模型精度的常用指标。

MSE= 1 n i=1 n ( y i y ^ i ) 2

其中, y i 为实际值, y ^ i 为预测值,n为样本数量。

  • 均方根误差(RMSE):RMSE是MSE的平方根,保持了MSE强调大误差的特性,同时与原数据单位一致,更易于理解和解释。

RMSE= 1 n i=1 n ( y i y ^ i ) 2

其中符号的含义同MSE公式。

  • 平均绝对误差(MAE):MAE表示预测值与实际值之间的绝对误差的平均值,相比于MSE和RMSE,它对异常值不敏感,更能反映模型的普遍误差。

MAE= 1 n i=1 n | y i y ^ i |

其中符号的含义同MSE公式。

  • 决定系数(R2)R2表示模型解释数据方差的比例,是模型拟合优度的度量标准。值越接近1,表示模型的解释力越强。

R 2 =1 i=1 n ( y i y ^ i ) 2 i=1 n ( y i y ¯ i ) 2

其中, y ¯ i 为实际值的平均值,其他符号的含义同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

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

*通讯作者。

参考文献

[1] 赵阳, 郝俊, 李建平. 基于修剪平均的神经网络集成时序预测方法[J]. 中国管理科学, 2022, 30(3): 211-220.
[2] 宋家康, 赵建勇, 孙海霞, 等. 基于多目标协同训练的风电功率预测提升算法[J]. 电力工程技术, 2023, 42(6): 232-240.
[3] Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., et al. (2014). Learning Phrase Representations Using RNN Encoder-Decoder for Statistical Machine Translation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Doha, October 2014, 1724-1734.
https://doi.org/10.3115/v1/d14-1179
[4] Hochreiter, S. and Schmidhuber, J. (1997) Long Short-Term Memory. Neural Computation, 9, 1735-1780.
https://doi.org/10.1162/neco.1997.9.8.1735
[5] Zhang, S., Chen, Y., Xiao, J., Zhang, W. and Feng, R. (2021) Hybrid Wind Speed Forecasting Model Based on Multivariate Data Secondary Decomposition Approach and Deep Learning Algorithm with Attention Mechanism. Renewable Energy, 174, 688-704.
https://doi.org/10.1016/j.renene.2021.04.091
[6] 蒋金良, 林广明. 基于ARIMA模型的自动站风速预测[J]. 控制理论与应用, 2008, 25(2): 374-376.
[7] 张国豪, 刘波. 采用CNN和Bidirectional GRU的时间序列分类研究[J]. 计算机科学与探索, 2019, 13(6): 916-927.
[8] Janacek, G. (2010) Time Series Analysis Forecasting and Control. Journal of Time Series Analysis, 31, 303.
https://doi.org/10.1111/j.1467-9892.2009.00643.x
[9] Kingma, D. and Ba, J. (2014) Adam: A Method for Stochastic Optimization.
[10] 关文渊. 风电功率预测不确定性分析及应用研究[D]: [硕士学位论文]. 北京: 华北电力大学(北京), 2016.