APP下载

基于时间模式注意力机制的CNN-BiGRU短期负荷预测

2023-12-18顾智勇李永玲史博韬黄怡然

关键词:电价负荷预测

黄 宇, 顾智勇, 李永玲, 史博韬, 黄怡然

(1.华北电力大学 控制与计算机工程学院,河北 保定 071003;2.国网冀北电力有限公司管理培训中心,北京 102401;3.华北电力大学 电子与通信工程系,河北 保定 071003)

0 引 言

能源在社会和经济发展中发挥着关键作用。不断增长的能源需求受到多种因素的推动,包括城市化、人口增长和气候变化[1]。准确的短期负荷预测是电力供应计划制定和电力供需平衡面临的巨大挑战。短期负荷预测的范围为几分钟到一周[2],它可以为系统经济运行、调度电力交易提供必要的信息。电力负荷数据是具有非线性特征的时间序列,当前负荷值与历史负荷值密切相关,并与许多外部因素有关,包括气象因素和社会活动等[3]。随着电力系统规模的扩大和大数据技术的发展,负荷数据量急剧增长,传统预测方法的数据处理能力和预测精度已难以适应具有高不确定性的动态负荷。为了提高资源的利用率,需要提高短期负荷预测的准确性。

研究者们已经提出了各种短期负荷预测方法来提高预测性能,可以分为数理统计方法和机器学习方法。数理统计模型主要依靠历史数据、统计数据和概率论来预测未来的时间序列。各种统计模型如多元线性回归模型、自回归移动平均模型和指数平滑[4]已用于预测应用。这些方法结构简单,运算速度快,但难以应对电力负荷数据的高随机性和非线性特征。机器学习典型算法包括人工神经网络、支持向量回归(support vector regression,SVR)、极限学习机[5-7]等,这些机器学习模型直接从输入映射到输出,它们以非常有效的方式提取负荷数据中复杂的非线性特征。这些模型虽然可以提高预测精度,但存在局部收敛、线性部分乃至整体建模复杂、忽略时序特征等问题。

随着机器学习和人工智能的进一步发展,CNN、循环神经网络(recurrent neural network,RNN)、深度信念网络等深度学习算法在短期负荷预测中得到了广泛的研究和应用[8]。CNN使用局部连接可有效提取邻域信息,文献[9]使用CNN学习住宅负荷与负荷之间以及负荷与温度之间的非线性关系,并结合SVR进行住宅负荷预测。但CNN模型忽略了负荷数据沿时间线的依赖性,难以应对电力数据隐藏的周期性负载波动。门控循环单元(gated recurrent unit,GRU)和长短期记忆 (long short-term memory,LSTM) 是RNN的两个有前途的变体[10,11],它们的循环结构使能够以顺序方式处理负荷时间序列,可以很好的保留输入变量之间的时间关系。其中,GRU在小样本集的情况下,性能通常略优于LSTM[12,13]。文献[14]使用 k均值聚类对负荷数据进行季节性分段,使用LSTM进行多输入多输出策略预测。文献[15]采用麻雀搜索算法优化GRU模型对瑞士公开电力数据集上进行学习预测。为了挖掘序列输入输出之间的双向规律,研究者们进一步提出了BiGRU模型。文献[16]提出了一种基于 BiGRU的石油产量预测方法,取得了比单向GRU更好的效果。RNN及其变体在处理过长的负荷序列时容易发生梯度消失问题,长期记忆效果差,解决这一问题的是注意力机制。注意力机制作为一种优异的权重分配机制,可以避免长时间序列上的信息丢失,其与RNN结合在负荷预测、图像识别、自然语言处理等领域取得了很好的效果[17]。近年来,许多学者将CNN和LSTM混合模型应用于多个时间序列领域,包括负荷、光伏和风速预测[18-20],实现了比单独CNN或LSTM算法更高的预测精度。但CNN与各种RNN及其变体的组合模型较少关注输入数据间的结构关系,未能分析各历史时刻输入变量对当前负荷影响的重要程度,仍存在序列丢失问题。

为提高短期负荷预测精度,本文提出了一种基于时间模式注意力机制的CNN-BiGRU组合预测模型,记为TPA-CNN-BiGRU模型。该方法通过CNN对多维非线性输入数据进行空间特征提取,BiGRU层捕捉特征输出中的时间特征,建立时间序列模型。TPA对BiGRU的输出进行隐含层状态权值计算,突出影响负荷的重要特征,自适应加权隐藏特征得到注意力向量,最终输出负荷预测结果。模型旨在结合不同结构的优势应对负荷数据序列长、多维非线性等问题,以实现更好的预测效果。

