CN114358160A - 一种电力系统中的数据异常检测方法 - Google Patents
一种电力系统中的数据异常检测方法 Download PDFInfo
- Publication number
- CN114358160A CN114358160A CN202111611170.XA CN202111611170A CN114358160A CN 114358160 A CN114358160 A CN 114358160A CN 202111611170 A CN202111611170 A CN 202111611170A CN 114358160 A CN114358160 A CN 114358160A
- Authority
- CN
- China
- Prior art keywords
- data
- training
- data set
- abnormal
- random forest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种电力系统中的数据异常检测方法,包括从电网服务器中采集用户的原始数据Z,进行数据预处理,然后输入训练好的随机森林进行推断获得是否为异常数据的决策结果;数据预处理包括先对原始数据Z进行归一化处理,获得数据znew,再对数据znew进行主成分分析PCA进行降维处理;随机森林训练过程为:从电网服务器中采集用户数据,进行所述数据预处理获得数据集Y,然后将数据集Y使用孤立森林进行训练,选取可能性大于60%的异常点进行人工标记,作为训练数据集来训练随机森林。本发明通过对数据进行预处理,在不降低异常数据判断的准确性的前提下,大大加快了数据处理速度。
Description
技术领域
本发明涉及电力系统数据安全领域,具体是一种电力系统中的数据异常检测方法。
背景技术
电力系统是我们当今的命脉,智能电网的出现显著提高了电网的效率和可靠性。电力系统非常复杂,安全性难以得到保障。采用传统的数据异常检测方法会导致告警不准确、故障自动发现率低、漏告警和误告警数量多等问题,而且需要人员实时监控。如果不能及时、准确地分析数据,对电网的稳定、实时和安全运行将产生严重的威胁。电力系统常见问题有测电设备异常,数据上报异常,网络传输异常等,本方法通过分析电网产生的数据,保障电网稳定运行。目前用以检测的方法主要是传统基于规则的检测方法以及基于深度学习的检测方法,现有方法主要存在的问题是传统检测方法有效性不够,检测错误率高,基于深度学习的方法数据维度高,训练成本高,模型运算慢,标注工作量大。因此需要改进现有技术从而能够准确快速地分析电网的异常数据,保障电网稳定运行。
发明内容
本发明要解决的技术问题是提供一种电力系统中的数据异常检测方法,用以检测电网运行的时间序列中的异常数据。
为了解决上述技术问题,本发明提供一种电力系统中的数据异常检测方法,具体过程包括:从电网服务器中采集用户的原始数据Z=[z1,z2,z3,…,zi,…,z300],进行数据预处理,然后输入训练好的随机森林进行推断获得是否为异常数据的决策结果;
所述随机森林训练过程为:从电网服务器中采集用户数据,进行所述数据预处理获得数据集Y,然后将数据集Y使用孤立森林进行训练,选取可能性大于60%的异常点进行人工标记,作为训练数据集来训练随机森林。
作为本发明的一种电力系统中的数据异常检测方法的改进:
所述归一化处理为:
其中,Zi_new是归一化之后的数据,zi是原始数据,i∈(1,300),inew∈(1,300)。
作为本发明的一种电力系统中的数据异常检测方法的进一步改进:
所述主成分分析PCA)处理的具体过程如下:
1)、每个特征都减去各自平均值:
令|λE-C|=0 (公式4)
其中,λ为特征值的大小、E为C对应的单位矩阵,通过矩阵行列式计算方法化简为:
(λ-λ1)(λ-λ2)……(λ-λi)=0 (公式3)
其中λi表示公式3因式分解得到的计算结果,为常数;
将所有特征值中最大的30个特征值选出,记作λ1,λ2,λ3,λ4,λ5……λ30;
3)、将λ1,λ2,λ3,λ4,λ5……λ30分别代入λ和公式4;根据线性方程组求解得出最大的30个特征值λ对应的特征向量ξ=[ξ1,ξ2,ξ3……ξ30];
4)、计算数据集Y为:
Y=ξzi_new (公式5)
作为本发明的一种电力系统中的数据异常检测方法的进一步改进:
所述孤立森林进行训练的过程为:
1)、通过电力服务商服务器采集用户的历史数据和电力系统的异常电表历史数据,数据维度为300维,对所有数据进行所述归一化处理和所述主成分分析PCA处理获得数据集Y;
2)、构建孤立森林
随机选取数据集Y一个维度的一个值作为选取值,然后对数据集Y中的每条记录与选取值进行对比,大于或等于选取值的放入右子树,小于选取值的放入左子树;递归构造左子树和右子树,直到传入的数据集Y只有一条记录或者条数大于1的同一个记录;
然后设置树的数量为100,样本采样量为256,进行树的构建,并计算异常分数S(x,n):
其中,h(x)为生成树的高度,x为数据集Y中随机维度的一个值,n为样本大小,ε为欧拉常数,E(h(x))表示h(x)的均值,c(n)表示给定数量为n的样本得到路径长度的平均值,H(k)为调和数:
H(k)=ln(k)+ε (公式8)
其中,k为变量,通过给定k的值就能得出h(k);
最后,挑出异常分数S(x,n)值大于0.6对应的数据集Y中的记录,人工标注为异常数据;标记完成后的训练数据集中包括正常数据和异常数据,均作为所述随机森林训练的输入。
作为本发明的一种电力系统中的数据异常检测方法的进一步改进:
训练所述随机森林的过程为:
1)、构建单决策树:
令单棵决策树的输入样例的个数为51908个,从所述孤立森林进行训练获得的训练数据集中有放回的随机抽取5000个训练样例;取特征输入,采取特征的维度为30,在选取好的特征中使用随机函数来进行特征进一步选取,选取2个被随机选取的特征进行决策树分裂;重复执行直到选取的5000个训练样例为同一个种类;最后生成128棵单决策树;
2)、构建随机森林
将所述128颗单决策树进行的结果进行统计,取单棵树分类结果最多的类别作为整个随机森林的分类结果;
3)、数据测试
将所述训练数据集分成五份,通过K折交叉验证方法对随机森林进行测试,K=5,从而获得所述训练好的随机森林。
本发明的有益效果主要体现在:
1、本发明通过使用深度学习的方法,加快了模型的收敛速度和运算速度,减少了标注成本,轻量化模型更易于部署在边缘端,能够很好的解决目前数据安全的问题。
2、对于一些精心设计的攻击,原有的基于规则的方案只能通过人工调整,或者更新,本发明所设计的模型有一定的泛化性,能够有效的检测出一些新的异常数据。
3、本发明通过对数据进行归一化处理和主成分分析(PCA)处理的预处理,可以将数据处理维度降低为原有的10%,在不降低异常数据判断的准确性的前提下,大大加快了孤立森林和随机森林数据处理速度。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1为本发明的一种电力系统中的数据异常检测方法的流程示意图;
图2为图1中数据采集的过程示意图;
图3为本发明的一种电力系统中的数据异常检测方法检测在线数据的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例1
一种电力系统中的数据异常检测方法,如图1-3所示,首先是对电网服务器的历史数据以及异常数据的采集,然后对数据进行预处理操作,其中主要包含数据归一化处理以及PCA主成分分析处理;接着对数据进行孤立森林模型训练,选取异常概率大的数据进行人工检测标记,标记好的数据集最后通过随机森林进行训练分类来判断数据是否异常。随机森林训练好之后,将在线数据经过预处理后输入训练好的随机森林模型,通过模型的输出结果,得出在线数据是否为异常数据。
步骤1:数据采集
对系统收集数据进行采集,采集的方法如图2,首先发电站发电到变电站变电然后通过配电站将电力输送给消费者,在各个环节中均设有数据采集使用的传感器,在整个过程中的相关数据都传入传感器,传感器的数据传输到网关,最后从网关中输出数据。采集的数据包括内部用户电表用电数据以及历史异常数据,部分数据通过采集某电力服务商服务器的历史数据,数据维度为300维。由于负样本数据不够,另一部分数据来自于某电力系统的异常电表的历史数据,维度信息与采集到的数据相同为300维。为了保证数据的安全性,数据都经过脱敏处理,隐去了数据的用户名和相关信息。采集的数据总共为64888条样本数据构成训练的源数据集,并将源数据集进行存储。。
步骤2:数据预处理
预处理包括归一化处理以及主成分分析(PCA)降维,对所有源数据集进行归一化处理,以及主成分分析(PCA)处理,将原有数据的维度降低为原有的10%,在损失精度较小的情况下给数据降低复杂度,缩短了模型的训练时间和处理时间。
归一化处理的目的是在损失精度较小的情况下给数据降低复杂度,而现有的基于深度学习的方法是直接对数据进行训练,没有降维。提高了模型训练的时间以及模型大小,缩短了训练时间和处理时间。
步骤2-1:将所有源数据进行归一化,记原始数据Z=[z1,z2,z3,z4……,z300]。对每个维度进行归一化,操作为:
其中,Zi_new是归一化之后的数据,zi是原始数据,i∈(1,300),inew∈(1,300)
步骤2-2:主成分分析对数据进行降维。
步骤2-2-1:每个特征(归一化之后的数据)都减去各自平均值:
其中,λ为特征值的大小、E为C对应的单位矩阵。根据|λE-C|=0,通过矩阵行列式计算方法化简为:
(λ-λ1)(λ-λ2)……(λ-λi)=0 (公式3)
其中λi为常数,表示公式3因式分解得到的计算结果,从而得到特征值λ的所有根。将所有根最大的30个特征值选出,记作λ1,λ2,λ3,λ4,λ5……λ30。
步骤2-2-3:将λ1,λ2,λ3,λ4,λ5……λ30分别代入λ以及公式4
λE-C=0 (公式4)
根据线性方程组求解得出公式4的根ξ1,ξ2,ξ3……ξ30,即
特征向量ξ=[ξ1,ξ2,ξ3……ξ30]。
步骤2-2-4:归一化后的数据zi_new降低维度后的数据集Y,具体为:
Y=ξzi_new (公式5)
步骤3:构建孤立森林iTree
构建孤立森林iTree,然后对步骤2-2-4输出的数据集Y使用孤立森林进行训练,找出数据集中可能性大于60%的异常点进行人工标记;通过选择可能性比较大的异常点进行标注,减少了人工标注的工作量。
步骤3-1:构建孤立森林iTree的过程
步骤3-1-1:随机选取数据集Y的某维度的一个值作为选取值,然后对数据集Y中的每条记录与选取值进行对比,大于等于选取值的放入右子树,小于选取值的放入左子树;
步骤3-1-2:递归构造左子树和右子树,直到传入的数据集Y只有一条记录或者是多条同一个记录;
步骤3-1-3:设置树的数量为100,样本采样量为256。进行树的构建。
步骤3-1-4:根据构建出来的树的情况计算得分S(x,n):
其中,h(x)为生成树的高度,x为对应的当前记录即数据集Y中随机维度的一个值,n为样本大小,E(h(x))代表h(x)的均值,c(n)表示给定数量为n的样本得到路径长度的平均值,H(k)为调和数,具体计算方法为:
H(k)=ln(k)+ε (公式8)
其中,k为变量,根据k可以求出h(k)。
步骤3-2:对于异常分数S(x,n)值大于0.6对应的数据集Y中的记录人工标注为异常数据。标记完成后包括51855条正常数据和13033条异常数据,共计64888条,作为训练数据集。
步骤4:训练随机森林
使用步骤3中标记好的训练数据作为推断模型的输入,推断模型采用随机森林模型。随机森林即首先随机选择数据,训练出多棵决策树,将生成的多颗无关决策树组成随机森林,通过按照多棵树分类器投票决定最终分类结果。对于本方法最终的输出结果是一个二分类结果,即是否是正常数据的判断。随机森林具体训练过程如下:
步骤4-1:构建单决策树
步骤4-1-1:令51908为训练样例的个数,则单棵决策树的输入样例的个数为51908个从训练集中有放回的随机抽取5000个训练样例。
步骤4-1-2:取特征输入,我门这里采取特征的维度为30,在选取好的特征中使用随机函数来进行特征进一步选取,选取2个被随机选取的特征进行决策树分裂。
步骤4-1-3:重复执行步骤4-1-2直到选取的5000个训练样例为同一个种类。对于每一个输入,决策树都能输出决策结果,对于本方法来说决策结果即为是否为异常数据,只输出0和1。0代表异常数据,1代表正常数据。
步骤4-2:构建随机森林
按照步骤4-1生成的128颗决策树,然后将128颗单决策树进行的结果进行统计,单颗树分类最多的结果为随机森林模型的结果。通过孤立森林算法,能够比传统算法更好的提高模型的泛化率,对于精心设计避开传统检测方法的数据,随机森林算法能够有一定识别效果。通过数据经过随机森林判断是否异常而对系统进行报警,能够提高系统的安全性。
步骤5:测试随机森林
通过K折交叉验证方法进行测试,本次测试选取K=5。将步骤3建立的训练数据集(共计64888条数据)分割成5份,一份被保留作为验证模型的数据,其他4份用来训练(即每个训练集数据为51908条,测试集为12980条)。交叉验证重复5次,每份验证一次,最后求出的平均结果即为所得到的评价指标。每次评价指标计算方法为:
其中,α为参数,得到F1指标,即公式9中取α=1,P为准确率,R为召回率。
准确率计算方法为:
召回率计算方法为:
TP代表将正类预测为正类数,TN代表将负类预测为负类数,FN代表将负类预测为正类数,FP代表将正类预测为负类数。
最后将5折交叉验证每次获得的F-1指标求平均,得到的评价指标F-1为0.914555。
步骤6:在线使用
对电网服务器的在线数据进行数据异常检测的过程如图3所示。在发电站发电到变电站变电、通过配电站将电力输送给消费者的各个环节中均设有数据采集使用的传感器,在线数据通过传感器传输到网关,最后从网关中输出在线数据并传输至电网服务器。从电网服务器中获得用户数据Z=[z1,z2,z3,z4……,z300],然后按步骤2对用户数据Z进行预处理,包括先对用户数据Z进行归一化处理,获得znew=[z1_new,z2_new,z3_new,z4_new……,z300_new],然后对znew进行主成分分析(PCA)处理,获得降维后的数据集Y,然后输入步骤4中训练好的随机森林进行推断获得决策结果(即是否为异常数据),0代表异常数据,1代表正常数据。
将网关采集的数据直接经过模型处理在传到下游,在模型对数据判断时,发现模型能够正常检测出数据是否异常。
实验1:
为了验证本发明的有效性,为减少不同数据对最终分析结果的影响,统一采用实施例1中步骤1-3所采集的样本数据源和训练数据集,测试的数据为10000条。选取三种方案进行对比:
第一种方法为前人提出的基于统计学的方法通过离群密度点算法,即通过正态分布来拟合模型,通过当前数据的数值与其前一段时间内的均值的比值的对数进行正态分布的拟合,设定置信区间,在置信区间之外的数据点就认为是异常点。第二种方法也是前人提出的基于孤立森及随机森林,通过孤立森林和随机森林分别训练初始数据集,使用孤立森林得到的结果和随机森林分类的结果进行概率上的平均,大于50%即判断异常。第三种为实施例1所述异常数据检测方法。然后正对三种方法的测试结果,分别统计F1指标、处理时间秒/万条和Ram使用率,F1指标按公式9计算,处理时间秒/万条即统计处理一万条数据耗费的时间,Ram使用率即统计本机内存占用大小,结果如表1所示。
表1
根据结果不难看出,本发明在准确方面接近方法2,处理速度上比方法2高很多。方法1通过统计学的方法来进行预测,虽然时间很短,但是准确率偏低。本方法的优越性为几乎不影响准确率的情况下能够提高处理速度。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (5)
3.根据权利要求2所述的一种电力系统中的数据异常检测方法,其特征在于:
所述主成分分析PCA)处理的具体过程如下:
1)、每个特征都减去各自平均值:
令|λE-C|=0 (公式4)
其中,λ为特征值的大小、E为C对应的单位矩阵,通过矩阵行列式计算方法化简为:
(λ-λ1)(λ-λ2)……(λ-λi)=0 (公式3)
其中λi表示公式3因式分解得到的计算结果,为常数;
将所有特征值中最大的30个特征值选出,记作λ1,λ2,λ3,λ4,λ5……λ30;
3)、将λ1,λ2,λ3,λ4,λ5……λ30分别代入λ和公式4;根据线性方程组求解得出最大的30个特征值λ对应的特征向量ξ=[ξ1,ξ2,ξ3……ξ30];
4)计算归一化后的数据zi_new降低维度后的数据集Y为:
Y=ξzi_new (公式5)。
4.根据权利要求3所述的一种电力系统中的数据异常检测方法,其特征在于:
所述孤立森林进行训练的过程为:
1)、通过电力服务商服务器采集用户的历史数据和电力系统的异常电表历史数据,数据维度为300维,对所有数据进行所述归一化处理和所述主成分分析PCA处理获得数据集Y;
2)、构建孤立森林
随机选取数据集Y一个维度的一个值作为选取值,然后对数据集Y中的每条记录与选取值进行对比,大于或等于选取值的放入右子树,小于选取值的放入左子树;递归构造左子树和右子树,直到传入的数据集Y只有一条记录或者条数大于1的同一个记录;
然后设置树的数量为100,样本采样量为256,进行树的构建,并计算异常分数S(x,n):
其中,h(x)为生成树的高度,x为数据集Y中随机维度的一个值,n为样本大小,ε为欧拉常数,E(h(x))表示h(x)的均值,c(n)表示给定数量为n的样本得到路径长度的平均值,H(k)为调和数:
H(k)=ln(k)+ε (公式8)
其中,k为变量,通过给定k的值就能得出h(k);
最后,挑出异常分数S(x,n)值大于0.6对应的数据集Y中的记录,人工标注为异常数据;标记完成后的训练数据集中包括正常数据和异常数据,均作为所述随机森林训练的输入。
5.根据权利要求4所述的一种电力系统中的数据异常检测方法,其特征在于:
训练所述随机森林的过程为:
1)、构建单决策树:
令单棵决策树的输入样例的个数为51908个,从所述孤立森林进行训练获得的训练数据集中有放回的随机抽取5000个训练样例;取特征输入,采取特征的维度为30,在选取好的特征中使用随机函数来进行特征进一步选取,选取2个被随机选取的特征进行决策树分裂;重复执行直到选取的5000个训练样例为同一个种类;最后生成128棵单决策树;
2)、构建随机森林
将所述128颗单决策树进行的结果进行统计,取单棵树分类结果最多的类别作为整个随机森林的分类结果;
3)、数据测试
将所述训练数据集分成五份,通过K折交叉验证方法对随机森林进行测试,K=5,从而获得所述训练好的随机森林。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111611170.XA CN114358160A (zh) | 2021-12-27 | 2021-12-27 | 一种电力系统中的数据异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111611170.XA CN114358160A (zh) | 2021-12-27 | 2021-12-27 | 一种电力系统中的数据异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114358160A true CN114358160A (zh) | 2022-04-15 |
Family
ID=81102098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111611170.XA Pending CN114358160A (zh) | 2021-12-27 | 2021-12-27 | 一种电力系统中的数据异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114358160A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114872290A (zh) * | 2022-05-20 | 2022-08-09 | 深圳市信润富联数字科技有限公司 | 一种注塑件的自适应生产异常监测方法 |
-
2021
- 2021-12-27 CN CN202111611170.XA patent/CN114358160A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114872290A (zh) * | 2022-05-20 | 2022-08-09 | 深圳市信润富联数字科技有限公司 | 一种注塑件的自适应生产异常监测方法 |
CN114872290B (zh) * | 2022-05-20 | 2024-02-06 | 深圳市信润富联数字科技有限公司 | 一种注塑件的自适应生产异常监测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543943B (zh) | 一种基于大数据深度学习的电价稽查执行方法 | |
CN109598451B (zh) | 一种基于pca与lstm神经网络的非侵入式负荷辨识方法 | |
CN111275367B (zh) | 一种区域综合能源系统能效状态评价方法 | |
CN111612651B (zh) | 一种基于长短期记忆网络的异常电量数据检测方法 | |
CN105677791B (zh) | 用于分析风力发电机组的运行数据的方法和系统 | |
US20120304008A1 (en) | Supervised fault learning using rule-generated samples for machine condition monitoring | |
CN108376262B (zh) | 一种风电出力典型特性的分析模型构建方法 | |
CN114090396B (zh) | 一种云环境多指标无监督异常检测和根因分析方法 | |
CN109902340B (zh) | 一种计及复杂气象耦合特性的多源-荷联合场景生成方法 | |
CN103745119A (zh) | 一种基于故障概率模型的油浸式变压器故障诊断方法 | |
CN112181706B (zh) | 一种基于对数区间隔离的电力调度数据异常检测方法 | |
CN111160241B (zh) | 一种基于深度学习的配电网故障分类方法、系统和介质 | |
CN116559598B (zh) | 一种智慧配电网故障定位方法及系统 | |
CN108647707B (zh) | 概率神经网络创建方法、故障诊断方法及装置、存储介质 | |
CN116976682B (zh) | 一种基于模糊算法的用电信息采集系统运行状态评估方法 | |
CN111209934A (zh) | 风机故障预报警方法及系统 | |
CN114358160A (zh) | 一种电力系统中的数据异常检测方法 | |
CN113112188B (zh) | 一种基于预筛选动态集成的电力调度监控数据异常检测方法 | |
CN112926686B (zh) | 基于brb和lstm模型的电力大数据用电异常检测方法及装置 | |
CN112595918A (zh) | 一种低压集抄故障的检测方法及装置 | |
CN111475548A (zh) | 一种基于大数据挖掘技术的用电异常分析决策系统 | |
CN113496440B (zh) | 一种用户异常用电检测方法及系统 | |
CN115392710A (zh) | 一种基于数据过滤的风电机组运行决策方法及系统 | |
CN115713027A (zh) | 一种变压器状态评估方法、装置及系统 | |
CN114358116A (zh) | 油浸式变压器故障诊断方法、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |