APP下载

基于自适应权重的CNN-LSTM&GRU组合风电功率预测方法

2022-06-06贾睿杨国华郑豪丰张鸿皓柳萱郁航

中国电力 2022年5期
关键词:电功率权重预测

贾睿,杨国华,2,郑豪丰,张鸿皓,柳萱,郁航

(1. 宁夏大学 物理与电子电气工程学院,宁夏 银川 750021;2. 宁夏电力能源安全重点实验室,宁夏 银川 750004)

0 引言

随着全球化石能源的不断消耗,可再生能源成为了各国的研究热点。由于风能的可再生、清洁、资源丰富等特点,在全世界范围内得到了广泛的开发和利用。截至2020年底,中国风电装机容量已达2.81亿kW,其中新增风电装机容量达7000万kW[1]。在中国相关政策和全球能源发展的趋势下,未来几年风电装机容量有继续上升的趋势。随着风电在电网中所占比例的不断增加,风电输出功率的不确定性和波动性将会给电力系统的稳定运行带来挑战,进而制约风电发展规模,因此对风电功率的高精度预测势在必行[2]。

现有的风电功率预测方法主要有物理方法、统计方法和人工智能方法[3]。物理方法主要是通过风电场周围的地表信息和气象数据构建物理模型进行预测[4],以数值气象预报(numerical weather prediction,NWP)为代表。统计方法主要通过历史数据,构建出历史数据与风电功率的非线性对应关系,以此对风电功率进行预测,主要方法有时间序列法[5]、灰色预测法[6]、自回归移动平均法[7]。人工智能方法主要有神经网络[8]、支持向量机[9]、极限学习机[10]。由于神经网络能够挖掘训练数据的非线性关系和深层特征,目前在风电功率的预测中得到了广泛的应用[11]。文献[12]在风电功率预测中使用了长短期记忆(long short term memory,LSTM)网络,研究表明深度神经网络比机器学习预测精度更高,但是LSTM网络存在模型复杂和训练时间长的问题。对此文献[11]成功开发了一种新型的门控循环单元(gated recurrent unit,GRU)深度学习神经网络,并与LSTM网络进行了比较,在大部分的测试中,GRU网络预测的准确性优于LSTM网络,且训练时间更短。虽然每种方法都有其应用场景,但单个模型往往难以获得最优预测结果。研究表明组合模型比单个模型具有更优越的性能[13]。文献[14]提出了一种基于主成分分析 (principal component analysis,PCA)的LSTM预测模型。文献[15]提出一种基于奇异谱分析和长短期记忆网络的短期风电功率预测方法。文献[16]提出了多模型融合方法用于电力负荷预测,结果表明,多模型融合结构预测精度更高。文献[17]提出了一种CNN-GRU组合预测模型,相比于单一的LSTM网络,所提模型具有更高的风电功率预测精度。

为了进一步提高短期风电功率预测精度,本文提出了一种CNN-LSTM&GRU多模型组合的短期风电预测方法,并构造出CNN-LSTM网络和GRU网络组合预测模型。针对LSTM网络不能提取非连续数据特征的缺点,利用卷积神经网络(convolutional neural network,CNN)提取数据局部特征,然后将提取到的局部特征数据以时间序列格式输入LSTM网络,此种设计实现了对数据潜在特征关系的进一步挖掘。然后将CNNLSTM网络和GRU网络进行并行预测,通过多模型预测来避免单一模型难以获得最优结果的问题,并利用自适应权重模块通过深度学习,为2个模块的输出配权,选出最佳权重,构建出最佳的短期风电功率预测模型,从而提高风电功率预测精度。通过实验对比所提模型与Elman模型、XGBoost模型、LSTM模型、GRU模型、串行CNN-LSTM模型、串行CNN-GRU模型,验证模型的精确性。

1 CNN-LSTM&GRU模型

1.1 CNN-LSTM网络结构

1.1.1 CNN 模块

CNN是一种前馈式神经网络,由输入层、卷积层、池化层、全连接层和输出层构成。CNN被广泛应用于图像识别、模式分类、物体检测、人脸识别、时间序列数据等方面[18]。由于CNN在计算时采用了卷积运算,其运算速度相比于一般的矩阵运算有了很大的提高。CNN的卷积层和池化层的交替使用能够有效提取数据局部特征并降低局部特征维度。由于权值共享,可以减少权值数量、降低模型的复杂度。一维卷积对于时间序列的特征提取的输出为