1 短期负荷预测问题描述

电力负荷数据一般以时间为指标记录,并随时间变化,未来的时间序列与历史数据紧密相关。短期负荷预测是一种典型的时间序列问题,通常,电力负荷预测方法分为统计方法和基于人工智能的方法,而自回归滑动平均模型等统计方法和支持向量回归等基于机器学习的方法对气象数据、经济因素等非线性关系数据的预测能力有限,且选取时间特征时具有随机性,如将前一个小时的负荷值或前一天同一时刻的负荷值作为关键特征量,然而,这种特征选择方式忽略了历史负荷序列的潜在蕴含规律和数据的时序性,因此需要采取更高效的方法提高对数据的信息挖掘能力。此外,负荷数据的数据集大小和序列长度的增加使模型容易出现序列丢失问题。随着经济的发展,我国电力负荷变化的非线性、随机性特征越来越明显,电网系统变得更加复杂。传统的数学模型已经无法准确表达电力负荷与其相关因素之间的多重映射关系。基于这些问题,本文考虑采用CNN提取负荷序列中的非线性空间特征,使用BiGRU进一步挖掘序列时序性,并通过TPA机制自适应加权赋予特征权重以实现更高效的预测。

2 TPA-CNN-BiGRU网络模型原理

2.1 卷积神经网络

CNN在解决与多维非线性数据相关的许多问题中具有很好的性能,已广泛应用于负荷预测领域[21]。其结构主要包含卷积层和池化层。CNN结构示意图如图1所示。

图1 CNN结构图Fig. 1 Structure diagram of CNN

卷积过程描述如下:

(1)

池化层主要用于通过降采样操作减少参数,池化过程描述如下:

(2)

式中:s0表示步长,f像表示卷积核大小,p表示填充层数,当p→∞时,池化区域内取最大值,即最大池化。池化层通过选择最具代表性的特征优化网络来降低维度。但输出特征向量中的每个空间位置对应于输入特征向量中的相同位置,即卷积池化操作后仍然保留原先的顺序关系,并未破坏负荷序列的时序特征。

历史负荷、气象、经济条件等影响因素蕴含着丰富的相关信息,决定着下一时刻的电力负荷,这些重要信息隐含在多维数据的复杂关联中。CNN具有良好的空间特征提取能力,卷积层主要用于提取输入变量对当前负荷值的影响特征,池化层对提取特征进行压缩以降低模型复杂度。但CNN无法学习负荷序列中的时间特征,由此进一步采用BiGRU模型学习负荷序列中的时间依赖关系。

2.2 双向门控循环单元

GRU使用递归从负荷时间序列中获取全局信息,利用特殊的门,即更新门和重置门,来减少梯度分散,实现对序列长期记忆的能力和更少的计算损失。更新门决定了当前预测点对先前信息的保留程度,表示为

zT=σ(WZ·[hT-1,FeaT]+bz)

(3)

式中:σ表示sigmoid激活函数,输出0到1之间的值,FeaT表示时间步长T的输入矩阵。hT-1是前一个时间步T-1的隐藏状态。WZ是更新门的权重矩阵,bz是更新门的偏置矩阵。

重置门rT控制应该忽略多少历史信息,决定存储单元是否移除不必要的检测特征。描述为

rT=σ(Wr·[hT-1,FeaT]+br)

(4)

式中:Wr是重置门的权重矩阵,br是重置门的偏置矩阵。

有效的负荷预测模型需要提取序列数据中的隐含特征和复杂变化,然而,GRU只能从前向提取信息,而忽略了后向时间序列数据的有价值信息。因此,提出Bi-GRU的算法思想,在编码器中,Bi-GRU 层由两个独立的 GRU 网络组成。它们在相邻深度相互连接,以保证前一个深度的隐藏层状态可以在一个方向上转移到下一个隐藏状态,并且可以从两个方向提取特征。图2是BiGRU的结构图。Bi-GRU可以表示为

图2 BiGRU结构图Fig. 2 Structure diagram of BiGRU

(5)

2.3 时间模式注意力机制

BiGRU和其他RNN在处理过长的负荷序列时容易发生梯度消失问题,TPA机制作为一种资源分配机制可以分析历史负荷序列节点与预测节点的关联性,从而分配影响权重,突出关键影响因子,避免长时间序列上的信息丢失,捕获负荷序列中的长期依赖关系。TPA机制的模型图如图3所示。TPA原理如下:

图3 TPA结构图Fig. 3 Structure diagram of TPA

(6)

