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

一种电力负荷预测方法、装置及终端设备与流程

2021-12-18 01:54:00 来源:中国专利 TAG:


1.本发明涉及电力数据处理领域,尤其涉及一种电力负荷预测方法、装置及终端设备。


背景技术:

2.随着智能电网和清洁能源逐渐成为电力行业发展的方向,电力负荷预测越来越受到电力工作者的关注。精准的电力负荷预测能够为电力系统的调度策略以及电网的运行结构调整提供重要的依据,有效地提高电力系统运行的稳定性。
3.目前,电力负荷预测常用的方法可以分为经典方法和人工智能方法。经典方法是基于数学建模的一种方法,包括时间序列分析、回归分析等,然而,经典模型是一种单一的线性模型,其预测精度无法满足现状,当前电力负荷的影响因素超过32种以上,简单的回归分析已经无法很好的拟合模型。人工智能的方法如:神经网络、svm、随机森林等,在多维数据的拟合上都有很好的表现,然而利用人工智能的方法搭建模型的时候,需要工程师利用自身的经验对模型性能进行优化,包括对模型参数进行调优和选择,还要对模型的损失函数和正则项进行选择,不仅大大增加了模型训练的时间,而且无法确保优化后的模型为最优模型,影响电力负荷预测结果的准确度。


技术实现要素:

4.针对上述问题,本发明实施例的目的在于提供一种电力负荷预测方法、装置、终端设备及存储介质,能够利用自动机器学习搭建预测电力负荷的最优模型,大大降低了模型训练的时间,提高了电力负荷预测的精度。
5.为了实现上述目的,本发明实施例第一方面提供了一种电力负荷预测方法,包括数据获取步骤、数据聚类步骤、数据划分步骤、数据转换步骤、负荷预测步骤;所述数据获取步骤具体为:获取电力负荷数据;所述数据聚类步骤具体为:基于spark引擎,将所述电力负荷数据输入到基于k

means算法的模型,采用优化器将k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数,将所述第一最优超参数作为所述基于k

means算法的模型的参数,获得聚类模型,根据所述聚类模型,对所述电力负荷数据进行聚类,输出待预测电力负荷数据;所述数据划分步骤具体为:将所述待预测电力负荷数据分成训练集和预测集;所述数据转换步骤具体为:基于所述spark引擎,将所述训练集进行rdd转换,生成第一rdd数据集,将所述预测集进行rdd转换,生成第二rdd数据集;所述负荷预测步骤具体为:将所述第一rdd数据集输入到基于所述spark引擎的xgboost模型,采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数,将所述第二最优超参数作为所述xgboost模型的参数,获得负荷预测模型,将所述第二rdd数据集输入到所述负荷预测模型进行电力负荷预测,输出电力负荷预测值。
6.进一步地,所述电力负荷预测方法在获取所述电力负荷数据后还包括:对所述电
力负荷数据进行预处理,所述预处理包括缺失值过滤处理、缺失值填充处理和异常值过滤处理;对预处理后的电力负荷数据进行归一化处理;采用smote算法对归一化处理后的电力负荷数据进行重采样;则,所述基于spark引擎,将所述电力负荷数据输入到基于k

means算法的模型具体包括:基于spark引擎,将重采样后的电力负荷数据输入到基于k

means算法的模型。
7.进一步地,所述电力负荷预测方法在对所述归一化处理后的电力负荷数据进行重采样后,还包括:采用互信法对所述重采样后的电力负荷数据的特征属性进行选择,获得待聚类数据;则,所述基于spark引擎,将重采样后的电力负荷数据输入到基于k

means算法的模型具体包括:基于spark引擎,将所述待聚类数据输入到基于k

means算法的模型。
8.进一步地,所述电力负荷预测方法在执行所述数据聚类步骤后,还包括:采用pca算法对所述待预测电力负荷数据进行降维操作,获得低维度电力负荷数据;则,所述将所述待预测电力负荷数据分成训练集和预测集具体包括:将所述低维度电力负荷数据分成训练集和预测集。
9.进一步地,所述采用优化器将所述k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数具体包括:设置贝叶斯优化器的搜索范围;将所述k

means算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第一最优超参数;其中,所述第一最优超参数包括簇的最优个数。
10.进一步地,所述采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数具体包括:设置贝叶斯优化器的搜索范围;将所述xgboost算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第二最优超参数;其中,所述第二最优超参数包括决策树的最优深度和决策树的最优个数。
11.本发明实施例第二方面提供了一种电力负荷预测装置,包括:数据获取模块,用于获取电力负荷数据;数据聚类模块,用于基于spark引擎,将所述电力负荷数据输入到基于k

