一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进蜻蜓与轻量级梯度提升树模型的电力负荷预测方法

2022-06-05 10:54:46 来源:中国专利 TAG:


1.本发明公开了一种基于改进蜻蜓与轻量级梯度提升树模型的电力负荷预测方法,涉及信息技术领域和电力负荷预测技术领域。


背景技术:

2.目前,电力工业在我国飞速发展,但是其受限于目前技术无法对电能进行大规模存储,而过多生产电力会导致资源浪费,电力生产不足会影响到正常的经济生活。所以,设计一个高精度的电力负荷预测模型以预测未来用电量是要解决的技术问题之一。
3.现有技术中,主要有两大类方法可以实现电力负荷预测:一类是用时间序列方法来实现预测,其实质是对历史数据的拟合,一类是用机器学习方法预测,例如决策树、支持向量机等。但是上述传统预测方法存在一定缺陷,例如,时间序列方法无法使用多变量数据预测,机器学习方法需要寻求最优参数,并且寻参时容易陷入局部最优。


技术实现要素:

4.本发明针对电力负荷预测精度不高的问题,提供一种基于改进蜻蜓与轻量级梯度提升树模型的电力负荷预测方法。为避免陷入局部最优,使用引入自适应学习因子和差分进化策略的蜻蜓算法对轻量级梯度提升树模型进行参数寻优,用寻优后的模型完成对电力负荷的预测。
5.为了解决上述技术问题,本发明提供了一种基于改进蜻蜓与轻量级梯度提升树模型的电力负荷预测方法,包括步骤:
6.s101:数据预处理包括缺失值处理、数据规范化、异常值处理以及数据离散化;
7.s102:本发明提出改进后的蜻蜓算法对轻量级梯度提升树模型的训练参数进行优化,并将改进的轻量级梯度提升树模型应用于电力负荷预测。
8.s1021:本发明提出低内存使用,可处理大规模数据的轻量级梯度提升树模型对电力负荷进行预测。
9.轻量级梯度提升树模型采用了基于直方图的决策树算法,首先把样本中连续的浮点特征离散化成k个整数,并构造一个宽度为k的直方图。然后在遍历数据的时候,把离散化后的值作为索引在直方图中积累统计量,一次遍历结束之后,直方图积累了需要的统计量,最后通过直方图的离散值遍历找出最佳的分割点;这样将大规模的数据放到了直方图中,使得内存占用更小,模型运算更快更加稳定。在此基础上,轻量级梯度提升树模型通过直方图做差加速,一个叶子的直方图可以由它的父亲节点和兄弟节点的直方图做差来获得,并且直方图的宽度都为k,在构造直方图时,遍历该叶子上的所有数据,可以通过直方图做差只需遍历k次,大大提升了运行速度;轻量级梯度提升树模型还可以通过先计算直方图小的叶子节点,然后通过做差来获得直方图大的兄弟节点,用较小的代价得到其他兄弟节点的直方图;
10.针对使用按层生长的level-wise决策树生长策略效率低下的问题,轻量级梯度提升树模型采用了较高效的带有深度限制的按叶子生长leaf-wise策略;level-wise在进行遍历数据时可以同时分裂同一层的叶子,不易造成过拟合,但是在遍历时不加以区分同一层叶子的分裂增益,增大了计算开销;
11.leaf-wise可以根据当前所有叶子中分裂增益最大的一个叶子进行分裂,并以此循环,这样在分裂次数相同的情况下,leaf-wise可以降低误差,获得更高的精度;为避免模型生出较深的决策树而产生过拟合,轻量级梯度提升树模型在此基础上增加了最大深度限制,这样既保证了低误差、高效率,还可以防止过拟合;
12.s1022:蜻蜓算法是一种基于仿生学提出的启发式搜索算法,研究表明,在自然界中,蜻蜓的生活习性可以归纳为分离、结队、聚集、觅食和避敌五种行为;而群体的主要目标是为了生存,所以群体中个体都会被食物吸引,并躲避敌人。因此,该群体具有五种不同类型的行为来更新个体的位置,设五种行为的位置向量分别为si,ai,ci,fi,ei,这些行为通过以下公式进行数学建模:
13.(1)、分离行为
[0014][0015]
式中,i=1,2,

,n
p
;j=1,2,

,n,si是第i个蜻蜓个体分离后的位置。n指与第i个蜻蜓个体相邻的个体数,当两个蜻蜓的欧式距离小于搜索半径r,详见式(6),就表示这两个个体是相邻个体。n
p
表示群体的数量,x,xj分别是目前的蜻蜓个体和第j个蜻蜓个体的位置;
[0016]
(2)、结队行为
[0017][0018]
式中,ai第i个蜻蜓个体结队后的位置,vj表示第j个相邻蜻蜓个体的速度;
[0019]
(3)、聚集行为
[0020][0021]
式中,ci第i个蜻蜓个体聚集后的位置;
[0022]
(4)、觅食行为
[0023]fi
=x
-x
ꢀꢀꢀꢀꢀꢀ
(4)
[0024]
式中,fi表示第i个蜻蜓个体食物源的位置,x