(7)

(8)

将每个时间序列权重进行加权求和得到权重向量vt,vt考虑了所有行对ht的综合作用,即时间注意力。

(9)

(10)

式中:Wt、Wv表示不同变量的权重矩阵。

2.4 TPA-CNN-BiGRU网络模型

本文结合CNN、BiGRU、TPA机制的优势,提出TPA-CNN-BiGRU预测网络模型,结构如图4所示。其中,CNN的卷积层被用来提取输入向量的空间特征,挖掘不同变量与当前负荷间的复杂联系。BiGRU的循环结构会对之前时刻的输出选择性保留并与当前时刻的计算融合,这样的特性使其能够有效地处理序列式数据,捕捉负荷序列中的时间特征。TPA则根据信息的重要程度对负荷序列不同时间步下的相关变量赋予特征权重,增加关键特征的权重,减少低影响特征的权重,以有限的资源捕获最有用的信息,最后通过全连接层输出负荷预测值。

图4 TPA-CNN-BiGRU结构图Fig. 4 Structure diagram of TPA-CNN-BiGRU

各层描述如下:

(1) 输入层:预测模型的输入数据为历史负荷序列以及气象信息等影响因素。

(2) CNN层:卷积层负责提取输入影响因素与当前负荷间的的特征联系,池化层通过选择最具代表性的特征来优化网络来降低维度,再经过全连接层输出到BiGRU层。

(3) BiGRU层:BiGRU层捕捉负荷序列中的时间特征,建立动态时间序列模型,对双向信息进行处理并加入正则化项Dropout层防止过拟合后得到隐状态矩阵Hi,j=[h1,h2,…,ht-1,ht],传入TPA层。

伟翔很快就回来了,阴沉着脸,抱起糖果晃来晃去。我生气,索性也不做饭,打开很久没动的电脑,上线,正碰上吴梅,她说:“晓薇,你怎么看赵丽华的诗?”

(5) 输出层:全连接层输出下一时刻负荷预测值。

3 基于TPA-CNN-BiGRU的短期负荷预测

3.1 输入特征选择

本文数据集来自澳大利亚新南威尔士州2006年1月1日至2010年12月31日连续五年的负荷数据,除历史负荷信息,数据集中还包含露点温度、干球温度、湿球温度、湿度等气象数据以及实时电价信息;数据时间间隔均为30分钟。其中气象因素对负荷预测的影响在许多研究中已经有所体现[23,24]。而电价对电力负荷的影响通过最大互信息系数(Maximum Information Coefficient,MIC)进行分析。

3.1.1 MIC方法介绍

MIC可用于衡量两个变量之间的线性或非线性相关程度,两个变量之间的互信息值越大,相关性越强[25]。对于二维数据集D∈R2,将D划分为m行、n列的网格数据空间。将落在第(x,y)个网格点的概率表示为P(x,y),其定义为第(x,y)个网格中的数据点数与总数据点数之比。将落在第x行与y列的数据点概率分别记为P(x)和P(y)。然后计算不同网格划分情况下随机变量X、Y的互信息,得到最大互信息值,记为I*[D(x,y)]。

(11)

I*[D(x,y)]=maxI[D(x,y)]

(12)

将得到的互信息值标准化,求最大互信息系数如下:

(13)

3.1.2 电价与负荷的相关性分析

E(i)={ei(1),ei(2),…,ei(t),…,ei(T)}表示第i天的负荷序列,ei(t)表示第i天第t个采样时刻的负荷值,T表示一天内的负荷序列数。P(i)={pi(1),pi(2),…,pi(t),…,pi(T)}表示第i天的T个采样时刻的电价序列。本文所用的澳大利亚负荷数据集采样间隔为30分钟,T取值为48。对E(i)和P(i)进行MIC相关性分析,计算结果显示在全部五年负荷数据集中,MIC>0.4的共有908天,占总数据量的48.69%,其中MIC>0.6的共有502天,占总数据量的27.4%。从MIC结果来看电价与负荷间具有较强的相关性。

图5(a)展示了数据集2010年2月15日至3月31日一个半月的电价与负荷对照曲线,图5(b)展示了3月1日至7日的局部电价与负荷对照曲线。从图5(a)中可以看到,在45天数据中有5天存在较为明显的价格钉[26]现象(即电价剧烈波动,电价曲线部分区域看上去仿佛一根根长钉),这几天电价与负荷的MIC值很小,表现出很低的相关性。而在其余时间间隔内,电价可以跟随负荷的变化趋势,表现出较强的相关性。图5(b)的对照曲线显示负荷与电价波动趋势基本一致,负荷达到谷底时,电价降低鼓励用户用电,负荷达到峰值时电价随之上升,电价的变化起到一定的削谷填峰作用。尽管价格钉现象存在,但存在天数所占比重较少,大部分时间区域内电价与负荷间存在较强的相关性,电价作为短期负荷预测的输入影响因子之一具有一定的合理性,故本文的预测输入特征选择为历史负荷、露点温度、干球温度、湿球温度、湿度以及电价信息。