式中:Y为提取的特征; σ 为sigmoid激活函数;W为权重矩阵;X为时间序列;b为偏置向量。

1.1.2 LSTM 网络结构

LSTM网络是对循环神经网络(recurrent neural network,RNN)的一种改进,其通过加入门结构,有效解决了RNN存在的梯度消失和梯度爆炸[19]。LSTM网络中加入的细胞记忆单元,使得LSTM网络具有良好的记忆能力,被广泛应用在时间序列预测当中。LSTM网络结构如图1所示。其具体计算式为

图1 LSTM网络结构单元Fig. 1 Structure unit of LSTM network

式中:Wf、Wi、Wc、Wo为权 重 矩阵;bf、bi、bc、bo为 对应的偏置向量; ta nh为双曲正切函数;⊗为点乘;ht−1为上一时刻的输出;ft为保留程度值;Ct−1为上一时刻的记忆状态;it为当前时刻状态的添加程度值;为中间状态;Ct为当前状态;ot为输出程度值;ht为当前时刻的输出;xt为当前时刻的输入。

1.2 GRU网络模块

GRU网络是在LSTM网络基础上改进的一种网络,通过将LSTM网络中的遗忘门和输入门改进为更新门。在结构上只有更新门和重置门两个门结构。更新门用于决定前一时刻的状态信息在当前时刻学习中的保留程度,更新门值越大,保留程度越大。重置门用于控制前一时刻的状态信息与当前时刻状态信息的结合程度,重置门值越大,结合度越大。简化后的GRU网络与LSTM网络相比而言,减少了训练参数,降低了学习时间要求,并且在大多数的预测中预测效果优于LSTM网络[20]。GRU的结构单元如图2所示,其具体计算式为

图2 GRU网络结构单元Fig. 2 Structure unit of GRU network

式中:Wz、Wr、Wh、Uz、Ur、Uh为权重矩阵;bz、br、bh为 对 应 的偏置向量 ;rt为ht−1与xt的结 合程 度 值 ;zt为ht−1与xt的 保 留 程 度 值 ;为ht−1与xt的更新状态。

1.3 自适应权重模块

为了降低组合模型的预测误差,提出一种自适应权重方法,并构造出相应的自适应权重模块。自适应权重模块原理如图3所示。

图3 自适应权重模块原理示意Fig. 3 Schematic diagram of adaptive weight module

风电功率主要由风速和空气密度决定,风电设备所处环境中的湿度、温度、气压对空气密度有一定影响[21]。全面考虑影响风电功率的气象因素,选择风速、风向、湿度、温度、气压、空气密度气象特征作为组合预测模型的输入。即为预测时段数量),其中分别为时刻t的风速、风向、湿度、温度、气压、空气密度。为GRU模块的输出,为CNN-LSTM模块的输出。GRU模块和CNN-LST M模块的输出维度均为96。自适应权重模块首先通过Dense层分别为2个模块的输出赋予不同的权重矩阵 α 、β后,得到然后通过Add层将线性相加得到维度为96的风电功率预测值其具体计算式为

α、 β 作为组合预测模型的参数,在组合模型学习训练的同时得出最优值,其寻优公式为

式中:yloss为组合预测模型的预测误差值;为时刻t的预测值;yt为时刻t的真实值。

1.4 CNN-LSTM&GRU预测模型

所提的CNN-LSTM&GRU短期风电功率组合预测模型如图4所示。首先针对LSTM网络不能挖掘非连续数据间潜在联系的缺点,在LSTM网络之前加入CNN局部特征提取模块。利用CNN网络提取数据局部特征、LSTM网络提取数据的时序特征并进行学习预测。其次,针对单一模型难以获得最优结果的问题,将融合了特征提取模块的CNN-LSTM网络与其改进的GRU网络组合进行预测,然后自适应权重模块利用式(12)(13)为CNN-LSTM网络模块和GRU网络模块输出配权。最终构造出基于自适应权重的CNNLSTM&GRU组合预测模型。