表示食物源的位置,也代表当前个体的最佳适应度值;
[0025]
(5)、避敌行为
[0026]ei
=x x-ꢀꢀꢀꢀꢀ
(5)
[0027]
式中,ei表示第i个蜻蜓个体敌人的位置x-表示敌人的位置,也代表当前个体的最差适应度值;
[0028]
食物源的位置和敌人的位置分别是从当前蜻蜓发现的最佳适应度和最差适应度选择的。一旦蜻蜓的位置、敌人和食物来源得到更新,就需要更新相邻蜻蜓的半径,搜索半
径的公式如式(6)所示。为了更新蜻蜓的位置并在搜索空间中模拟飞行行为,设置了两个向量:步长(δx)和位置(x),步长向量计算如式(7)所示:
[0029]
r=(ub-lb)/4 ((ub-lb)
×
(t/max_iteration)
×
2)
ꢀꢀꢀꢀꢀ
(6)
[0030]
δx
t 1
=ωx
t
(ssi aai cci ffi eei)
ꢀꢀꢀꢀꢀꢀ
(7)
[0031]
式中,ub,lb为搜索半径的上下限,t表示当前迭代次数,max_iteration为最大迭代次数,s,a,c,f,e分别指分离权重、结队权重、聚集权重、觅食权重和避敌权重,ω表示惯性权重。
[0032]
在附近有相邻蜻蜓个体的情况下,位置向量更新如式(8)所示:
[0033]
x
t 1
=x
t
δx
t 1
ꢀꢀꢀꢀꢀ
(8)
[0034]
当附近没有相邻蜻蜓个体时,将引入随机行走策略以增强搜索的随机性,计算如下:
[0035]
x
t 1
=le

vy(d)
×
x
t
x
t
ꢀꢀꢀꢀꢀꢀ
(9)
[0036]
式中,d表示蜻蜓个体位置矢量x的维度,le

vy飞行策略可以这样描述:
[0037][0038][0039]
式中,r1,r2是范围在[0,1]的随机数,β为常数,这里取默认值1.5,γ(x)=(x-1)!。
[0040]
s1023:改进的蜻蜓算法对lightgbm模型训练参数进行优化,通过以下两方面进行改进:
[0041]
1.引入自适应学习因子:蜻蜓适应度的相对变化率定义如式(12)所示:
[0042][0043]
式中,i=1,2,

,n
p
,是第i个蜻蜓个体的第t次迭代,是第i个蜻蜓个体在第t次迭代的适应度值,表示蜻蜓在第t次迭代的最佳适应度值,η是计算机中最小的常数,以避免零除误差。
[0044]
第t次迭代中第i蜻蜓的自适应学习因子表示如式(13)所示:
[0045][0046]
当附近有相邻蜻蜓个体时,第t次迭代中第i蜻蜓的位置矢量描述如式(14)所示:
[0047][0048]
当附近没有相邻蜻蜓个体时,第t次迭代中第i蜻蜓的位置矢量如(15)所示:
[0049][0050]
2.引入差分进化策略:这里通过利用差分算法在蜻蜓算法的迭代后期,对蜻蜓个体进行差分变异、交叉和选择操作,以便算法进行全局最优搜索。采用de/best/1突变策略和动态比例因子,具体计算如式(16)所示:
[0051][0052]
式中,是突变载体,i=1,2,

,n
p
,p1,p2∈{1,2,

,n
p
}是随机整数且p1≠p2,是比例因子,可由式(17)计算:
[0053][0054]
式中,f
inital
和f
final
是两个常数,是第t次迭代的种群中最差适应度值;
[0055]
获得突变载体后,对个体进行交叉操作以此产生试验载体
[0056][0057]
式中,j=1,2,

