融合注意力机制的CNN-GRU-LSTM 电力系统短期负荷混合预测模型
2024-05-27王玉林戚乐乐
王玉林, 戚乐乐
(辽宁工程技术大学电气与控制工程学院, 辽宁 葫芦岛 125105)
0 引言
负荷预测的准确性是电力调度计划制定的重要依据,关系到电力供应的稳定性和可靠性[1]。如何对电力系统短期负荷进行精准预测,降低能源损耗并提升经济效益,是目前研究领域的重点[2]。
目前,国内外负荷预测方法主要分为三类:传统预测方法、基于机器学习的方法和基于深度学习的方法。传统的负荷预测方法主要有指数平滑、回归分析和灰色预测等多种模型方法[3]。基于机器学习的方法以支持向量机[4](SVM)、BP 神经网络[5]等为代表,这些方法在处理和学习高维、数据量大的负荷数据时效果较差,预测耗时且精度较低。
近年来,深度学习模型如循环神经网络(RNN)及其变体[6],卷积神经网络[7](CNN)在高维特征学习、时序处理、大规模并行计算以及强大的泛化能力等方面具有明显优势,在电力系统负荷预测领域得到广泛应用。其中,CNN 是一种较为热门的模型,具有优秀的数据特征挖掘能力。长短期记忆网络(LSTM)和门控循环单元(GRU)是RNN 的变体,LSTM能够较好地捕捉长期依赖性关系。GRU 模型构造更简单、参数更少,在资源受限的情况下更受欢迎。
目前,尚未有将CNN、GRU 和LSTM 算法结合应用于短期电力负荷预测的研究。对此,本文提出一种基于CNN-GRU-LSTM的混合预测模型,并引入注意力机制[8],以增强模型对关键特征的关注度。
1 研究方法
本文通过卷积神经网络的卷积层和池化层,对天气数据和历史负荷数据进行局部特征的提取。然后,利用GRU 元和LSTM对特征序列进行建模,学习和捕捉特征序列中的长期依赖关系。同时,鉴于GRU 和LSTM在处理长序列时易受长期记忆损失和信息遗忘的影响,本文提出引入注意机制,以增强二者在序列数据中建模长期依赖关系的能力,解决捕捉关键长期依赖信息时精度下降的问题。
1.1 CNN-GRU-LSTM模型原理
该模型首先利用卷积神经网络的卷积层和池化层对时间序列数据进行层级性特征提取。经卷积、池化操作的数据,通过全连接层整合特征,输入到注意力机制层。第一个注意力机制层用于将全局特征进行调整,增强重要通道的权重。其输出端设置第二层注意力机制(点乘注意力机制),对序列的每个位置与全连接层输出权重进行点乘操作,调整不同位置的权重,使模型可以自适应地关注序列中不同位置的重要信息。经过权重调整的数据进行序列反折叠平铺,输入到GRU、LSTM层建模。之后,通过全连接层输出预测结果。模型构造如图1 所示。
图1 CNN-GRU-LSTM-Attention 预测模型
1.2 优化选型
本文选用引入两种注意机制,增强GRU 和LSTM在序列数据处理中对长期依赖关系的建模能力。SE注意力机制(Squeeze-and-Excitation Networks)的核心是在通道维度增加注意力机制,关键操作是Squeeze和Excitation。首先,通过全局平均池化层进行Squeeze操作,将输入特征的通道维度求平均值,得到一个全局的通道权重向量。接着,通过两个全连接层和激活层实现Excitation 操作,学习到通道的重要性权重。通过Sigmoid 层将这些权重归一化到[0,1]的范围。之后,再引入点乘注意力机制,作用于全连接层的输出与序列反折叠层的输入之间,将全连接层的输出和序列反折叠层的输入进行点乘操作,从而增强模型对序列中不同位置的信息的关注。SE 注意力机制的原理图如图2 所示。
图2 SE 注意力机制原理
1.3 数据集的选取和预处理方法
本文选取福建省泉州市某地区2016 年1 月1日—3 月25 日的电力负荷数据作为样本,共8 105 组数据,采样周期为15 min,每天包含96 个采样点,包括历史负荷数据、温度、湿度和降雨量。
对于数据中出现的缺失值,选用相邻时间段的平均值来填充。针对电力负荷数据集中,不同的特征向量存在量纲的差异。本文采用mapminmax 函数对原始数据进行归一化[9],将数据映射到[0,1]区间内,去除量纲影响。计算过程如下:
式中:x为原始数据;xn为归一化后的数据;xmax为原始数据最大值;xmin为原始数据最小值。
2 实验设计与结果分析
2.1 实验设置
本文选取的8 105 组,训练集占比95%,即7 700组负荷数据作为训练集,其余为测试集。实验平台为Windows11 X64 操作系统、Inter i5-11400 CPU,提出的预测模型使用Matlab 语言编程实现。
CNN 网络中设置有2 层卷积层与1 层池化层,其中,第一层卷积层中设置10 个卷积核,第二层卷积层中设置64 个卷积核,第一层LSTM层包含100 个隐藏单元,第二层LSTM层包含64 个隐藏单元,GRU层也包含100 个隐藏单元。初始学习率设置为0.005,学习率衰减周期为25,学习率下降因子为0.2,正则化系数为0.01,迭代次数为50。
2.2 预测模型对比
为检验最终效果,采用LSTM、CNN-LSTM、CNN-GRU-LSTM网络模型和本文所用方法分别进行负荷预测,最终预测曲线如图3 所示。不难看出,本文模型预测精度最高。
图3 预测结果对比
为了直观展现CNN-GRU-LSTM-attention 模型的性能,选用线性回归对模型在预测任务中的性能表现进行可视化。
由图4 可知,CNN-GRU-LSTM-attention 模型拟合程度最高,其相关系数为0.985 64。CNN-LSTM 以及CNN-GRU-LSTM模型在后期预测效果变差,可能是由于数据在后期阶段存在更复杂的模式或变化,两种模型未能有效捕获这些特征。而本文模型通过引入attention 机制,提高了模型在预测过程中对重要关系序列的关注度,整体的预测精度都有了较大提升。
图4 线性回归图
为了进一步验证模型的性能,本文选用均百分比误差(MAPE)、均方根误差(RMSE)和平均绝对误差(MAE)等误差评价指标[10]对各个模型进行对比。三种误差评价指标的表达式为:
式中:n为数据集个数;yi和分别为第i个数据的真实值和预测值。其中MAPE、RMSE 和MAE 的值越小,则说明模型预测精度越高。所有预测模型均输入相同负荷序列数据,保证对比试验的有效性。本文方法与其他3 种模型分别进行时间序列负荷预测,预测误差结果如表1 所示。
表1 预测误差对比
由表1 可知,CNN-GRU-LSTM-attention、CNNGRU-LSTM和CNN-LSTM均提高了预测精度,其中,CNN-GRU-LSTM-attention 的预测精度最高,验证了本文提出的模型的有效性。
2.3 实验结果分析
CNN-GRU-LSTM-attention 模型综合了多个模型的优势,能够很好地捕捉电力系统非线性关系和复杂的负荷变化趋势,预测精度较高。但需要注意的是,该模型也存在一些局限性。例如,注意力机制的引入会增加模型的计算复杂性和训练时间,并且参数的增加使模型存在过拟合风险。此外,模型有多个超参数,过高或过低的超参数值都可能导致模型性能下降,这增加了模型调整难度。
3 结语
本文针对传统单一电力负荷预测模型无法完全捕捉复杂电力系统中的变化和非线性关系,导致预测精度较低的问题,提出了CNN-GRU-LSTM-attention混合模型。通过对比分析实验验证,表明本文提出的模型能够有效处理复杂非线性电力负荷数据,具有较高的预测精度,可为复杂电力系统提供准确的负荷预测数据,为电力系统的安全稳定运行提供有力支持。