means算法的模型,采用优化器将k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数,将所述第一最优超参数作为所述基于k

means算法的模型的参数,获得聚类模型,根据所述聚类模型,对所述电力负荷数据进行聚类,输出待预测电力负荷数据;数据划分模块:用于将所述待预测电力负荷数据分成训练集和预测集;数据转换模块,用于基于所述spark引擎,将所述训练集进行rdd转换,生成第一rdd数据集,将所述预测集进行rdd转换,生成第二rdd数据集;负荷预测模块,用于将所述第一rdd数据集输入到基于所述spark引擎的xgboost模型,采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数,将所述第二最优超参数作为所述xgboost模型的参数,获得负荷预测模型,将所述第二rdd数据集输入到所述负荷预测模型进行电力负荷预测,输出电力负荷预测值。
12.进一步地,所述数据聚类模块还用于:设置贝叶斯优化器的搜索范围;将所述k

means算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第一最优超参数;其中,所述第一最优超参数包括簇的最优个数。
13.进一步地,所述负荷预测模块还用于:设置贝叶斯优化器的搜索范围;将所述xgboost算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函
数,获得第二最优超参数;其中,所述第二最优超参数包括决策树的最优深度和决策树的最优个数。
14.本发明第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的电力负荷预测方法。
15.相比于现有技术,本发明实施例的有益效果在于:本发明实施例提供的一种电力负荷预测方法、装置及终端设备,通过利用贝叶斯优化器对基于k

means的模型和xgboost模型进行优化,自动选择模型的最优参数,从而获得最优的聚类模型和负荷预测模型,大大降低了模型训练的时间,提高了电力负荷预测的精度。
附图说明
16.图1是本发明提供的一种电力负荷预测方法的一个优选实施例的流程示意图;
17.图2是本发明提供的一种电力负荷预测装置的一个优选实施例的结构示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.参见图1,是本发明提供的一种电力负荷预测方法的一个优选实施例的流程示意图。
20.本发明实施例第一方面提供了一种电力负荷预测方法,包括步骤s1至步骤s5,具体如下:
21.步骤s1为数据获取步骤,具体为:获取电力负荷数据。
22.需要说明的是,电力负荷数据一般会受历史负荷、气象因素、日期因素等超过32维因素的影响,因此会对这些因素的数据进行采集。历史负荷因数包括:前一天的负荷数据和前一天的负荷极值;气象因素包括:湿度、温度、风速、降雨量、气压;日期因素包括:小时、星期、月份等因素。
23.优选地,在获取所述电力负荷数据后,还包括:对所述电力负荷数据进行预处理,所述预处理包括缺失值过滤处理、缺失值填充处理和异常值过滤处理;
24.具体的,所述缺失值过滤处理会自动对缺失值比例较高的列进行过滤,设置默认的缺失值比例为0.5,一般认为缺失值比例大于0.5的列对于结果影响不大;除此之外,对取值相同的列也进行过滤处理,因为相同的列只需保留其中一列即可,不会影响电力负荷预测的结果。
25.优选地,所述缺失值填充处理目的是对缺失值比例低于0.2的列进行填充。
26.具体的,所述异常值过滤处理采用3倍标准差原则,即整体平均数
±
整体标准差
×
用户设置的标准差倍数(默认为3)。
27.优选地,为了避免数据不属于一个量纲的数,在所述电力负荷数据进行预处理后,对对预处理后的电力负荷数据进行归一化处理,其原则是当数据为连续型数据时,则需要
进行归一化。
28.优选地,针对数据不平衡的问题,当存在类别样本差异过大时,采用smote(synthetic minority oversampling technique,合成少数类过采样技术)算法对归一化处理后的电力负荷数据进行重采样。
29.优选地,在将所述电力负荷数据进行预处理、归一化处理和重采样处理后,将处理后的电力负荷数据存储在hive数据仓库。
30.优选地,由于数据维度过多,且样本数量巨大,因此采用互信法对上述重采样后的电力负荷数据的特征属性进行选择,获得待聚类数据,经过特征属性的选择能减少样本数据中多余的信息,降低聚类模型与负荷预测模型训练的时间,提高电力负荷预测的精确度。
31.步骤s2为数据聚类步骤,具体为:基于spark引擎,将所述电力负荷数据输入到基于k

