基于孤立森林和GRU-CNN-Attention 的超短期电力负荷预测

2023-10-21 06:10刘林虎闫川川孙艳镯
电子设计工程 2023年20期
关键词:时刻卷积神经网络

陈 雷,刘林虎,闫川川,孙艳镯,于 凯,周 超

(1.东北石油大学秦皇岛校区电信系,河北秦皇岛 066004;2.首钢京唐钢铁联合有限责任公司,河北唐山 063205)

电力系统的主要任务是给广大用户不间断地提供优质电能,满足各种类型负荷的需求[1]。目前,我国各地的电力需求巨大且具有随机变化等特点,发电厂提供的电能和用户负荷需求之间需要进行一定程度上的协调,而良好的电力负荷预测能够将二者达到一种动态平衡的关系[2]。因此,做好电力负荷预测尤为重要。

电力负荷预测按时间大致可以分为四类:长期负荷预测、中期负荷预测、短期负荷预测和超短期负荷预测[3]。其中,超短期负荷预测的目的是在当日之内制订出一套合理的发电计划,精确预测未来几小时甚至几分钟的负荷值,从而保障整个电网的安全运行,保证较高的电能质量[4]。

近几年来,中外学者采用神经网络的方法进行超短期电力负荷预测,取得了不错的效果。M.A.Hossain 等人提出了一种基于CNN-GRU 的风电超短期预测方法,该方法的预测精度达到了98.4%以上[5];庄家懿等人提出一种基于CNN 和GRU 并行的超短期负荷预测方法,该方法与GRU 神经网络、CNNGRU 神经网络超短期负荷预测法相比,有更高的预测精度[6]。但上述方法在面对大容量负荷数据时的精度较低。

为了弥补和完善上述负荷预测方法带来的不足,文中拟构建基于GRU、CNN 和Attention 相结合的神经网络,该方法首先利用GRU 能够处理时间序列的特点,初步提取较长时间的负荷序列的特征,然后利用CNN 能够对负荷序列进行分批次提取特征的特点,即按照每天负荷数据的规律,将GRU 提取的特征进行分类处理,最后加入Attention 提高预测精度。

1 算法原理

1.1 孤立森林

电力负荷的量测装置有时会受到诸多不利因素的影响而发生故障,因此所测得的初始电力负荷数据中会偶尔存在一些异常值,如负荷零值或短时恒定的负荷值等,这些异常值会对负荷预测结果产生较大的影响[7]。采用孤立森林算法,可以很好地检测出这些异常值的存在。孤立森林算法利用了一种“隔离”的思想,利用超平面对各负荷点进行随机特征分割,其中异常值较正常值更易被分割并筛选出来,更易被“隔离”。该算法具有实现简单、适用性强、识别准确率高等特点[8]。

文中拟采用该算法筛选出异常的负荷值,然后对异常值采用拉格朗日插值法进行修正处理,计算公式如下:

其中,t为负荷值异常的时刻;a、b分别为t时刻前、后一小段时间的负荷点数;Lt-n和Lt+n分别为初始负荷序列中t-n和t+n时刻的负荷值;Lt为修正后的t时刻的负荷值。

1.2 门控循环单元神经网络

2014 年Kyunghyun Cho 等人提出了门控循环单元(Gated Recurrent Unit,GRU)网络,相较于长短期记忆网络(Long-Short Term Memory,LSTM),GRU 网络的结构更为简单,运行速度更快[9]。GRU 网络只有两个门,分别为更新门zt和重置门rt。其中,更新门控制前一时刻隐藏层ht-1的输出对该时刻隐藏层输出ht的影响,其值越大,影响程度就越大;重置门表示前一时刻隐藏层输出到该时刻所删除的信息量,其值越小,删除的信息就越多[10]。GRU 网络的结构如图1 所示。

图1 GRU网络结构

相关计算公式如下:

其中,Wr、Wz、WH、Wo为需要训练的权值参数,Ht为xt和ht组合得到的候选信息,σ为sigmoid 激活函数,×为矩阵的哈达玛积(Hadamard product)。

1.3 卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是近几年深度学习领域最热门的模型之一,在图像处理方面有着广泛的应用,可以用来提取数据样本的特征[11]。CNN 采用神经元之间的局部连接和卷积核之间权值共享的方式,可以减少参数的数量,从而大幅降低训练时间[12]。CNN 由输入层、卷积层、池化层、全连接层和输出层组成,其中卷积层可以提取样本中的局部特征;池化层可以降低特征的维度,在保留主要特征的情况下减少特征参数;全连接层可以将提取的特征进行整合[13]。其中一维CNN(Conv1D)结构图如图2 所示。

图2 Conv1D结构

1.4 注意力机制

在超短期负荷预测中,往往需要模型能够短时处理大量的负荷数据,而某一时刻的负荷值与接近该时刻时间点的负荷值联系更为密切,与距离该时刻较远时间点的负荷值之间的关系则不大,因此,希望模型在预测的过程中只需关注最近一小段时间的负荷值即可,就需用到注意力机制[14]。注意力机制能够为每个时间点的负荷值添加不同的权值,距离当前时间越近的负荷值权重越大,而越久远的负荷值的权重就越小,从而模型在短时内可以更好地获得有价值的信息,提高了预测精度[15]。注意力机制的结构如图3 所示,其中,α=[α1,α2,…,αt]为注意力分布向量。

图3 Attention结构

注意力机制的相关公式如下:

其中,et为隐藏层ht的注意力打分函数,v、W为注意力权重,b为偏置,m为输入向量的维度。

2 预测模型

2.1 数据预处理

文中所采用的数据集为印度德里地区国家电力负荷调度中心2020 年6 月21 日至30 日共10 天的负荷数据,每5 分钟取一个负荷数据点,共计2 880 个数据点,并按照9∶1 的比例划分训练集和测试集,即前9 天用来训练,最后一天用来测试模型的预测效果。采用孤立森林算法将异常数据进行修正,修正前和修正后的结果分别如图4 和图5 所示。

图4 修正前的负荷数据

图5 修正后的负荷数据

为了使数据更易进行处理,提高模型训练速度,文中拟采用数据归一化(MinMaxScaler)函数对数据进行归一化处理,将所有样本数据压缩到[0,1]范围内,其公式如下:

其中,xt为原始数据,为归一化处理后的数据,xmax和xmin分别为原始数据的最大值和最小值。

2.2 模型结构

文中提出的基于孤立森林和GRU-CNN-Attention 模型的基本结构如图6 所示。

图6 基于孤立森林和GRU-CNN-Attention模型的基本结构

由于训练集中各天的负荷特征不完全相同,所以将训练集按天数划分成九部分学习。各层结构说明如下:

1)孤立森林异常数据处理、数据归一化:修正异常初始数据,减小模型训练和预测误差,其中式(1)的a、b均取5;

2)GRU 网络:为了较好地提取负荷数据的时序特征,优化网络结构,又不影响模型的预测速度,文中设置两层GRU 网络,神经元数目分别为32 和16;

3)Dropout 层:防止模型在训练的过程中出现过拟合现象,文中设置Dropout 的值为0.3;

4)一维CNN(Conv1D)和一维最大池化(Maxpooling1D):为了精确地提取数据之间的局部特征,文中按照卷积层—池化层的顺序设置两组层结构。其中卷积层的卷积核数为16,卷积步长为3,池化层的池化步长为1;

5)Attention 层:赋予各负荷值不同的权重,提高预测精度,其中式(8)和式(9)中的m值取9;

6)Dense 层:综合上述各层的信息,汇总输出。

3 算例分析

3.1 损失函数、激活函数、优化器

文中拟采用均方误差(Mean Square Error,MSE)函数作为负荷预测的损失函数,其计算公式如下:

其中,yi为i时刻负荷的实际值,为i时刻负荷的预测值,n为测试集负荷数据的个数。

由于Relu 函数能够提高神经网络各层之间的非线性关系,且具有良好的防梯度消失和梯度爆炸的功能[16],因此选择Relu 函数作为激活函数。

优化器的功能是基于训练模型的数据来调整模型的参数,从而使所得的预测数据逐渐逼近最优,其本质是一个函数寻找最优解的过程[17]。文中拟采用Adam(Adaptive Moment Estimation)优化器,能够为不同参数设置不同的学习率,具有一定的自适应性。

3.2 误差函数

文中采用式(12)计算各点的误差:

因均方根误差(Root Mean Square Error,RMSE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)更能体现预测值和真实值之间的误差水平,文中拟选取上述两种方法进行平均误差分析,其公式如下:

其中,式(12)和式(13)的yi为i时刻负荷的实际值,为i时刻负荷的预测值,n为测试集样本数。

3.3 实验设备及编程环境

文中的实验设备采用Intel Core i7-7500U 处理器和AMD Radeon R7 M340 显卡。文中采用Python作为编程语言,利用Tensorflow 框架和Keras 库进行模型搭建。文中还用到的模块为Numpy、Pandas、Matplotlib 和Scikit-learn。

3.4 模型预测实验

为了检验文中所述模型的效果,需进行预测实验。该实验采用RMSE 和MAPE 误差函数,与GRU网络模型和GRU-CNN 网络模型进行比较,验证该模型的预测效果[18]。

首先验证该模型的收敛性。如图7 所示,模型在迭代200~300 次的损失值已经很小,且不再下降,因此模型具有较好的收敛性。文中设置模型迭代次数为300。

图7 模型的收敛曲线

预测结果和各点的预测误差曲线分别如图8 和图9 所示。从预测结果来看,文中所提出模型的预测负荷曲线更接近于实际值,各点预测误差相对更小。

图8 预测结果

图9 各点的预测误差曲线

预测的ERMSE和EMAPE如表1 所示。文中所提出模型的ERMSE与GRU 和GRU-CNN 模型的ERMSE相比分别下降了40.278 MW、18.969 MW,EMAPE分别下降了0.28%、0.272%。由此可以说明,文中所述模型的预测性能更好。

表1 不同模型ERMSE和EMAPE的对比

4 结束语

文中系统地介绍了基于孤立森林和GRU-CNNAttention 的超短期负荷预测模型,利用印度德里地区超短期负荷数据集,修正其中的异常负荷值和归一化处理后进行预测,并与GRU、GRU-CNN 网络模型的预测精度进行对比,通过一系列图表展示了预测结果。分析表明,文中所提出模型的预测结果更接近于实际值,具有更高的预测精度。在后续研究中,拟加入天气、工作日及节假日等影响负荷值大小的因素,并与其他超短期负荷预测方法进行比较,提升该模型的实际应用价值。

猜你喜欢
时刻卷积神经网络
冬“傲”时刻
基于3D-Winograd的快速卷积算法设计及FPGA实现
捕猎时刻
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
一天的时刻