图5 负荷与电价对照曲线Fig. 5 Comparison curve between load and price

3.2 评价指标

为了量化模型的性能,使用了以下两个指标进行评价:平均绝对百分比误差 (MAPE) 和均方根误差(RMSE)。MAPE反映误差所占的百分比大小,RMSE反映预测值与真实值的偏差。它们定义如下:

(14)

(15)

式中:N为时间序列长度,pi为预测值,fi为实际值,i=1,2,3,…,N。

3.3 总体预测流程

基于TPA-CNN-BiGRU模型的短期负荷预测建模流程如图6所示,主体由数据处理和模型训练两部分构成。数据处理包括缺失值和异常值的填充替换、数据集的划分以及各变量的归一化,模型训练包括通过训练集、验证集确定网络参数和对预测集的预测输出。

图6 预测模型流程图Fig. 6 Framework of prediction model

4 算例分析

本文对澳大利亚公开数据集提供的五年数据进行训练与预测,数据集包括历史负荷序列、环境因素以及经济因素。负荷数据时间间隔为30分钟,环境因素包括:露点温度、干球温度、湿球温度、湿度。经济因素为电价。按照3∶1∶1的比例划分训练集、验证集和预测集。预测集包含第五年整年的数据。

在确定模型最优参数时,采用了控制变量法。首先,在初始训练次数为100,批量大小为100,学习率为0.001,BiGRU隐藏单元数为100情况下,调整CNN的卷积核大小以及过滤器个数。当卷积核大小为3,滤波器个数为32时,MAPE相对较低。在此基础上,分别测试了CNN层数为2、3时的预测精度,结果表明加深CNN层数并未提升预测精度,最终仍选择单层CNN。然后,固定CNN层参数寻找BiGRU隐藏单元以及层数的最优值,当隐藏单元数设置为64,BiGRU层数为1时,预测误差最小。固定CNN层和BiGRU层超参数,在BiGRU层之后加入随机失活层dropout,确定dropout为0.2时效果最好。批量大小、学习率等参数也同样通过控制其他变量进行反复调整得到。所得结果为学习率取0.001 2,batch size取256,迭代次数取80。在本文中,比较模型的基本超参数与主模型一致。

4.1 预测步长确定

选择过去多久的数据作为输入信息去预测未来负荷是一个需要考虑的问题,预测步长选择过小可能会忽略掉影响预测值的关键信息,选择过大可能会造成维度灾难或信息杂糅影响预测精度。本文采用皮尔逊(Pearson)相关系数来判断各影响因素的历史值与当前时刻负荷值的相关性。分别计算历史负荷e(t-i)、干球温度tem_gq(t-i)、湿球温度tem_sq(t-i)、露点温度tem_ld(t-i)、电价price(t-i)以及湿度hum(t-i)等指标与当前负荷e(t)的Pearson相关系数值,其中,i表示预测步长。图7展示了预测步长从1到144变化的各影响因素与当前负荷的相关系数变化曲线。图7结果显示各因素对当前时刻负荷的影响呈现出明显的周期性,以预测步长48即一天的数据量作为一个周期,且相关性随周期呈现降低趋势,在第一个周期内的各相关系数整体高于第二、第三个周期。48的步长涵盖了原始数据集可以提供的一天的所有特征和信息,而继续增大步长并不会提供比第一个周期内数据更多的隐藏信息,且会增大计算量并可能存在信息杂糅问题,故本文选择48作为预测步长。

图7 各影响因素与当前负荷的Pearson系数曲线Fig. 7 Pearson coefficient curve between each influencing factor and current load

4.2 分季节的模型性能比较

根据澳大利亚气象情况显示,季节分为3月到5月的秋季,6月到8月的冬季、9月到11月的春季和12月到次年2月的夏季。图8展示了本文所提TPA-CNN-BiGRU模型与CNN-LSTM、RNN模型的季节典型日预测性能对比情况。表1展示了各模型各季节的误差指标情况。

表1 各季节预测模型性能比较

图8 各季节预测模型对比图Fig. 8 Comparison of prediction models in different seasons

