一种基于随机森林和GRU网络的短期电力负荷预测模型
2023-09-24李晓翔张超群郝小芳王大睿完颜兵
李晓翔,张超群,郝小芳,王大睿,完颜兵
(1. 广西民族大学电子信息学院,南宁 530006;2. 广西民族大学人工智能学院,南宁 530006;3. 广西混杂计算与集成电路设计分析重点实验室,南宁 530006)
0 引言
随着我国在新能源领域的深入发展、电动汽车和智能设备的普及,政府、企业和社会对电力行业的需求进一步提高。但是目前无法对电能进行大量且有效的储存,因此高精度的短期电力负荷预测是保证电力部门合理制定发电计划、电力系统安全稳定运行的重要基础[1]。
目前国内外对负荷预测的研究可分为传统预测方法和新兴的深度学习方法[2]。传统预测方法包括回归分析法[3]和时间序列法。回归分析法建立方程相对简单,预测速度快,但是往往缺乏对负荷时间上的规律性变化的分析,因此精确度较低。时间序列法最初由美国学者Box等[4]提出,对时间序列的历史负荷数据进行数学建模,只需要历史数据作为模型的输入,预测时间快[5]。然而该方法只考虑历史数据的影响,忽略其他影响因素的作用。因此在数据集日益丰富的当下,单一的时间分析方法已经不再适用于预测电力负荷。之后,出现机器学习方法,主要包括支持向量机[6]和人工神经网络算法[7]等。文献[8]对历史数据使用小波分解算法进行重构,再将特征数据输入卷积神经网络支持向量回归及模型,实现较为精确的负荷预测。文献[9]对人工神经网络提出一种新的由熵诱导出的具有高鲁棒性和平滑性的度量,提高人工神经网络的负荷预测性能。虽然这些负荷预测方法提高模型训练效果,但是忽略负荷预测具有非线性和时序性的特点[10]。近年来,深度学习算法在负荷领域的研究逐渐深入。文献[11]使用蚁群优化算法对递归神经网络进行优化并用于短期负荷预测,提高传统循环神经网络负荷预测的精度。文献[12]提出一种基于最大相关最小冗余和长短期记忆(long short-term memory,LSTM)网络的用户电力负荷预测模型,并验证其有效性。文献[13]提出一种基于双向门控循环单元(gate recurrent unit,GRU)网络和误差修正的短期负荷预测模型,一定程度解决模型迭代训练过程中的误差积累问题。
不同的影响因素会对电力负荷预测的精度产生不同的影响。但是,并不是输入模型的特征越多,训练的效果就越好。因此,在选择科学合理的预测方法的基础上,研究不同特征对负荷预测精度的影响,进而筛选出高相关性的关键特征是提高负荷预测精度的关键[14]。随机森林(random forest,RF)[15]是一种监督学习方法,在学习能力强的同时具有高鲁棒性,并且内置衡量不同特征重要程度的方法,能够分析复杂且相互作用的特征之间的关系,进而对高维特征进行筛选,达到特征降维的目的。文献[16]将GRU 和卷积神经网络组合成混合模型,利用CNN 模块提取不同数据的特征,利用GRU模型提取原始数据时间序列上的特点,提高了短期负荷预测的精确度。文献[17]提出了一种基于随机森林和基于自注意力机制深度GRU 相融合的混合模型,解决了在涡扇发动机退化过程中会产生的检测数据维数过高的问题,以较高的精确度预测了涡扇发动机的剩余使用时长。
针对现阶段电力负荷预测中存在的影响因素过多导致模型精度下降问题,本文提出一种基于随机森林和GRU网络的混合模型(即RF-GRU)来进行短期电力负荷预测。该模型首先将具有时间因素、气候因素的高维数据集作为随机森林模型的输入,通过计算袋外数据错误率对不同特征进行评分,筛选出相对重要的特征,再将这部分特征与历史负荷数据结合成新的数据集作为GRU 模型的输入,完成某地的电力负荷预测。实验结果表明新模型RF-GRU 的预测精度比传统的未经特征筛选降维的GRU、LSTM 以及BP神经网络模型更为理想。
1 随机森林算法
随机森林算法由若干数量的决策树组成,决策树的数量越大,该算法的鲁棒性就越强,精确度也就越高。此外,随机森林算法能够对复杂且相互作用的特征进行分析,其中的变量重要性度量可以作为参考标准对高维特征进行筛选,减少低相关度的特征对模型训练的影响,增加模型的准确性。
利用随机森林算法进行特征降维的关键是选择最优的特征个数,本文根据计算袋外错误率来解决这个问题。由于随机森林的生成过程采用的是有放回随机抽样,所以在一棵树的生成过程并不会使用所有的样本,未使用的样本被称为袋外(out_of_bag,oob)样本。袋外错误率是随机森林泛化误差的一个无偏估计,其结果近似于需要大量计算的k折交叉验证。若给某个特征随机加入噪声之后,袋外错误率大幅度提高,则说明这个特征对于样本的分类结果影响大,即该特征重要程度高。在随机森林中,特征X的重要性计算方法如下,其计算流程如图1所示。
图1 特征X的重要性计算流程
(1)对于随机森林中的第n棵决策树,使用相应的袋外样本计算这棵树的袋外误差,记为En。
(2)随机地对所有袋外样本的特征X加入噪声干扰,以此随机地改变样本在特征X处的值,再次计算其袋外误差,记为。
(3)假设随机森林中有n棵树,用公式(1)计算特征X的重要性得分。
2 GRU模型
在循环神经网络(recurrent neural network,RNN)的梯度计算方法中,当时间步数较大或者较小时,其梯度较容易出现消失或爆炸,因此RNN 在实际中难以捕捉时间序列中时间步距离较大时的依赖关系[18]。为了弥补这一缺陷,LSTM 在RNN 的基础上加入记忆单元和门控单元,分别是输入门、遗忘门和输出门,通过门单元之间的逻辑控制决定数据是否更新,解决RNN 容易出现梯度消失、梯度爆炸和不能捕捉时间步间隔较大时的依赖关系的问题[19]。
GRU 是LSTM 的一种变体,既保留LSTM 能够处理长距离时序依赖并且具有高准确率,又简化了LSTM 的输入和输出,将输入门、遗忘门和输出门简化为更新门和重置门。标准的GRU网络结构如图2所示。
图2 GRU网络结构
GRU 的输入和输出结构与普通RNN 是一样的,输入是t时刻的输入xt和t-1 时刻的隐藏层状态Ht-1,Ht-1包含之前节点的关键信息;输出是t时刻隐藏节点的输出和传递给下一节点的隐状态Ht。通过上一个传输下来的状态Ht-1和当前节点的输入xt可获取重置门和更新门的控制状态,其计算如公式(2)~(5)所示。
其中:rt和zt分别为t时刻重置门和更新门的输出;xt为t时刻的输入;Ht和Ht-1分别为t和t-1时刻的输出;为候选隐藏层状态,包含xt的输入信息和有针对性地保留t-1时刻的隐藏层状态Ht-1;W、b和⊙分别为矩阵权重、偏置向量和数据对应位置的点乘运算;σ 为sigmoid 激活函数,可以将数据变换为[0,1]范围内的数值,充当门控信号。当rt趋近于0时,模型会丢弃过去隐藏信息,只保留当前输入的信息;当rt趋近于1时,模型认为过去的信息都有作用,并将其添加到当前信息中。
3 RF-GRU模型在短期电力负荷预测中的应用
3.1 模型的构建
本文提出的RF-GRU 模型融合了随机森林和GRU 网络用于短期电力负荷预测,其处理流程如图3所示。
图3 RF-GRU混合模型预测流程
电力负荷预测结果除了与模型本身有关,合理的特征集也是非常重要的。通过分析研究现状,负荷预测的主要影响因素包括气象因素、时间日期因素和历史负荷因素[20]。但是,用于输入神经网络的特征维数与预测结果的精度并非呈现出绝对正相关的特点,输入特征过多会造成网络结构复杂,模型计算量增加,降低效率。此外,输入影响程度评分不高的特征也会降低模型预测的精度。因此,我们在包括气象和时间因素的高维特征集的基础上,进一步使用随机森林对所有特征逐一进行评分筛选。
本文采用2022 年第十届“泰迪杯”数据挖掘挑战赛B题所给的某地2018年1月1日到2021年8月31日的气象条件和电力负荷等共13维特征(见表1)构成初始数据集(可从官网https://www.tipdm.org:10010/#/competition/148115913778099-8144/question下载)来验证RF-GRU模型的性能。
表1 预测短期电力负荷的初始数据集的特征描述
首先对收集到的时间日期和气象因素等原始数据集进行预处理。具体采用线性插值法对缺失及异常值进行填补,然后归一化全部特征数据,使得每个特征数据经过线性变换之后均处于[0,1]的范围,消除不同特征数值量级不一致对预测模型的影响,使其尽快收敛。对原始数据进行归一化处理的方法如公式(6)所示。
其中:x为原始值;x*为归一化之后的值;xmin和xmax分别为特征样本数据中的最小值和最大值。
其次,除了历史负荷之外的全部特征(包括气象和时间因素的12维特征),对每一种特征分别用随机森林计算袋外错误率进行评分,其结果如图4所示。值得一提的是,本文的所有实验均在安装有Intel Core i7-8750H@2.20GHz CPU、16GB RAM、Windows 11 操作系统的一台服务器上运行,编程语言为Python 3.8.5,采用框架为tensorflow2.2.1。由图4可知,所属时段、最高温度、天气类型、最低温度、是否节假日、风力这6 个特征的评分高于设定的阈值0.1,将筛选出的6个高评分的特征与历史负荷数据组成新的7维特征数据集。
图4 特征重要性评分
最后,按照8 ∶1 ∶1的比例将数据集划分为训练集、测试集和验证集,构建GRU 网络模型,训练得到负荷预测结果Ypred。需要说明的是,经过多次超参数实验,RF-GRU 模型的GRU 网络最终采用的神经元数量为65,迭代次数(epochs)为50,批大小(batch_size)为128,学习率(learning_rate)为0.01。此外,GRU 采用具有高鲁棒性的自适应矩估计(adaptive moment estimation,Adam)优化算法,通过计算梯度的一阶矩估计和二阶矩估计为不同的超参数设计独立的自适应学习率。
3.2 模型的评价指标
为了评价模型的性能,我们选择了文献中常用的评价指标,即平均绝对误差(mean absolute error,MAE)[21]、均方根误差(root mean square error,RMSE)[22]和动态时间归整(dynamic time warping,DTW)距离[23],可分别按公式(7)~(10)计算得到其值。
其中:EMAE是平均绝对误差,ERMSE为均方根误差,n为总预测次数,Yact(i)和Ypred(i)分别为第i次预测所对应的真实负荷值和预测负荷值。
DTW 是一种新的相似性度量方法,它能够通过动态规划算法找出两条时间序列Q(q1,q2,…,qn)和C(c1,c2,…,cm)之间的最佳规划路径。首先,对两条时间序列构建距离矩阵,矩阵中的第i行第j列所对应的元素代表该时间序列中点qi和cj的距离,由公式(9)计算出其最小累加距离D(i,j)。最后可由公式(10)计算两个序列的DTW距离。
3.3 模型对短期电力负荷的预测效果
为了验证RF-GRU 模型对短期电力负荷的预测效果,使用上面获得的7 维特征数据集对2022 年第十届“泰迪杯”数据挖掘挑战赛B 题所给的某地2018 年1 月1 日到2021 年8 月28 日间隔4 小时数据进行未来三天(2021 年8 月29 日到2021 年8 月31 日)的电力负荷预测,并计算MAE 和RMSE 两个性能评价指标。将RF-GRU模型预测得到的负荷结果与真实负荷值进行对比,其结果如图5所示。
图5 RF-GRU模型预测短期电力负荷曲线与实际值对比
由图5可知,实线表示真实负荷值,虚线表示RF-GRU 模型的预测值。采用DTW 距离度量各模型的预测曲线与真实曲线的相似性,具体结果见表2。由图5 和表2 可知,RF-GRU 模型表现出色,该模型均优于其他三种对比模型,其预测曲线与实际曲线最为相似。
表2 四种模型预测曲线与真实曲线的DTW距离对比
为了进一步验证RF-GRU 模型的优越性,在相同的设置条件(最优值、层数、训练次数和损失函数等参数)下分别使用BP 神经网络模型、传统的未经随机森林特征筛选降维的GRU模型、LSTM 模型与RF-GRU 模型进行短期电力负荷预测对比实验,其结果如表3和图6所示。
表3 四种模型预测电力负荷结果评价指标对比
图6 四种模型预测短期电力负荷曲线与实际值对比
由表3可知,与BP神经网络相比,RF-GRU模型预测得到的平均绝对误差值EMAE和均方根误差值ERMSE分别下降了0.1704 和0.1555。相较于适合长时间时序预测的LSTM 模型,RF-GRU模型的EMAE和ERMSE分别下降了0.0212和0.0118。此外,与没有经过特征降维而直接使用高维特征集进行预测的GRU模型的结果对比,RF-GRU模型的EMAE和ERMSE分别下降了0.0378 和0.0408。由表3 和图6 可以看出,BP 神经网络对短期电力负荷的预测效果最差;传统的未经随机森林特征筛选降维的GRU 模型的预测效果要优于BP神经网络,但不如LSTM 模型;LSTM 模型的预测效果排名第二;本文新提出的RF-GRU 模型对短期电力负荷的预测效果最好,明显优于其他对比模型。
4 结语
针对负荷预测特征繁多且复杂,时序性强的问题,本文提出一种基于随机森林和GRU 网络的RF-GRU 模型,该模型使用随机森林对日期因素、气象因素等高维特征集降维,筛选出高评分的特征集与历史电力负荷数据作为GRU网络的输入,完成对某地的短期电力负荷预测。由于RF-GRU 模型兼具随机森林和GRU 的优势,能显著提升模型的预测性能,通过对比实验也验证了RF-GRU 模型具有更高的预测精度,其预测值与真实值接近,预测效果明显优于BP 神经网络、LSTM模型和传统的GRU模型。
需要说明的是,本文获取的特征集未考虑现实生活中采用阶梯电价这一影响因素,未来可以在这个方面对负荷影响因素进行深入探究。此外,可以对将RF-GRU 模型部署在电网中的可行性进行分析,辅助企业实现实时负荷预测,合理规划发电量。