基于STAN的风力发电预测(Python代码实现)-LMLPHP

1 概述

风力发电在全球电网中发挥着非常重要的作用。由于其可变性和随机性,很难建立模型并准确预测风力发电[1]。我们不仅需要捕捉时间序列的时间依赖关系,还需要构建目标风电场和其他一些风电场之间的空间相关性。风电功率预测引起了研究人员的极大关注。一些研究人员使用统计方法进行短期风电预测。统计模型包括历史平均(HA)方法和自回归移动平均(ARMA)方法[2]。 ARMA 是最著名的基于时间序列的风电未来价值预测方法,研究人员尝试了一些 ARMA 变体(如 ARIMA)以获得更好的预测性能。然而,这些方法受到目标时间序列是平稳随机过程的假设的限制[3]。不幸的是,风力发电与现实世界中的这一假设不符。

此外,长短期记忆 (LSTM) [5] 和门控循环单元 (GRU) [6] 是 RNN 的两个特殊变体。一方面,这些方法在包括自然语言处理(NLP)和时间序列预测在内的许多领域都取得了成功。另一方面,使用这些方法的缺点是它们没有充分考虑风电场之间的空间依赖性。在神经网络中,卷积神经网络 (CNN) 模型被有效地用于对图像分类、视觉识别和交通流预测的空间依赖性进行建模 [7]。然而,CNN 擅长处理具有网格状拓扑的数据,例如图像 [8]。换句话说,当我们对不同风电场之间的非欧几里得相关性进行建模时,CNN 并不能很好地工作。

2 数学模型 

基于STAN的风力发电预测(Python代码实现)-LMLPHP

上下文向量从编码器捕获相关信息以预测未来值。 Seq2Seq 模型和具有注意机制的 Seq2Seq 模型之间的区别在于,注意机制会动态计算每个时间戳的上下文向量。计算为编码器所有隐藏状态的加权平均值,如下所示:

                                            基于STAN的风力发电预测(Python代码实现)-LMLPHP 

其中基于STAN的风力发电预测(Python代码实现)-LMLPHP 是权重向量 基于STAN的风力发电预测(Python代码实现)-LMLPHP∈ℝ1× 的一个元素,基于STAN的风力发电预测(Python代码实现)-LMLPHP​计算如下:

                       基于STAN的风力发电预测(Python代码实现)-LMLPHP

详细数学模型见第4部分。

3 仿真结果

基于STAN的风力发电预测(Python代码实现)-LMLPHP

4 Python代码及文章讲解 

12-13 11:42