图4 CNN-LSTM&GRU模型结构Fig. 4 Structure of CNN-LSTM&GRU model

2 输入数据处理及预测流程

2.1 异常数据处理

由于数据的存储和传递过程中会存在数据异常和缺失问题,这些异常数据会对模型的预测精度造成一定的影响,因此需要对异常数据进行处理。采用四分位法对异常数据进行清洗,其具体计算步骤见文献[22]。最终得到正常风电数据的范围为

式中:dl、dh为正常数据的下界和上界;Q1、Q3分别为NWP数据的第1个、第3个分位数;IQR为四分位距。当某一时刻风电数据小于dl或者大于dh中的对应时刻的数据时,此刻的数据就属于异常数据,需要清洗掉。在对异常数据清洗以后,基于插值法对缺失数据和异常清洗掉的数据进行填充,即

2.2 归一化处理

由于不同气象特征数据量纲不同,为了防止不同量纲对模型学习造成影响,同时提高模型的训练速度与收敛性,需要对输入进行归一化处理[23]。考虑到风向特征的物理意义,通过三角函数对其进行归一化处理,即

对其他特征数据和功率数据进行归一化处理,即

考虑到风电功率的物理意义,需要在预测结束后对预测结果进行反归一化,即

2.3 预测流程

为提高风电功率的预测精度,本文基于CNN、LSTM、GRU 3种神经网络构建了融合局部数据特征提取的CNN-LSTM网络与GRU网络的组合预测模型,并提出了一种自适应权重方法,为各模块输出赋予最佳权重。预测流程主要包含以下几个步骤。

(1)异常数据数据处理。根据文献[22]中的处理方法,对NWP数据和功率数据中的异常数据进行清洗,对缺失数据进行填充。

(2)数据归一化。将数据集划分为训练集、验证集、测试集3个部分,利用式(18)~(21)对数据进行归一化。在预测结束后利用式(22)对预测结果进行反归一化,使得预测结果具有物理意义。

(3)输入数据重构。将训练集、验证集、测试集3个部分选择对应宽度的滑动窗口逐步向后滚动,将原始数据进行分批重构。重构后的输入数据为为时刻t对应的气象特征;对应的输出序列为y=[y1,y2,···,yn−1,yn]。

(4)训练模型并构建出最优模型。将训练集数据输入CNN-LSTM&GRU组合预测模型中进行学习训练,并在每次训练结束后对验证集数据进行预测,对预测误差进行比较,选出误差低的超参数,构建出最优组合预测模型。

(5)待预测日功率预测。将测试集的NWP数据输入CNN-LSTM&GRU组合预测模型中,预测出待预测日的96点风电功率,并对预测效果进行评价。

3 算例分析

为验证所提组合预测模型对预测精度提升的可行性,采用中国西北某风电场的风电数据进行研究实验。数据包含NWP数据与实时风电功率数据,时间跨度为2019-10-01T00:00—2020-09-30T23:45,记录间隔为15 min。风电功率短期预测以分钟或者小时为采样单位,预测未来12~72 h范围内的功率[24]。此次短期预测的目标为未来一天24 h的96个风电功率值。模型的输入为风电数据的气象因素:风速、风向、湿度、温度、气压、空气密度,模型的输出为待预测日的风电功率。将2019-10-01—2020-07-31的数据作为训练集,2020-08-01—08-31的数据作为验证集,2020-09-01—09-30的数据作为测试集。最后将所提模型与Elman模型、XGBoost模型、LSTM模型、GRU模型、串行CNN-LSTM网络模型、串行CNN-GRU模型进行对比分析。

3.1 实验环境

实验硬件平台为 Intel Pentium G5400,内存为8.00 GB,固态硬盘容量为 200 GB,GPU 显卡为NVIDA GeForce GTX 1060。程序基于 tensorflow2.0深度学习库采用Python语言编写,该学习库具有模块化的优点,支持模型层之间的自由组合与叠加。

3.2 评价指标

实验使用平均绝对误差(MAE)、均方根误差(RMSE)、决定系数(R-Square)3个指标对模型的预测效果进行评价[25-26]。其公式如下。

3.3 预 测 模 型 结 构 设 计

3.3.1 CNN-LSTM 网络预测模块参数设计

