一种基于历史负荷数据的短期负荷预测与修复方法

文档序号:32808432发布日期:2023-01-04 01:27阅读:18来源:国知局
一种基于历史负荷数据的短期负荷预测与修复方法

1.本发明涉及电力负荷数据挖掘技术领域,尤其涉及一种基于历史负荷数据的短期负荷预测与修复方法。


背景技术:

2.在我国智能电网不断发展的背景下,电网的负荷数据规模飞速增长;在大数据发展环境下,电力数据价值受到广泛关注,通过对大量的电力数据进行用电负荷预测能够最大程度减少电网问题,但是大数据下负荷数据存在大量冗余信息,其中包括异常负荷,这给负荷预测带来了不便;因此,如何对海量的电网数据进行高效分析,快速准确地检测出异常的电力数据,是电网安全有效运行的重要保证;现有技术大多基于分类器的异常检测模型,可根据分类器的类型进一步分为监督模型和无监督/半监督模型,由于负荷数据规模庞大,有监督学习对异常负荷做标记时间和人工成本巨大,所以不便于异常负荷检测;所以当下的异常负荷检测大多基于无监督学习开展,利用传统的机器学习算法比如k均值、svm、随机森林算法等进行分类,但受限于异常负荷受多因素的影响(如温度、湿度、降雨量和季节等),而且异常负荷数据本身是一种时序数据,传统分类器依靠空间特征实现聚类,这导致异常负荷检测精度不足,同时面对海量电力负荷数据,在存在大量嘈杂,低级的特征下,传统单一的机器学习模型难以在高维负荷数据中提取有用的特征用于检测异常负荷,以及不能综合考虑多因素的影响,导致异常负荷检测精度有限。


技术实现要素:

3.为了解决上述技术问题,本发明的目的是提供一种基于历史负荷数据的短期负荷预测与修复方法,能够通过准确的提取历史负荷数据的潜在特征从而提高对异常负荷数据的检测精度。
4.本发明所采用的第一技术方案是:一种基于历史负荷数据的短期负荷预测与修复方法,包括以下步骤:
5.对历史负荷数据集进行数据预处理,得到预处理后的历史负荷数据集;
6.通过深度自编码器对预处理后的历史负荷数据集进行特征提取处理,得到重构数据集;
7.通过stacking集成模型对重构数据集进行负荷预测,得到预测值;
8.根据预测值对历史负荷数据集进行修复,得到修复后的历史负荷数据集。
9.进一步,所述对历史负荷数据集进行数据预处理,得到预处理后的历史负荷数据集这一步骤,其具体包括:
10.获取历史负荷数据集并根据历史负荷数据采集对应的相关特征,构建原始特征数据;
11.对原始特征数据的数据缺失部分进行平均值修正,得到平均修正值;
12.根据平均修正值对原始特征数据的数据缺失部分进行填充处理,得到填充后的历
史负荷数据集;
13.对填充后的历史负荷数据集进行归一化处理,得到预处理后的历史负荷数据集。
14.进一步,所述归一化处理的计算函数如下所示:
[0015][0016]
上式中,表示第i个原始样本数据,u表示原始样本数据的均值,σ表示原始样本数据的标准差,表示第i个样本的归一化值。
[0017]
进一步,所述通过深度自编码器对预处理后的历史负荷数据集进行特征提取处理,得到重构数据集这一步骤,其具体包括:
[0018]
将预处理后的历史负荷数据集输入至深度自编码器,所述深度自编码器包括编码器模块和解码器模块,且为具有相同数量神经元的神经网络;
[0019]
基于深度自编码器的编码器模块,对预处理后的历史负荷数据集进行编码与压缩处理,输出具有低维隐向量特征的历史负荷数据集;
[0020]
基于深度自编码器的解码器模块,通过重构误差损失计算函数对具有低维隐向量特征的历史负荷数据集进行解码与重构处理,得到重构数据集。
[0021]
进一步,所述深度自编码器包括互为对称结构的编码器模块和解码器模块,所述编码器模块与解码器模块由隐藏层网络组成,其中隐藏层网络的计算函数如下所示:
[0022]
h(x)=δ(wx+b)
[0023]
上式中,x表示输入数据,w表示隐藏层网络的权重,b表示隐藏层网络所加的偏置,δ表示选择sigmoid函数,h(x)表示隐藏层网络的输出。
[0024]
进一步,所述重构误差损失计算函数的表达式如下所示:
[0025][0026]
上式中,h
θ
(
·
)表示编码器函数,g
θ

