基于双层XGBoost 算法的台区用户超短期负荷预测

2024-04-19 13:56俞作良王超司晓峰林波窦常永
电子设计工程 2024年8期
关键词:台区双层负荷

俞作良,王超,司晓峰,林波,窦常永

(国网甘肃省电力公司市场营销事业部,甘肃兰州 730000)

近年来,台区需求响应与多能量控制技术的出现,给超短期负荷预测带来了新的挑战,一是要求时间短,二是要求系统服务质量更高。因此,对用户进行超短期负荷进行预测是十分必要的。文献[1]提出了基于混合神经网络深度学习预测方法,该方法综合考虑电力负荷影响因素,构造基于混合神经网络的深度学习预测模型,得到超短期负荷预测结果。文献[2]提出了基于改进烟花算法的负荷预测方法。对原有烟花算法的学习权重、门限进行调节,利用改进的烟花计算方法寻找最优解,即为负荷预测结果。尽管这两种方法的预测效果都很好,但是没有将负荷预测的所有影响因素考虑在内,导致预测精度不高,因此,该文采用双层XGBoost 算法预测台区用户超短期负荷。

1 超短期负荷预测模型构建

双层XGBoost 算法在目标函数中引入了误差函数和正则项,以获取预测结果与实际结果的差异性,从而避免过度拟合[3]。基于双层XGBoost 算法的预测模型如图1 所示。

图1 基于双层XGBoost算法的预测模型

图1 中的每棵决策树可表示为:

式中,fk(ai)表示具有特征ai的k棵决策树。由于无法用传统方法直接对超短期负荷预测函数的参数进行优化[4-6],因此,在预测模型训练过程中,将fk(ai)作为学习函数,确定已经学习过的决策树,添加新的决策树,使目标最小化,结果为:

式中,j表示迭代次数表示预测结果。在训练过程中,每加入一棵决策树就可获取新的决策函数[7],以此最大限度减少误差函数和正则项,使目标函数变得更为简单,保证模型训练结果与实际结果更接近[8-9]。

在预测过程中,常用的损失函数为均方误差函数,具体可表示为:

式中,ω表示决策树节点对应的权重;ε表示决策树的惩罚系数。目标函数最小化的目的在于减少模型复杂性,使得算法学习更简便,保证预测结果可靠性,同时降低预测误差[11]。

2 预测模型求解

双层XGBoost 算法就是极限梯度学习算法,通过监督学习方式来减少训练量。引入误差函数目标和正则项,以求取模型最优解,提升预测精度。

2.1 双层协同校正

由于使用传统方法预测超短期负荷时,容易陷入局部最优,主要原因是预测周期特征量较为复杂导致出现动态误差。为了解决该问题,引入双层协同校正方法[12],将原始输入数据作为特征量输入模型中,选择有效特征,包括时间、降水量、气压、相对湿度、温度、风向等[13-14]。在超短期负荷预测过程中,有效筛选出负荷特征影响因素集。将双层XGBoost算法划分为基准层与实时层两个部分,其过程如图2所示。

图2 双层协同校正过程

基准层负责将用户所提供的超短期负荷样本输入到预测模型中,分析负荷预测周期特征量,获取基准层的预测结果;实时层负责对比基准层预测结果与实测值,获取动态误差[15]。通过迭代计算时间特征以及添加基准层预测结果,实时层输出预测结果。在双层协同结构中,基准层会先给出台区用户的超短期负荷预测结果,实时层根据基准层数据的偏差对预测结果进行校正,根据实际情况建立了最接近于台区用户的实际工作状况的预测模型,从而使预测结果更可靠。

2.2 模型求解

利用双层XGBoost 算法对超短期负荷模型求解,求解过程如下:

步骤一:受到台区用户所采集到的特征维度的影响,有效数据也相对较少,因此需要将采集到的数据全部特征作为有效数据特征[16];

步骤二:在有效特征数据中存在一种特征表现为离散型的差异特性数据,将该部分也作为模型输入值,其可接受数值的取值范围为:

式中,q1、q3分别表示四份位数的第一位和第三位;λ表示异常值。