CNN-LSTM网络模块初始设置如下。CNN特征提取模块:一层Conv1 D层,卷积核数为16,大小为2;LSTM模块:LSTM网络为一层,神经元数为16,随机失活系数为0.01。在实验中,首先不改变CNN特征提取模块参数,分析LSTM网络的单元数量和层数对模型预测结果的影响,确定LSTM网络的最佳参数。然后LSTM网络参数不变,分析CNN网络层数、卷积核数目对模型预测结果的影响,确定出CNN特征提取模块的最佳参数。最终得出CNN-LSTM网络参数。实验中学习训练次数均为80次,实验结果见表1和表2。

表1 LSTM网络参数设置预测结果对比Table 1 Comparison of prediction results of different LSTM network parameter settings

由表1和表2实验结果可知,CNN-LSTM网络模块的最佳的网络框架结构为:CNN局部特征提取模块为1层Conv1 D层,卷积核数为16,大小为4,其后加入BatchNormalization层和Maxpool1 D层。LSTM网络预测模块为3层,各层神经元数目均为16。

表2 CNN特征提取模块参数设置预测结果对比Table 2 Comparison of prediction results of different CNN feature extraction module parameter settings

3.3.2 GR U 网络预测模块参数设计

针对GRU网络模块,主要分析神经元数目与层数对预测模型结果的影响,初始参数设置为1层GRU,神经元数目为16,随机失活系数为0.01。训练次数均为80次,实验结果见表3。

表3 GRU网络参数设置预测结果对比Table 3 Comparison of prediction results of different GRU network parameter settings

由表3实验结果,可以得出GRU模块框架结构的最佳参数为:3层GRU,神经元数目依次为64、32、16。综合3.3.1的实验,最终确定出组合预测模型的最佳参数,CNN提取模块为1层CNN、LSTM网络为3层、GRU网络为3层,其具体参数见表4。

表4 组合预测模型结构与参数Table 4 Structural parameters of combined prediction model

3.4 预测结果及分析

为验证基于自适应权重的CNN-LSTM&GRU短期风电功率组合预测模型的可行性,将所提模型与Elman模型、XGBoost模型、LSTM模型、GRU模型、串行CNN-LSTM模型、串行CNNGRU模型的预测效果进行对比。为了避免单次实验的偶然性,保证实验结果的可信性,在相同条件下分别对测试集进行10次实验。结果如表5所示。根据预测结果可知,所提组合模型性能最佳,而Elman神经网络预测效果最差。

表5 各模型9月份预测结果Table 5 Prediction results of each model in September

由表5可以看出,所提组合预测模型相较于Elman、XGBoost、LSTM、GRU单一预测模型,RMSE分别降低了50.03%、20.29%、31.05%、17.50%;MAE分别降低了52.76%、18.68%、32.38%、18.06%;决定系数R2分别提高了14.58%、2.46%、4.92%、2.02%。相较于CNN-LSTM、CNNGRU组合预测模型,RMSE分别降低了19.91%、21.45%;MAE分别降低了14.55%、19.83%;决定系数R2分别提高了2.35%、2.68%。模型的各性能指标具体值只能用于证明在相同条件下所提模型相较于对比模型更优,并不能用于证明在其他数据风电功率预测中各性能指标具体值也能达到此值。

表6为各个模型10次训练和预测时间的平均值。其中LSTM模型、GRU模型、串行CNN-LSTM模型、串行CNN-GRU模型、CNN-LSTM&GRU模型的训练与预测均在GPU上完成。由表6可以看出,Elman模型的时间虽然最短,但其精度太低,失去了预测的意义。本文所提模型训练所需的时间虽然高于其他模型,但是预测时间与其他深度神经网络模型预测时间相比,增加幅度不大并且预测精度最高。

表6 各模型所需时间对比Table 6 Comparison of the time required by each model

图5为各模型对9月1日、9月15日、9月28日风电功率预测结果的评价指标对比。从图5 a)和图5 b)可以看出,对于这3天风电功率的预测,CNN-LSTM&GRU组合预测模型的RMSE值和MAE值都是最低的,预测效果最好。从图5 c)中可以看出Elman模型的拟合程度是最差的,其余模型对于3天的真实值拟合度相对较好,且本文所提组合预测模型的拟合度最好。综合各指标,可以看出本文所提组合模型相较于其他模型具有更高的预测精度。

