目录
摘要
本篇论文提出了一种基于深度学习框架的风速预测方法——SSA-BiLSTM网络,旨在提高风速预测的精确性。研究使用了中国内蒙古自治区风电场2012年冬季采集的风速数据。通过对比SSA-BiLSTM方法与其他四种风速预测方法(支持向量机回归算法、K-最近邻算法、典型LSTM方法和BiLSTM方法),实验结果表明,SSA-BiLSTM方法在MAE、RMSE、MAPE和R四个评价指标上均取得更好的效果,验证了其在风速预测上的有效性和准确性。该方法结合了奇异谱分析法(SSA)和双向长短期记忆网络(BiLSTM),利用SSA进行数据预处理提取趋势信息和去噪,然后通过BiLSTM进行风速预测,为风力发电和电力系统运行稳定性提供了一种新的预测工具。
Abstract
This paper presents a wind speed prediction method based on a deep learning framework, SSA-BiLSTM network, aiming to improve the accuracy of wind speed prediction. The study used wind speed data collected from wind farms in Inner Mongolia Autonomous Region, China, in the winter of 2012. By comparing the SSA-BiLSTM method with four other wind speed prediction methods (Support Vector Machine Regression Algorithm, K-Nearest Neighbor Algorithm, Typical LSTM Method, and BiLSTM Method), the experimental results show that the SSA-BiLSTM method achieves better results in the four evaluation indexes, namely, MAE, RMSE, MAPE, and R, and verifies its effectiveness in wind speed prediction and accuracy. The method combines singular spectrum analysis (SSA) and bi-directional long and short-term memory network (BiLSTM), utilizes SSA for data preprocessing to extract trend information and denoising, and then performs wind speed prediction by BiLSTM, which provides a new prediction tool for the stability of wind power generation and power system operation.
文献阅读
本周阅读的文献是《基于深度学习框架 SSA-BiLSTM 网络的风速预测》
现有问题
- 风速的高度随机性特点导致风电预测的精度和风力发电的稳定性受到影响。
- 现有的风速预测算法和模型,如物理模型、统计模型和人工智能模型等,存在不同的缺陷,如工作量大、模型推广难、容易陷入局部极小值、对历史数据要求高等问题。
提出方法
在这篇论文中,作者提出了一种新颖的风速预测方法,该方法基于深度学习框架,融合了奇异谱分析(SSA)和双向长短期记忆网络(BiLSTM)。这一方法利用SSA对历史风速数据进行预处理,以提取关键的趋势信息并去除噪声,从而增强数据的质量和预测模型的准确性。随后,通过BiLSTM网络,该模型能够同时捕获风速数据序列中每个数据点的过去和未来信息,这在传统LSTM模型中是难以实现的。通过这种结合,所提出的SSA-BiLSTM网络在风速预测任务中展现出了更高的精确度,有效提升了风电预测的可靠性和稳定性。
创新点
- 结合了SSA和BiLSTM网络,利用SSA进行数据预处理,提高风速预测的精确度。
- 采用BiLSTM网络,使得模型能够同时考虑风速数据的过去和未来信息,提高了预测的准确性。
方法论
1.SSA模型:用于对时间序列进行分析,提取趋势信息和去除噪声。
2.RNN模型:基础的循环神经网络模型,用于解决时间序列问题。
3.LSTM模型:RNN的变体,能够学习时间和长期相关性,解决传统模型无法兼顾数据的时序 线性和非线性关系的问题。
典型的LSTM细胞单元如下所示:
包含输入门、输出门、遗忘门三个部分,典型 LSTM 模型训练过程采用 BPTT 算法,与经典反向传播算法(Back Propagation,BP)类似。典型LSTM有以下的4个步骤:
4.BiLSTM模型:在LSTM的基础上,使用两层相互分离的细胞单元,分别处理正向和反向的 数据序列。
实验研究
数据集
本文使用的数据集来源于中国内蒙古自治区风电场2012年冬季11月的风速数据,采样高度为60米,时间间隔为10分钟,共收集了1008个数据点。数据被划分为70%的训练集和30%的测试集。数据统计显示风速最小值为1米/秒,最大值为17.1米/秒,平均值为9.41米/秒。这些数据为评估提出的SSA-BiLSTM风速预测模型提供了实际的测试基础。
数据预处理
为了避免设备故障和采样间隔噪声等因素造成的数据缺失,研究者采用了平均插值法对缺失数据进行填补,确保了数据的完整性。预处理后的数据被划分为训练集和测试集,其中训练集占70%,测试集占30%,用于训练和验证所提出的SSA-BiLSTM风速预测模型。
平均插值法:是一种数据预处理技术,通过计算已知数据点的平均值来填补数据集中的缺失值,其操作简单且计算效率高,适用于处理数据缺失问题,尤其是在数据缺失不严重且数据分布相对均匀时效果较好。
仿真实验
SSA
SSA奇异谱分析法:包含分解和重构两大部分。是一种强大的时间序列分析工具,它通过将时间序列转化为矩阵形式,然后利用矩阵的奇异值分解(SVD)来提取序列中的主要特征成分。SSA能够有效地将复杂的时间序列分解为多个本征模态函数(IMFs)和一个趋势项,从而揭示信号的内在结构和动态特性。
SSA用于数据处理的部分,是在进入BiLSTM之前的应用。由于该文献的数据集未公开,我采用公开数据集——美国某站点2024年的风速监测
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pyts.decomposition import SingularSpectrumAnalysis
# 读取CSV文件
file_path = 'new_file.csv' # CSV文件的路径
# 使用header=0来读取列标题,这会自动跳过第0行
df = pd.read_csv(file_path, header=0, sep=',')
print(df.head())
# 将WDSP列转换为数值类型
df['WDSP'] = df['WDSP'].astype(float)
# 检查是否有数据
if df.empty:
raise ValueError("No data found in the file.")
# 将WDSP列转换为NumPy数组,用于SSA
X = df['WDSP'].values.reshape(1, -1) # 重塑为1个样本,多个时间点
# 参数
window_size = min(15, X.shape[1]) # 确保窗口大小不超过时间点数量
groups = [np.arange(i, i + 5) for i in range(0, min(11, X.shape[1]), 5)]
# 奇异谱分析
ssa = SingularSpectrumAnalysis(window_size=window_size, groups=groups)
X_ssa = ssa.fit_transform(X)
# 展示结果
plt.figure(figsize=(16, 6))
ax1 = plt.subplot(121)
ax1.plot(X[0], 'o-', label='Original')
ax1.legend(loc='best', fontsize=14)
ax2 = plt.subplot(122)
for i in range(len(groups)):
ax2.plot(X_ssa[0, i], 'o--', label='SSA {}'.format(i + 1))
ax2.legend(loc='best', fontsize=14)
plt.suptitle('Singular Spectrum Analysis', fontsize=20)
plt.tight_layout()
plt.subplots_adjust(top=0.88)
plt.show()
在奇异谱分析(SSA)中,SSA1、SSA2、SSA3分别指代通过SVD分解得到的主要特征模式,其中SSA1通常是最主要的趋势或周期性成分,SSA2是次要的周期性成分,而SSA3则是更次要的成分或可能的噪声,它们共同揭示了时间序列的内在结构和动态特性。
LSTM风速预测
SSA分解后得到的各个成分(SSA1、SSA2、SSA3等)代表了时间序列中的不同特征,例如趋势、周期性、随机波动等。这些成分可以被单独考虑或组合使用,以形成BiLSTM模型的输入特征集
SSA分解得到的主要成分进行重构,以恢复时间序列的某些特性。这种重构的数据可以作为BiLSTM的输入,帮助模型捕捉到时间序列的动态变化。
预测的结果类似与下面“实验结果分析”部分。
评价指标
实验结果分析
1、风速预测结果SSA-BiLSTM与其他4种方法的对比
2、各个风速预测模型的误差图
3、各个风速预测模型的评价指标
4、各个风速预测模型的未来几小时风速预测
未来4小时风速预测
未来2小时风速预测
总结
本文提出了SSA-BiLSTM风速预测模型,利用内蒙古风电场数据,通过平均插值法处理缺失值并划分训练测试集,实验证明该模型在风速预测上具有较高的精确度和有效性。 实验研究是通过对比SSA-BiLSTM模型与其他几种预测模型的结果,验证了SSA-BiLSTM在风速预测上的优越性能,这对于风力发电和电力系统运行稳定性具有重要的实际意义。