means算法(k均值聚类算法)的模型,采用优化器将k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数,将所述第一最优超参数作为所述基于k

means算法的模型的参数,获得聚类模型,根据所述聚类模型,对所述电力负荷数据进行聚类,输出待预测电力负荷数据。
32.具体的,所述采用优化器将所述k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数具体包括:设置贝叶斯优化器的搜索范围;将所述k

means算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第一最优超参数;其中,所述第一最优超参数包括簇的最优个数。
33.需要说明的是,基于k

means算法的模型的超参数都可以通过贝叶斯优化器进行自动优化和选择,贝叶斯优化器的搜索过程有两个重要的部分,即求解先验函数与求解采集函数。
34.求解先验函数主要通过高斯回归函数进行求解,目的是为了逼近所述基于k

means算法的模型的损失函数;求解采集函数主要包括ei(expected improvement)、pi(probability of improvement)和ucb(upper confidence bound)这几种方法,能实现开发(exploitation)和探索(exploration)之间的权衡;经过不断迭代地求解先验函数和求解采集函数可以选择出基于k

means算法的模型的最优超参数。
35.优选地,本发明实施例通过ucb算法求解采集函数,ucb=μ(x) kσ(x),其中,k为调节参数,可直观地理解为上置信边界,μ(x)为高斯回归过程求得的未知点的均值,σ(x)为高斯回归过程求得的未知点的标准差。
36.具体的,采用贝叶斯优化器对基于k

means算法的模型进行优化的步骤为:随机初始化搜索参数,将k

means算法的损失函数作为搜索对象,通过高斯回归函数求解先验函数,再通过ucb算法求解采集函数,不断迭代上述求解过程,直到求解得到k

means算法的损失函数的最小值,进而得到基于k

means算法的模型的最优超参数,包括k

means算法的簇的最优个数,最终得到聚类模型。
37.优选地,为了提高电力负荷预测的效率,在执行完数据聚类步骤之后,对聚类完成的多个类别的待预测数据进行降维操作,采用pca(principal componentanalysis,主成分分析)算法对大于20维特征的待预测数据进行维度压缩。
38.步骤s3为数据划分步骤,具体为:将所述待预测电力负荷数据分成训练集和预测集。
39.步骤s4为数据转换步骤,具体为:基于所述spark引擎,将所述训练集进行rdd转换,生成第一rdd数据集,将所述预测集进行rdd转换,生成第二rdd数据集。
40.步骤s5为负荷预测步骤,具体为:将所述第一rdd数据集输入到基于所述spark引擎的xgboost模型,采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数,将所述第二最优超参数作为所述xgboost模型的参数,获得负荷预测模型,将所述第二rdd数据集输入到所述负荷预测模型进行电力负荷预测,输出电力负荷预测值。
41.具体的,采用spark引擎进行分布式并行计算,算法采用xgboost算法的回归树法进行预测,xgboost使用xgboost4j

spark包,可以在spark上分布式运行。
42.具体的,所述采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数具体包括:设置贝叶斯优化器的搜索范围;将所述xgboost算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第二最优超参数;其中,所述第二最优超参数包括决策树的最优深度和决策树的最优个数。
43.具体的,xgboost算法的关键是利用损失函数的二阶泰勒展开,并加入正则化降低模型复杂度,避免“过拟合”。建立由k棵决策树组成的加法模型:
[0044][0045]
其中,f
k
(x
i
)表示第k棵决策树在函数空间f中的函数,x
i
表示输入模型中的特征向量,表示输出结果。
[0046][0047]
其中,obj
(t)
表示目标函数,y
i
是电力负荷历史数据,t是决策树叶子的个数,w是叶子的权重,γ是叶子的惩罚项,λ是权重的惩罚项。对损失函数二阶泰勒展开,对求偏导,将f
t
(x
i
)看作δx,则目标函数为:
[0048][0049][0050][0051]
其中,g
i
定义为平方损失函数的一阶导数,h
i
表示二阶导数信息,为常数项信息,去掉常数项信息,并将决策树定义为f
t
(x)=w
q(x)
,定义集合i
j
={i|q(x
i
)=j}为所有被划分到叶子节点j的训练样本的集合。根据决策树叶子节点重新组织为t,其目标函数为:
[0052][0053]
对式(6)中w
j
求偏导并等于0,把求解得到的w
j
代入式(6)得到最终的目标函数:
[0054][0055]
其中,g
j
是叶子节点
j
所包含的样本的一阶导数的和,h
j
是叶子节点j所包含的样本的二阶导数的和。
[0056]
具体的,采用贝叶斯优化器对xgboost模型进行优化的步骤为:随机初始化搜索参数,将xgboost算法的损失函数作为搜索对象,通过高斯回归函数求解先验函数,再通过ucb算法求解采集函数,不断迭代上述求解过程,直到求解得到xgboost算法的损失函数的最小值,进而得到xgboost模型的最优超参数,影响xgboost模型的参数主要是决策树的深度和决策树的个数,因此xgboost模型的最优超参数包括决策树的深度和决策树的个数,最终得到负荷预测模型。
[0057]
本发明实施例提供的一种电力负荷预测方法,通过利用贝叶斯优化器对基于k