图5 某日单一模型、组合模型预测结果评价指标对比Fig. 5 Comparison of evaluation indicators of results predicted by single models and combined models on a day

图6为所提组合预测模型与单一预测模型9月1日、9月15日、9月28日风电功率预测曲线。

图6 a)为9月1日的风电功率预测值与真实值曲线,可以看出在采样点65~78,单一模型的预测值明显偏离实际值,而本文所提模型可以较好地预测出风电功率。

图6 b)为9月15日的风电功率预测值与真实值曲线,可以看出虽然各个模型都能基本预测出风电功率的变化趋势,但是CNN-LSTM&GRU模型的预测值更接近真实值,拟合程度最好。

图6 c)为9月28日的风电功率预测值与真实值曲线,可以看出大部分模型都能较好地预测出风电功率,拟合程度较好。但Elman模型在采样点42~96未能较好地预测出风电功率,LSTM模型在采样点42~50未能较好预测出风电功率,GRU模型在采样点50~76未能较好预测出风电功率。

由图6整体可知,对于相同的测试样本,单一模型对风电功率真实值的拟合程度低于本文所提CNN-LSTM&GRU组合预测模型。其中Elman模型预测效果最差;对LSTM网络改进的GRU深度学习网络的预测结果有明显改进。所提组合预测模型首先通过融合数据局部特征提取模块构建出CNN-LSTM模块,实现了对数据特征的进一步挖掘,提高了LSTM网络的预测精度。然后利用自适应权重模块,为CNN-LSTM网络和GRU网络输出进行配权,更好地综合了CNN-LSTM网络和GRU网络的优势,对真实值的拟合度最好。

图6 某日单一模型、组合模型预测曲线与真实曲线对比Fig. 6 Comparison of curves predicted by single models and combined models with the real curves on a day

图7 某日多种组合预测模型预测曲线与真实曲线对比Fig. 7 Comparison of curves predicted by several combined model with the real curve on a day

图7分别为CNN-LSTM&GRU、CNN-LSTM、CNN-GRU组合预测模型9月1日、9月15日、9月28日的风电功率预测曲线。从图7整体可知,各组合预测模型基本拟合了真实值曲线。利用CNN挖掘数据的局部特征、LSTM网络进行预测的CNN-LSTM组合预测模型,相较于单一的LSTM网络拟合程度明显提升。从图7 a)采样点65~78 范围和图 7 c) 采样点 65~78 范围可以看出,在CNN-LSTM组合预测模型和GRU预测模型拟合程度较差时,通过自适应权重模块为GRU模块和CNN-LSTM模块输出配权的CNN-LSTM&GRU组合预测模型相对于CNN-LSTM和GRU预测模型拟合程度明显提高,基本拟合了风电功率真实值。

4 结论

针对电力系统对短期风电功率预测精度更高的要求,本文提出了一种基于自适应权重的CNNLSTM&GRU多模型组合短期风电功率预测方法。预测结果表明,所提组合预测模型相较于Elman、XGBoost、LSTM、GRU单一预测模型,RMSE分别降低50.03%、20.29%、31.05%、17.50%;MAE分别降低52.76%、18.68%、32.38%、18.06%;决定系数R2分别提高了14.58%、2.46%、4.92%、2.02%。所提组合预测模型的主要特点如下。

(1)利用CNN网络对数据的局部特征进行提取,然后利用LSTM网络对时间序列进行学习预测,实现了对数据特征的深度挖掘。

(2)将CNN-LSTM网络与GRU网络同时用于预测,避免了单一预测模型预测难以获得最优结果的问题。

(3)自适应权重模块作为组合模型的一部分,在组合模型学习训练时为CNN-LSTM模块与GRU模块的输出寻找出最佳的权重,提高了组合模型的预测精度。

(4)解决了单一模型难以获得最优结果的问题,为提高短期风电功率预测精度提供了新的思路和方法。

猜你喜欢

电功率权重预测
无可预测
基于PCC-CNN-GRU的短期风电功率预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
选修2—2期中考试预测卷(A卷)
第8讲 “电功率”考点归纳
轻松上手电功率
你会计算电功率吗
权重常思“浮名轻”