APP下载

基于AdaBoost集成学习的台区负荷最大值预测研究

2020-11-23游文霞吴永华黄瑶钰李文武

三峡大学学报(自然科学版) 2020年6期
关键词:台区决策树负荷

游文霞 赵 迪 吴永华 黄瑶钰 申 坤 李文武

(1. 三峡大学 电气与新能源学院, 湖北 宜昌 443002; 2. 国网湖北省电力公司 孝感供电公司, 湖北 孝感 432000)

电力系统台区一般指配电变压器的供电范围或区域[1].配变台区作为面向低压用户的最末一级供电单位,其变压器运行状态直接影响台区供电质量.近年夏季和冬季空调负荷的快速增长给台区供电带来巨大压力,过载现象时有发生.配电台区规划对用电负荷一般根据经验估算,准确度不高,导致配电台区刚刚进行增容后不久就发生重载现象[2].

台区变压器过载时间过长会导致故障停电、三相不平衡、电压偏移等问题[3].降低台区变压器过载运行时间,需准确预测台区最大负荷[4].同时台区最大负荷预测也是台区扩容规划的重要基础[5].台区负荷预测属于电力负荷预测,目前以机器学习为主的相关技术已经应用于负荷预测领域[6],主要包括决策树、神经网络、支持向量机等.文献[7]提出CART决策树(classification and regression tree)预测算法,适合较少训练数据集和简单关系预测.文献[8]提出利用K最近邻算法(k-nearest neighbor,KNN)进行负荷预测,适合对非线性动态系统进行非参数回归,但该算法计算效率和对训练数据的容错率均较低.文献[9-10]运用SVM算法,搭建负荷预测模型.结果表明,SVM具有较好的泛化性能,但随着影响负荷的相关因素增多,特征维度变高,SVM预测算法训练时间变长,精度变低.

台区负荷最大值预测中所采集的数据普遍存在特征维数较低且各特征之间关系不明显的特点[11].目前针对台区负荷最大值预测基本都是采用单一模型算法,而使用单一模型对特征抽取不足且影响预测结果.集成学习将多个学习器集成在一起,常可获得比单一学习器更显著的预测能力,已经在用户用电行为分析等领域得到应用[12-13].

本文首次将集成学习算法运用于台区负荷最大值预测中,考虑年、月份、气温以及历史负荷值等特征因素,并提出基于AdaBoost集成学习的负荷预测算法.

1 AdaBoost集成学习算法

1.1 集成学习

集成学习通过构建并结合多个学习器来完成学习任务以期得到一个更好更全面的强学习器.集成学习的一般结构如图1所示.

图1 集成学习的一般结构

给定一组个体学习器,首先经过训练,再利用某种策略将它们集成起来.个体学习器一般为一个已知的机器学习算法,例如决策树、BP神经网络等.由同种类型的个体学习器进行集成称为同质集成.同质集成中的个体学习器也称为基学习器,相应的学习算法称为基学习算法.本文主要讨论同质集成算法.

根据个体学习器生成方式的不同,集成学习方法大致可分为两类:一类是各个体学习器串行生成,个体学习器间存在强依赖关系;另一类是各个体学习器并行生成,个体学习器间不存在强依赖关系.前者的代表是Boosting,后者的代表是Bagging和“随机森林”(Random Forest).

1.2 AdaBoost集成学习算法

目前决策树、神经网络等常用的单一预测算法对样本敏感.基于Boosting的集成学习算法中最常用的是自适应提升(adaptive boosting,AdaBoost)集成学习算法,其核心思想是训练一系列个体学习器,然后把这些个体学习器集合起来,构成一个更强的最终学习器(强学习器)[14].AdaBoost集成学习算法具有较高学习效率,且不易出现过适应现象.该算法本质是简单个体学习算法提升过程,通过不断训练来提高学习能力.

2 基于AdaBoost集成学习的台区最大负荷预测

2.1 个体学习器

目前回归预测中较为常用的个体学习器包括:CART决策树、KNN以及SVM等.CART决策树算法易于理解和实现,并且不需要对数据进行预处理,对于异常点的容错能力好,适合进行预测所需的回归分析.本文选择CART决策树作为个体学习器.