·
)表示解码器函数,θ表示隐藏层网络的参数选取,x表示训练数据,xi表示第i个样本数据,n表示一共有n个样本数据。
[0027]
进一步,所述通过stacking集成模型对重构数据集进行负荷预测,得到预测值这一步骤,其具体包括:
[0028]
对重构数据集进行划分处理,得到训练数据集与验证数据集;
[0029]
通过k折交叉验证对训练数据集进行处理,将数据划分为k个子集,其中k-1个子集做训练集,剩下1个子集作为验证集;
[0030]
将验证后的数据集输入至stacking集成模型,所示stacking集成模型包括基学习器模块和元学习器模块;
[0031]
基于stacking集成模型的基学习器模块,对验证后的数据集进行迭代训练,得到初步的预测值;
[0032]
基于stacking集成模型的元学习器模块,结合对基学习器模块得到初步的预测值作为训练数据,进行n次迭代训练得到最终预测值,完成stacking集成模型的训练;
[0033]
基于训练后的stacking集成模型,对验证数据集进行负荷预测,得到预测值。
[0034]
进一步,所述根据预测值对历史负荷数据集进行修复,得到修复后的历史负荷数据集这一步骤,其具体包括:
[0035]
计算预测值的百分比误差值,并根据预测值的百分比误差值计算预测值的均值与方差;
[0036]
根据预测值的均值与方差计算预测值的自适应阈值,得到自适应阈值数据;
[0037]
对自适应阈值与预测值的百分比误差值进行判断;
[0038]
判断到所述预测值的百分比误差值大于或等于自适应阈值,将该预测值替换至对应的历史负荷数据中并更新对应的自适应阈值;
[0039]
判断到所述预测值的百分比误差值小于更新后的自适应阈值,将该预测值的百分比误差值作为下一循环计算的自适应阈值,循环上述计算步骤与判断步骤,直至所有预测值判断完成,输出修复后的历史负荷数据集。
[0040]
进一步,所述预测值的百分比误差值的计算公式如下所示:
[0041][0042]
上式中,表示历史负荷数据集的预测值,y表示历史负荷数据的实际值,pe表示预测值的百分比误差值。
[0043]
进一步,所述预测值的均值与方差的计算公式如下所示:
[0044]
ape=μ
p
+hσ
p
[0045]
上式中,ape表示自适应阈值,μ
p
、σ
p
分别表示所有预测值的pe值的均值和方差,h表示预设权重。
[0046]
本发明方法的有益效果是:本发明通过获取某地区的历史负荷数据并进行数据预处理,通过深度自编码器对预处理后的历史负荷数据进行特征提取处理,可以直接准确的获取历史负荷数据的潜在特征并以此作为训练数据输入至stacking集成模型进行预测,进一步计算预测结果数据的百分比误差,超过误差阈值的即为异常负荷,可以精确的检测出异常负荷数据,最后通过将预测负荷值替代异常负荷,完成异常负荷修复,从而构造出准确的负荷数据集,有效提高负荷预测精度。
附图说明
[0047]
图1是本发明一种基于历史负荷数据的短期负荷预测与修复方法的步骤流程图;
[0048]
图2是本发明具体实施例中深度自编码器结构示意图;
[0049]
图3是本发明具体实施例中stacking集成模型的结构图;
[0050]
图4是本发明具体实施例中基于自适应阈值的异常负荷检测流程图。
具体实施方式
[0051]
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0052]
参照图1,本发明提供了一种基于历史负荷数据的短期负荷预测与修复方法,该方法包括以下步骤:
[0053]
s1、对历史负荷数据集进行数据预处理,得到预处理后的历史负荷数据集;
[0054]
具体地,通过获取某地区3个月的历史负荷数据,每间隔15分钟采集电力负荷数据和相关特征包括(最高温度、最低温度、湿度、风速、降雨量、电价和季节),负荷数据维度为9维,每天采集96个样本数据,并构造8640*9矩阵的原始特征数据集,其中前两个月的数据作为训练样本,用来训练预测模型,后一个月的历史负荷数据作为本实施例的目标数据集;其中本实施例中训练样本不含异常负荷,目标数据集含有已标记的异常负荷;然后对历史负荷数据进行预处理,包括对数据缺失部分填充和数据标准化处理;数据缺失部分进行平均值修正,利用前后时刻观测的特征平均值来填充缺失部分;补充完整后的数据进一步进行归一化处理,处理函数如下:
[0055][0056]
上式中,表示第i个原始样本数据,u表示原始样本数据的均值,σ表示原始样本数据的标准差,表示第i个样本的归一化值。
[0057]
s2、通过深度自编码器对预处理后的历史负荷数据集进行特征提取处理,得到重构数据集;
[0058]
具体地,参照图2,将预处理数据通过深度自编码器进行特征提取和数据重构,本实施例中自编码器模型包括编码器和解码器,编码器和解码器结构对称,由2层隐藏层网络组成,编码器通过隐藏层网络将输入数据(具有8维特征)进行编码和压缩,输入数据xi(具有m维特征)经过n层隐藏层网络输出具有低维隐向量特征(具有2维特征)的历史负荷数据集zi,解码器进行解码和重构,将经过多层隐藏层解码输出重构数据(具有8维特征),即将zi经过n层隐藏层网络解码输出重构数据x
′i(具有m维特征),得到重构数据集,所述隐藏层网络的计算函数表示如下:
[0059]
h(x)=δ(wx+b)
[0060]
上式中,x表示输入数据,w表示隐藏层网络的权重,b表示隐藏层网络所加的偏置,δ表示选择sigmoid函数,h(x)表示隐藏层网络的输出;
[0061]
进一步选择mse作为重构数据的误差损失函数,误差函数loss如下所示:
[0062][0063]
θ=(w,b)
[0064]
上式中,h
θ
(
·
)表示编码器函数,g
θ