means的模型和xgboost模型进行优化,自动选择模型的最优参数,从而获得最优的聚类模型和负荷预测模型,大大降低了模型训练的时间,提高了电力负荷预测的精度。
[0058]
参见图2,是本发明提供的一种电力负荷预测装置的一个优选实施例的结构示意图。
[0059]
本发明实施例第二方面提供了一种电力负荷预测装置,包括:数据获取模块201,用于获取电力负荷数据;数据聚类模块202,用于基于spark引擎,将所述电力负荷数据输入到基于k

means算法的模型,采用优化器将k

means算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第一最优超参数,将所述第一最优超参数作为所述基于k

means算法的模型的参数,获得聚类模型,根据所述聚类模型,对所述电力负荷数据进行聚类,输出待预测电力负荷数据;数据划分模块203:用于将所述待预测电力负荷数据分成训练集和预测集;数据转换模块204,用于基于所述spark引擎,将所述训练集进行rdd转换,生成第一rdd数据集,将所述预测集进行rdd转换,生成第二rdd数据集;负荷预测模块205,用于将所述第一rdd数据集输入到基于所述spark引擎的xgboost模型,采用所述优化器将所述xgboost算法的损失函数作为所述优化器的搜索对象进行参数搜索,得到第二最优超参数,将所述第二最优超参数作为所述xgboost模型的参数,获得负荷预测模型,将所述第二rdd数据集输入到所述负荷预测模型进行电力负荷预测,输出电力负荷预测值。
[0060]
进一步地,所述数据获取模块201还用于:在获取所述电力负荷数据后,对所述电力负荷数据进行预处理,所述预处理包括缺失值过滤处理、缺失值填充处理和异常值过滤处理;对预处理后的电力负荷数据进行归一化处理;采用smote算法对归一化处理后的电力
负荷数据进行重采样;则,所述基于spark引擎,将所述电力负荷数据输入到基于k

means算法的模型具体包括:基于spark引擎,将重采样后的电力负荷数据输入到基于k

means算法的模型。
[0061]
进一步地,所述数据获取模块201还用于:在对所述归一化处理后的电力负荷数据进行重采样后,采用互信法对所述重采样后的电力负荷数据的特征属性进行选择,获得待聚类数据;则,所述基于spark引擎,将重采样后的电力负荷数据输入到基于k

means算法的模型具体包括:基于spark引擎,将所述待聚类数据输入到基于k

means算法的模型。
[0062]
进一步地,所述数据划分模块203还用于:在执行所述数据聚类步骤后,采用pca算法对所述待预测电力负荷数据进行降维操作,获得低维度电力负荷数据;则,所述将所述待预测电力负荷数据分成训练集和预测集具体包括:将所述低维度电力负荷数据分成训练集和预测集。
[0063]
进一步地,所述数据聚类模块202还用于:设置贝叶斯优化器的搜索范围;将所述k

means算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第一最优超参数;其中,所述第一最优超参数包括簇的最优个数。
[0064]
进一步地,所述负荷预测模块205还用于:设置贝叶斯优化器的搜索范围;将所述xgboost算法的损失函数作为所述贝叶斯优化器的搜索对象,迭代求解先验函数与采集函数,获得第二最优超参数;其中,所述第二最优超参数包括决策树的最优深度和决策树的最优个数。
[0065]
需要说明的是,本发明实施例所提供的一种电力负荷预测装置,能够实现上述任一实施例所述的电力负荷预测方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述实施例所述的电力负荷预测方法的作用以及实现的技术效果对应相同,这里不再赘述。
[0066]
本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的电力负荷预测方法。
[0067]
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0068]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
[0069]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;
存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0070]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

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

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

相关文献