CART决策树基于树结构进行决策.其结构一般由一个根节点、若干中间节点和若干叶节点3部分组成,叶节点对应决策结果.决策树学习的目的是产生一棵对新鲜样本适应能力强的决策树,学习过程是遵循分而治之的策略,其生成是一个递归过程[15].

台区负荷预测是研究负荷值与各影响因素(特征)之间相关关系的多元非线性回归问题,因此本文采用适合于回归预测的CART决策树算法.CART决策树按照某几个特征对数据集进行递归式划分以形成二叉树,通过平方误差最小化准则计算出各节点的最优切分点,使得划分后的数据集叶子结点的输出尽可能接近训练样本的y值.

CART决策树具体生成步骤如下:

Step1:获得训练数据集,根据数据集第一个特征的第一个分量将数据集分为大于该分量和小于该分量的两个数据集R1和R2;

Step2:根据两个数据集对应y值的平均值计算两个数据集的平方误差和;

Step3:重复Step1~2,遍历整个数据集的所有特征所有分量,计算出各特征及分量对应的平方误差和的矩阵;

Step4:根据矩阵寻找平方误差和最小的分割方案,将该分割点作为树的节点,将分割后的数据集分别赋值给该节点左子树和右子树;

Step5:重复Step1~4,递归地将数据集分割为更小的部分,直到平方误差和小于某阈值或者数据集中只剩下一个数据样本为止,并最终得到一个特定的输出值.

1)首先遍历所有的输入特征,根据平方误差最小化准则选择使平方误差取得最小值时的第j个特征变量以及其对应的取值s,并以此作为根节点的切分特征和切分点.

2)用选定的特征j及其对应的取值s将训练样本划分两个子区域.

3)继续对两个子区域调用上述两个步骤并确定出CART决策树各个内部节点的切分特征和切分点,直至总均方差的下降值小于某阈值或者数据集中只剩下一个数据样本为止,并得到一个特定的输出值,该输出值为最终划分区域的输出负荷值的均值.

2.2 基于AdaBoost集成学习的台区最大负荷预测框架

针对配电台区负荷数据与日期、气象及历史负荷等因素相关的特点,为了更精准预测未来台区负荷值,本文基于AdaBoost集成学习算法将若干CART决策树结合生成强学习器.

首先将训练样本数据初始化权值分布后输入到初始CART决策树训练该学习器;随后通过计算样本偏差以及CART决策树的回归误差率来更新训练集的样本权重分布并计算初始CART决策树的权重系数,增加偏差较大的训练样本的权值并减小偏差较小的训练样本权值,迫使下一个学习器在随后的训练过程中关注误差较大的训练样本,并使得训练误差小的个体学习器占据更大的权重;最后通过计算出权重系数的各CART决策树构建个体学习器的线性组合得到强学习器.基于AdaBoost算法的负荷预测框架如图2所示.

图2 基于AdaBoost算法的台区最大负荷预测框架图

2.3 基于AdaBoost集成学习的台区最大负荷预测流程

基于AdaBoost集成学习的台区最大负荷预测流程如下:

Step1:初始化CART决策树的相关参数,设定个体学习器的个数T,对训练样本数据进行权值初始化:

(1)

其中:M为样本容量,w1i表示训练第一个CART决策树时第i个样本的权值;

Step2:对T个CART决策树进行训练,当训练第t个个体学习器时,进行如下步骤(t=1,2,…,T):

①使用具有当前分布Lt的训练数据集训练当前个体学习器,计算训练集上每个样本的真实值与个体学习器预测结果之间的最大误差,式中ht(xi)为第t个CART决策树第i个训练数据的负荷预测结果,yi为第i个样本的实际负荷值:

Ft=max|yi-ht(xi)|,i=1,2,…,M

(2)

②计算每个样本的相对误差值:

(3)

③计算出第t个CART决策树在训练数据集上的回归误差率:

(4)

④根据回归误差率计算当前个体学习器的权重系数αt:

(5)

⑤更新训练集的样本分布Lt+1=(wt+1,1,…,wt+1,i,…,wt+1,M):

(6)

其中:Zt是规范化因子:

(7)