,d,j0∈{1,2,

,d}是随机维度,pcr表示[0,1]范围内的交叉概率。
[0058]
最后通过比较适应度值来更新种群,选择新位置矢量的策略如式(19)所示:
[0059][0060]
ida算法的具体步骤如下:
[0061]
步骤1:参数设置,包括最大迭代次数、种群数量、惯性权重ω和粒子的上下边界。
[0062]
步骤2:初始化蜻蜓位置向量(x)和步长向量(δx)。
[0063]
步骤3:开始迭代,更新分离、结队、聚集、觅食和避敌的权重系数s,a,c,f,e并评估种群适应度值,根据上述的初始化值随机初始化原始相邻半径r,然后更新食物和敌人的位置。
[0064]
步骤4:分别更新si,ai,ci,fi,ei的值,即第i个蜻蜓个体分离后、结对后、聚集后和食物源、天敌的位置,并更新步长向量。若当前蜻蜓个体附近没有相邻个体时,按照式(15)更新位置向量,否则按照式(14)更新位置向量。
[0065]
步骤5:对每个蜻蜓个体执行差分进化策略。
[0066]
步骤6:判断是否满足终止条件,若达到设定的最大迭代次数则停止迭代并输出最佳适应度值,否则迭代次数加1,返回步骤3。
[0067]
本发明主要利用改进的蜻蜓算法算法对lightgbm模型的三个参数步长(learning_rate),决策树最大深度(max_depth)和最大叶子节点数(max_leaf_nodes)进行参数调优。训练集与实际值的误差作为适应度函数f(x),寻找最优参数下的lightgbm模型,在满足给定的预测误差情况下,对电力负荷进行预测。
附图说明
[0068]
图1是本发明总体流程图;
[0069]
图2是lightgbm算法示意图;
具体实施方式
[0070]
结合图1,本发明基于改进蜻蜓与轻量级梯度提升树模型进行电力负荷预测,包括以下步骤:
[0071]
a、采集数据处理,数据预处理包括缺失值处理、数据规范化、异常值处理以及数据离散化。并且划分训练集与测试集
[0072]
b、lightgbm模型采用了基于直方图(histogram)的决策树算法,首先把样本中连续的浮点特征离散化成k个整数,并构造一个宽度为k的直方图。然后在遍历数据的时候,把离散化后的值作为索引在直方图中积累统计量,一次遍历结束之后,直方图积累了需要的统计量,最后通过直方图的离散值遍历找出最佳的分割点。这样将大规模的数据放到了直方图中,使得内存占用更小,模型运算更快更加稳定。在此基础上,lightgbm模型通过直方图做差加速,一个叶子的直方图可以由它的父亲节点和兄弟节点的直方图做差来获得,并且直方图的宽度都为k,在构造直方图时,遍历该叶子上的所有数据,可以通过直方图做差只需遍历k次,大大提升了运行速度。lightgbm还可以通过先计算直方图小的叶子节点,然后通过做差来获得直方图大的兄弟节点,用较小的代价得到其他兄弟节点的直方图。
[0073]
针对使用按层生长(level-wise)的决策树生长策略效率低下的问题,lightgbm采用了较高效的带有深度限制的按叶子生长(leaf-wise)策略。level-wise在进行遍历数据时可以同时分裂同一层的叶子,不易造成过拟合,但是在遍历时不加以区分同一层叶子的分裂增益,增大了计算开销。
[0074]
leaf-wise可以根据当前所有叶子中分裂增益最大的一个叶子进行分裂,并以此循环,这样在分裂次数相同的情况下,leaf-wise可以降低误差,获得更高的精度。为避免模型生出较深的决策树而产生过拟合,lightgbm在此基础上增加了最大深度限制,这样既保证了低误差、高效率,还可以防止过拟合。
[0075]
改进的蜻蜓算法对lightgbm模型训练参数进行优化,其特征在于:
[0076]
1.引入自适应学习因子:蜻蜓适应度的相对变化率定义如式(1)所示:
[0077][0078]
式中,i=1,2,

,n
p
,是第i个蜻蜓个体的第t次迭代,是第i个蜻蜓个体在第t次迭代的适应度值,表示蜻蜓在第t次迭代的最佳适应度值,η是计算机中最小的常数,以避免零除误差。
[0079]
第t次迭代中第i蜻蜓的自适应学习因子表示如式(2)所示:
[0080][0081]
当附近有相邻蜻蜓个体时,第t次迭代中第i蜻蜓的位置矢量描述如式(3)所示:
[0082][0083]
当附近没有相邻蜻蜓个体时,第t次迭代中第i蜻蜓的位置矢量如(4)所示:
[0084][0085]
2.引入差分进化策略:这里通过利用de算法在da算法的迭代后期,对蜻蜓个体进行差分变异、交叉和选择操作,以便算法进行全局最优搜索。采用de/best/1突变策略和动态比例因子,具体计算如式(5)所示:
[0086][0087]
式中,是突变载体,i=1,2,

,n
p
,p1,p2∈{1,2,

,n
p
}是随机整数且p1≠p2,
是比例因子,可由式(6)计算:
[0088][0089]
式中,f
inital
和f
final
是两个常数,是第t次迭代的种群中最差适应度值。
[0090]
获得突变载体后,对个体进行交叉操作以此产生试验载体
[0091][0092]
式中,j=1,2,

,d,j0∈{1,2,

,d}是随机维度,pcr表示[0,1]范围内的交叉概率。
[0093]
最后通过比较适应度值来更新种群,选择新位置矢量的策略如式(8)所示:
[0094][0095]
c、所述的测试集进行模型检验,在训练集上完成模型的训练后,用测试集进行评估,计算实际值与预测值的准确率,在满足给定的预测误差情况下,对电力负荷进行预测。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献