图8和表1的结果显示,各个季节情况下本文方法的误差指标均最优,具有更高的预测精度以及普适性。所提模型全年平均预测精度达到了97.651%,比CNN-LSTM、RNN模型准确度分别提高了0.531%和5.992%。

在春季,本文方法MAPE为2.060%,RMSE为198.151 MW,与性能仅次于提出模型的CNN-LSTM模型相比,MAPE下降了0.732%,RMSE下降了31.706%。从图8(a)可以看出,所提模型误差较大的部分主要集中在少数高峰值区域,但无论是高峰值还是低谷值部分相对CNN-LSTM模型均具有更小的误差值。

在夏季,本文方法MAPE和RMSE指标分别为1.906%和177.245 MW,与春季预测类似,所提模型在部分高峰值区域的预测误差大于其他区域。而CNN-LSTM模型在高峰值区域的预测效果接近本文方法,但在低谷值部分预测误差则明显大于本文所提模型。

在秋季,所提模型展现出了全年中最优的预测性能,MAPE和RMSE指标达到了各季节中的最小值,分别是1.733%和172.339 MW。相较于CNN-LSTM和RNN模型,所提模型在包括峰值与低谷值在内的整个预测区间内都展现了更高的预测精度。

在冬季,本文方法、CNN-LSTM、RNN模型相较于其他季节预测效果都变差。本文方法的MAPE为3.450%,RMSE为402.760 MW。从图8(d)可以看出预测误差的增大主要来源于高峰值及之后的一段时间区域内,这与当地冬季的气候情况是紧密相关的。7月是当地最冷的月份,气候整体温和多雨,但天气情况多变,负荷波动幅度较大,从图8中也可以观察到,春、夏、秋季的负荷变化范围在6 000~10 000 MW,而冬季负荷变化范围在7 700~13 000 MW,负荷波动幅度的增大给预测带来了困难。但本文的TPA-CNN-BiGRU模型仍然是三种模型中效果最好的。因此,基于全年模型准确性的比较,本文方法表现出优异的性能。

4.3 单日预测效果对比

为了进一步展现TPA机制引入的效果以及更直观的观察预测结果,将单项模型BiGRU、CNN;组合模型CNN-BiGRU;基于传统记忆力机制的AT-CNN-BiGRU四种模型与本文方法进行对比。图9为预测集中3月12日的单日预测对比图,图10为该日预测各模型结果的误差箱线图,表2为该日预测各模型结果的误差指标。

表2 各模型单日预测性能比较

图9 单日预测模型对比图Fig. 9 Comparison of single-day prediction models

图10 各模型误差箱线图Fig. 10 Error boxplot of different models

图9显示本文方法拟合效果优于其他四种方法,预测曲线更接近实际值。从图10的误差箱线图中可以看出所提模型的误差值范围更集中,均值和中位数接近于实际值,误差较大对应的异常值取值也更小。表2显示组合模型CNN-BiGRU的性能优于单项模型CNN和BiGRU,加入传统注意力机制的AT-CNN-BiGRU模型较CNN-BiGRU模型精度更高。而引入TPA机制的TPA-CNN-BiGRU略优于AT-CNN-BiGRU模型,MAPE指标提高了0.113 4%,RMSE指标提高了6.485%。实验结果表明CNN与BiGRU模型的组合以及TPA机制的引入可以有效提高负荷预测精度。

5 结 论

本文提出了基于时间模式注意力机制的CNN-BiGRU负荷预测模型,采用CNN模型提取输入向量的空间特征,使用BiGRU模型挖掘负荷数据的正反时序特征,进一步引入TPA机制对BiGRU的隐藏状态分配特征权重,实现短期负荷预测。以澳大利亚某地区公开负荷数据集进行实验分析,主要得出以下结论:

(1)采用MIC方法验证了实时电价信息与电力负荷之间具有较强的相关性。

(2)TPA机制可以从BiGRU的隐藏状态向量中进行相关变量特征选择,并根据重要程度分配权重,相较于普通注意力机制对时间步进行赋权具有更好的效果。

(3)TPA-CNN-BiGRU模型兼顾CNN、BiGRU对时空特征提取的优势和TPA机制对不同特征关注程度不同的特点,与CNN-LSTM、RNN等模型相比,本文方法具有更高的预测精度。

猜你喜欢

电价负荷预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
德国:电价上涨的背后逻辑
探索电价改革
不必预测未来,只需把握现在
可再生能源电价附加的收支平衡分析
争议光伏标杆上网电价
防止过负荷时距离保护误动新判据
主动降负荷才是正经事