Step3:训练出所有的个体学习器并计算出各个体学习器对应的权重系数αt,构建个体学习器的线性组合,得到最终的强学习器:

(8)

其中:g(x)是所有αtht(x)(t=1,2,…,T)的中位数[16];

Step4:利用强学习器进行台区目标年份月度最大负荷预测并得到预测结果.

3 应用实例

本文以某市的某台区所采集到的历史负荷数据以及中国天气网所提供的气象数据作为实验数据.根据该台区2011年1月至2018年12月真实数据分别建立基于KNN、SVM、CART以及AdaBoost算法的预测模型,并对其预测性能进行对比.

3.1 实验数据

实验以2011年1月至2017年12月数据样本作为训练集来训练负荷预测模型,所用到的特征包括月最大负荷值、月平均高温值、月平均低温值、年份和月份.对2018年1月至12月月最大负荷值进行预测,以2018年1月至12月的日期、气象数据、历史月度最大负荷值作为输入数据,输出数据为2018年各月的最大负荷预测值,考虑前一年当前月最大负荷值为历史月度最大负荷值.具体参数说明见表1.

表1 参数说明

3.2 影响因素与负荷间相关性分析

本文采用Spearman相关系数ρ分析年、月份、月平均高温、月平均低温以及历史负荷值与配电台区月最大负荷值之间的相关性.

(9)

计算该台区月最大负荷与各影响因素的Spearman相关系数,得到相关性结果见表2.

表2 相关性结果

由结果可以看出,年份、月平均高温以及历史负荷值与台区月最大负荷有较强的相关性,说明这3种影响因素对台区负荷的影响较大.月份以及月平均低温对台区负荷的影响相对较弱.

3.3 评价指标

为了衡量算法的预测性能,分别使用平均绝对误差百分比(mean absolute percent error,MAPE)以及决定系数R2作为模型预测效果的评价指标:

(10)

(11)

3.4 结果分析

为了验证基于AdaBoost集成学习的预测效果,将KNN、CART决策树以及SVM与基于AdaBoost集成学习算法分别进行对比分析.为避免偶然因素影响及提高预测准确性,所有对比算法所运用的训练数据集相同.预测结果如图3所示.

图3 不同算法预测结果对比

将图中各个模型的负荷预测值曲线与实际负荷值曲线对比可以看出,采用AdaBoost集成学习算法的负荷预测值更贴近真实值,其效果优于CART决策树、SVM以及KNN算法的负荷预测值.通过负荷预测曲线也可以看出在气温较高的夏季以及气温较低的冬季台区最大负荷值较高,说明了气温对于居民用电存在着较大影响.

负荷预测值曲线图只能看出曲线趋势,本文通过计算通用评价指标MAPE和R2来对比各个模型的效果,其预测结果与本文方法对比见表3.

表3 预测结果对比

通过对比可以看出,CART决策树算法相较于其他两种单一模型算法的预测误差更小,结果更精确,体现了本文选取CART决策树作为个体学习器的合理性.基于AdaBoost集成学习方式的预测方法的平均绝对误差百分比(MAPE)只有4.3%且决定系数值最高,相对于其他3种单一模型的人工智能负荷预测方法的精度更高,其结果证明该预测方法可以满足配电台区这种非线性系统的预测要求,体现了本文所提出的负荷预测方法的优越性.

4 结 语

本文针对台区年最大负荷预测问题,提出基于AdaBoost集成学习的预测方法,并与单一预测方法对比验证其预测的有效性,丰富了台区负荷预测的方法,对于保证台区检修和扩充具有重要意义.未来还需要在台区最大负荷预测问题中个体学习器的集成策略等方面做进一步研究.

猜你喜欢

台区决策树负荷
人造革合成革拉伸负荷测量不确定度评定
3项标准中维持热负荷要求对比分析
低压台区三相不平衡治理的换相优化方法
计及分布式光伏的农村配电台区断零故障分析
基于k-medoids聚类算法的低压台区线损异常识别方法
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
简述一种基于C4.5的随机决策树集成分类算法设计
多业务协同提升低压台区线损基础管理研究分析
决策树学习的剪枝方法
SGT5-4000F(4)燃气轮机夏季最大负荷研究及应用