步骤三:尽管双层XGBoost 方法能够将少量的缺失值转化成其他的特征,但是在数据缺失的情况下,直接利用现有数据进行预测是不可行的。为提高模型运行效率,需要对数据缺失值进行填充。由于负荷特性变化很大,所以由所有负荷组成的矩阵都呈现出低秩特性[17]。充分考虑了季节性气候相关因子对超短期负荷的影响,将影响因素与影响结果的关系简化为线性关系。充分考虑日负荷矩阵,从已知负荷向量中选取相似的负荷向量,共同构成一个低秩矩阵,如下所示:

式中,en表示n个日负荷向量。待负荷向量所在环境较为恶劣时,使用非线性差值方法填充缺失值。在时间预测序列中,用缺失值前后的非线性差值估算,公式为:

式中,e为缺失向量值;e0表示缺失前的向量值;e1表示缺失后的向量值。

步骤四:对填补的结果进行排序。在考虑到季节因素的情况下,将该月份的空值删除后再进行填充,利用非线性插值方法来填补缺失部分,获取填补完整的负荷预测集;

步骤五:将样本数据输入至预测模型中,该模型利用双层XGBoost 算法进行分层求解,并对其进行校验。对各参数进行进一步优化,通过检验集合来判定该模型的优劣,若判别良好,则继续对其进行优化,直至获得更好的结果;

步骤六:考虑复杂影响因子,将第一层XGBoost的特征值作为输入,选取相应超参量,分析第二层XGBoost 的超短期负荷,将两层结果汇总,即为超短期负荷预测结果。

3 实验

实验数据选取台区电网所采集的2022 年1 月15日的真实数据,将其作为标准集,以验证基于双层XGBoost 算法的台区用户超短期负荷预测方法的可靠性。

3.1 实验数据

使用Redis 分布式缓存平台采集样本数据,其结构如图3 所示。

图3 Redis分布式缓存平台结构

将该数据作为训练集训练初始参数,预测模型学习速率0.01 bit/ms,样本大小为60 bit,惩罚系数为0.1,正则化项为0。真实数据采集结果如表1 所示。

表1 真实数据采集结果

3.2 实验指标

利用负荷预测数值和真实负荷数值之间的差值来计算预测准确率和均方根误差,评价指标计算公式为:

3.3 实验结果与分析

分别使用文献[1]方法、文献[2]方法和该文方法进行实验测试,预测准确率对比结果如图4 所示。

图4 三种方法预测准确率对比分析

由图4 可知,文献[1]方法、文献[2]方法和该文方法所对应的准确率最高点坐标分别为[12,0.037,66.0]、[5,0.037,67.0]、[2,0.038,99.15],说明该文方法的预测准确率高达99.15%。

对表1 数据进行200 次迭代处理,三种方法的均方根误差如图5 所示。

图5 三种方法的均方根误差

由图5 可知,文献[1]方法、文献[2]方法的均方根误差分别在样本为44 bit 和35 bit 时停留在0.46、0.25 不发生变化。使用该文方法在样本为20 bit 时,停留在0.02 不再不发生变化,因此该文方法的均方根误差较小。

4 结束语

文中设计了基于双层XGBoost 算法的台区用户超短期负荷预测方法,并通过实验验证了该文方法的可靠性,即使用双层XGBoost 算法无需对数据进行标准化处理,该方法可以有效地满足台区用户超短期负荷预测的实际需求。

虽然所研究方法具有一定可靠性,但双层XGBoost 算法在训练学习过程中存在训练数据需求量大、泛化能力不佳的问题。为使超短期负荷预测的效率达到最优,将进一步将双层XGBoost 算法和训练学习结合起来,从而提升预测质量与效率。

猜你喜欢
台区双层负荷
墨尔本Fitzroy双层住宅
降低台区实时线损整治工作方法
防止过负荷时距离保护误动新判据
主动降负荷才是正经事
次级通道在线辨识的双层隔振系统振动主动控制
负荷跟踪运行下反应堆一回路控制系统仿真与验证
传统Halbach列和双层Halbach列的比较
三合一集中器作为台区线损考核表计的探讨
多功能低压台区识别设备的研制
Savitzky-Golay在含冲击负荷短期负荷预测中的应用