·
)表示解码器函数,θ表示隐藏层网络的参数选取,x表示训练数据,xi表示第i个样本数据,n表示一共有n个样本数据;
[0065]
设置epoch=100,bathsize=64训练自编码模型,对本实施例某地区3个月的历史负荷数据进行特征提取和数据重构。
[0066]
s3、通过stacking集成模型对重构数据集进行负荷预测,得到预测值;
[0067]
具体地,参照图3,训练样本选择特征提取后的前两个月历史负荷数据进行stacking集成模型,集成模型的基学习器选择rf,xgb,lgbm三种回归模型,元学习器选择逻辑回归lr模型做最终预测,模型的损失函数选取为mae或mse,对数据进行预处理,使用k折交叉验证,将数据划分为k个子集,其中k-1个子集做训练集,剩下子集做验证集,对3个基学
习器分别进行迭代训练,经过最多300次迭代训练,经过基学习器获得的初步预测值作为元学习器的训练数据进行训练,经过多次迭代训练使集成模型预测精度达到90%以上,即完成对集成模型的训练,之后在本次的目标数据集中利用训练好的集成模型进行异常负荷检测,所诉目标数据集中已提前标好异常负荷点,通过将基学习器的输出值组合,为元学习器形成新的数据集,再训练元学习器输出最终预测值。
[0068]
s4、根据预测值对历史负荷数据集进行修复,得到修复后的历史负荷数据集。
[0069]
具体地,参照图4,计算预测值的百分比误差值,所述预测值的百分比误差值的计算公式如下所示:
[0070][0071]
上式中,表示历史负荷数据集的预测值,y表示历史负荷数据的实际值,pe表示预测值的百分比误差值;
[0072]
并根据预测值的百分比误差值计算预测值的均值与方差,所述预测值的均值与方差的计算公式如下所示:
[0073]
ape=μ
p
+hσ
p
[0074]
上式中,ape表示自适应阈值,μ
p
、σ
p
分别表示所有预测值的pe值的均值和方差,h表示预设权重,权重取值为0.5;
[0075]
根据预测值的均值与方差计算预测值的自适应阈值,得到自适应阈值数据,基于自适应阈值,预测负荷的百分比误差大于自适应阈值即为异常负荷,并做好标记,所述阈值为自适应阈值ape;对自适应阈值与预测值的百分比误差值进行判断;判断到所述预测值的百分比误差值大于自适应阈值,将该预测值替换至对应的历史负荷数据中,在替换之前会标记该点为异常负荷点,计算精确率、召回率和准确率是通过已标记的异常负荷点与实际的异常负荷点进行比较,可以得出其精确率、召回率和准确率;判断到所述预测值的百分比误差值小于自适应阈值,将该预测值的百分比误差值作为下一循环计算的自适应阈值,循环上述计算步骤与判断步骤,直至所有预测值判断完成,输出修复后的历史负荷数据集;
[0076]
其中,基于自适应阈值对异常负荷进行标记,进一步转换为二分类问题,由目标数据集中的实际异常负荷构建混淆矩阵,进一步根据准确率,精准率和召回率3个指标来评估异常负荷检测精度;
[0077]
进一步的所述准确率的计算公式如下所示:
[0078][0079]
所述精确率的计算公式如下所示:
[0080][0081]
所述召回率的计算公式如下所示:
[0082][0083]
上式中,tp表示真正例,fp表示假正例,fn表示假负例,tn表示真负例;
[0084]
最后通过将预测负荷值替代异常负荷,完成异常负荷修复,可以有较高精确度检
测出异常负荷数据,从而构造出准确的负荷数据集,这将有利于提高负荷预测精度,可以用于用户用电行为分析等。
[0085]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1