CN114722947A - 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 - Google Patents
一种基于近邻搜索分簇的电力调度监控数据异常检测方法 Download PDFInfo
- Publication number
- CN114722947A CN114722947A CN202210383775.6A CN202210383775A CN114722947A CN 114722947 A CN114722947 A CN 114722947A CN 202210383775 A CN202210383775 A CN 202210383775A CN 114722947 A CN114722947 A CN 114722947A
- Authority
- CN
- China
- Prior art keywords
- abnormal
- samples
- abn
- sample
- cluster
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title claims abstract description 38
- 230000002159 abnormal effect Effects 0.000 claims abstract description 118
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000007637 random forest analysis Methods 0.000 claims abstract description 16
- 238000001914 filtration Methods 0.000 claims abstract description 5
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 37
- 238000012360 testing method Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 description 4
- 238000012733 comparative method Methods 0.000 description 3
- 238000002790 cross-validation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000364051 Pima Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Water Supply & Treatment (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提出了一种基于近邻搜索分簇的电力调度监控数据异常检测方法,包括:将带正异常标签的电力调度监控历史数据作为训练数据集输入,通过计算样本之间的欧氏距离寻找异常样本在特征空间中的k个近邻;通过异常样本的近邻标签确定该样本是否为噪声或属于某个异常样本簇,并在该样本近邻中依次迭代搜索直到不再找到更多的属于该簇的异常样本;对分簇后的数据过滤噪声并计算每个簇中需要生成的异常样本数量,据此利用SMOTE线性插值在各个簇内合成新样本以平衡数据集;使用平衡后的数据集训练随机森林模型,以检测电力调度监控数据中的异常样本。本发明实施例提供的技术方案,能够提升电力调度监控数据异常检测的准确率。
Description
【技术领域】
本发明涉及电力调度监控数据异常检测方法,尤其涉及一种基于近邻搜索分簇的电力调度监控数据异常检测方法。
【背景技术】
随着社会发展以及电力系统规模的扩大,智能电网的建设也在飞速发展中。智能电网系统旨在通过积极利用通信及信息化技术,解决从发电设施经送电、变电一直到最终用户的整个过程中存在的各种问题。随着电网智能化的推进,对电网调度的效率和安全稳定也提出了进一步的要求。电力调度自动化系统实现了电网调度的“横向集成、纵向贯通”,保障了电网的安全、稳定、经济、环保运行,在电力系统的发电、输电、变电、配电环节都发挥着十分重要的作用
虽然电力调度自动化系统可以提供大量的电网运行数据与分析结果,为电力调度系统运维人员准确评估电网状况带来便利,但是其拥有海量规模的数据,且特征维度繁多,彼此之间存在着复杂的关系。作为电网的指挥中心,一旦调度系统的业务发生异常,会对电网的稳定运行带来极大的影响。因此,为了保证智能电网的安全可靠运行,对电力调度监控数据的异常检测技术变得愈发重要。
电力调度监控数据存在数据量大、特征维度众多、分布模式复杂且多样的特点,而目前大多采用借助专家经验设定阈值的方式进行检测,这种方式不够灵活且准确率有限,因此有必要引入机器学习的方法来实现更准确的异常检测。然而,调度自动化系统在大部分时间下都是稳定运行的状态,出现异常的情况较少,因此整体数据样本存在正异常样本数目不平衡的问题。此外,由于异常情况出现的原因多种多样,因此异常样本在数据空间中表现出的模式也各不相同,即存在异常样本形成多个小簇的问题。在数据样本数目极度不平衡下,训练的分类器会偏向正常样本而导致对于异常样本的检测精度降低。与此同时,异常样本如果形成多个小簇,在类别不平衡分类中遇到小簇问题会使得分类任务更加困难。因此,提出一种能够再平衡数据,同时可以解决小簇问题的有监督异常检测算法,以提高异常的检测准确率,对于加强电网状态监测、保障电网安全有重要意义。
【发明内容】
有鉴于此,本发明提出了一种基于近邻搜索分簇的电力调度监控数据异常检测方法,以提高电力调度监控数据异常检测的性能。
本发明提出了一种基于近邻搜索分簇的电力调度监控数据异常检测方法,包括如下步骤:
(1)将带正异常标签的电力调度监控历史数据作为训练数据集输入,通过计算样本之间的欧氏距离寻找异常样本在特征空间中的k个近邻,具体为:
将电力调度监控系统采集到的与电力调度系统业务相关的进程实时资源占用数据作为训练数据集输入,记为X={x1,x2,x3,...,xi,...,xN},其中xi∈Ru,i=1,2,...,N,R代表实数集,u=6代表数据的维度,具体包括进程CPU占用率、内存占用率、磁盘IO、网络IO、线程个数、网络连接数;输入数据集X的总样本数目为N;将训练数据集X的正异常标签输入,记为y={y1,y2,y3,...,yi,...,yN},其与X中的样本一一对应,yi∈{0,1},其中yi=0代表xi为正常样本,yi=1则代表xi为异常样本,i=1,2,...,N;
将yi=0所对应的所有xi记为训练集的正常样本集合Xnor,将yi=1所对应的所有xi记为训练集的异常样本集合Xabn,计算Xabn中第i个样本xabn_i到训练集X中所有其它样本的欧氏距离d(xabn_i,xj),xj∈X,并取距离xabn_i最近的k个样本,记为xabn_i的近邻集合kNN(xabn_i);
(2)通过异常样本的近邻标签确定该样本是否为噪声或属于某个异常样本簇,并在该样本近邻中依次迭代搜索直到不再找到更多的属于该簇的异常样本,具体为:
遍历Xabn中的所有异常样本,对于每一个取到的异常样本xabn_i,首先,判断它是否被标记过属于某个异常簇,如果xabn_i被标记过,则跳过该样本,如果xabn_i没有被标记过,则取到xabn_i的近邻集合kNN(xabn_i);若kNN(xabn_i)中的样本均属于正常样本集合Xnor,即xa∈Xnor,则将xabn_i标记为噪声样本集合Xnoise中的样本,若kNN(xabn_i)中存在异常样本,即xb∈Xabn,则将xabn_i与kNN(xabn_i)中所有的异常样本都标记为第n个簇Cn的样本,其中n=1,2,3,...;
然后,对于kNN(xabn_i)中所有的异常样本xabn_j,取到它的最近邻kNN(xabn_j),如果其中也存在未被标记过的异常样本,则将其也标记为第n个簇Cn的样本并继续执行k最近邻搜索,直到所有被找到的异常样本均已被标记过;
至此,对于xabn_i的递归标记结束,令n=n+1,继续遍历异常样本,直到所有异常样本均被标记为属于某个异常簇或者属于噪声样本集合Xnoise为止,记n的最终取值为M;
(3)对分簇后的数据过滤噪声并计算每个簇中需要生成的异常样本数量,据此利用SMOTE线性插值在各个簇内合成新样本以平衡数据集,具体为:
对于Xabn中的异常样本xabn_i,若它属于噪声样本集合Xnoise,则将它从Xabn中删去,得到去噪后的异常样本集合X′abn=Xabn-Xnoise;然后,计算每个异常簇Cm需要生成的异常样本的数量numm=numCm×(IR-1),其中m=1,2,...,M,numCm为异常簇Cm的样本数目,IR为整个数据集的不平衡率,即|Xnor|代表正常样本集合Xnor的样本数量,|X′abn|代表去噪后的异常样本集合X′abn的样本数量;
使用SMOTE算法在每个簇中生成新的异常样本,具体为:对于一个异常簇Cm,随机选择其中一个异常样本xCm_i∈Cm,在xCm_i的近邻集合kNN(xCm_i)中随机选择一个样本xs∈kNN(xCm_i),通过线性插值生成一个新样本xsyn=xCm_i+w×(xs-xCm_i),其中w是一个介于[0,1]之间的随机参数;将所有生成样本xsyn记为生成样本集合Xsyn,将其与正常样本集合Xnor和去噪后的异常样本集合X′abn结合,得到平衡后的训练数据集X′=Xnor∪X′abn∪Xsyn;
(4)使用平衡后的数据集训练随机森林模型,以检测电力调度监控数据中的异常样本,具体为:
建立随机森林模型model,其含有如下参数:基分类器数量n_estimators,分割点的判断依据criterion,最大深度max_depth,划分时每个划分最少的样本数min_samples_split,叶节点最少样本数量min_samples_leaf;
使用平衡后的数据集X′对其进行训练,得到训练完成的随机森林模型model;基于异常检测模型model,对一个待测样本点xtest进行异常检测,将xtest输入model,model将会输出它的标签ytest,若ytest=0,则xtest为正常样本,若ytest=1,则xtest为异常样本;据此,实现电力调度监控数据异常检测。
上述方法步骤(1)中,k的取值为保留到整数的3ln(N),其中N为输入数据集X的总样本数目。
上述方法步骤(4)中,随机森林模型model的参数为:基分类器数量n_estimators=100,分割点的判断依据criterion为gini系数,最大深度max_depth=8,划分时每个划分最少的样本数min_samples_split=2,叶节点最少样本数量min_samples_leaf=1。
所述电力调度监控数据异常检测方法使得电力调度监控数据的异常检测准确率有所提高。
由以上技术方案可以看出,本发明具有以下有益效果:
本发明实施的技术方案中,通过设计一种k近邻搜索算法来自适应地识别异常样本中不同的小簇,然后利用小簇信息过滤噪声并计算每个簇中需要平衡的样本数目,并通过样本生成方法平衡数据,最终使用平衡后的数据集训练随机森林模型并检测异常,从而提高电力调度监控数据异常检测的准确率。
【附图说明】
为了更清楚地说明本发明的技术方案,下面将对本发明中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明所提出的一种基于近邻搜索分簇的电力调度监控数据异常检测方法框架流程示意图;
图2是对于一个异常样本执行迭代近邻搜索的示意图;
图3是本发明算法的输入数据和输出结果示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明进行详细描述。
应当明确,所描述的发明实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明给出一种基于近邻搜索分簇的电力调度监控数据异常检测方法。本发明为满足电力调度监控数据的异常检测,设计了一种近邻搜索分簇算法识别异常样本小簇与噪声,利用线性插值生成样本以平衡数据集,并使用平衡后的数据集训练随机森林模型以检测电力调度监控数据异常。
图1是本发明所提出的一种基于近邻搜索分簇的电力调度监控数据异常检测方法框架流程示意图,该方法包括以下步骤:
步骤101,将带正异常标签的电力调度监控历史数据作为训练数据集输入,通过计算样本之间的欧氏距离寻找异常样本在特征空间中的k个近邻,具体为:
将电力调度监控系统采集到的与电力调度系统业务相关的进程实时资源占用数据作为训练数据集输入,记为X={x1,x2,x3,...,xi,...,xN},其中xi∈Ru,i=1,2,...,N,R代表实数集,u=6代表数据的维度,具体包括进程CPU占用率、内存占用率、磁盘IO、网络IO、线程个数、网络连接数;输入数据集X的总样本数目为N;将训练数据集X的正异常标签输入,记为y={y1,y2,y3,...,yi,...,yN},其与X中的样本一一对应,yi∈{0,1},其中yi=0代表xi为正常样本,yi=1则代表xi为异常样本,i=1,2,...,N。
将yi=0所对应的所有xi记为训练集的正常样本集合Xnor,将yi=1所对应的所有xi记为训练集的异常样本集合Xabn,计算Xabn中第i个样本xabn_i到训练集X中所有其它样本的欧氏距离d(xabn_i,xj),xj∈X,并取距离xabn_i最近的k个样本,记为xabn_i的近邻集合kNN(xabn_i),其中k的取值为3ln(N),N为输入数据集X的总样本数目。
步骤102,通过异常样本的近邻标签确定该样本是否为噪声或属于某个异常样本簇,并在该样本近邻中依次迭代搜索直到不再找到更多的属于该簇的异常样本,具体为:
遍历Xabn中的所有异常样本,对于每一个取到的异常样本xabn_i,首先,判断它是否被标记过属于某个异常簇,如果xabn_i被标记过,则跳过该样本,如果xabn_i没有被标记过,则取到xabn_i的近邻集合kNN(xabn_i);若kNN(xabn_i)中的样本均属于正常样本集合Xnor,即xa∈Xnor,则将xabn_i标记为噪声样本集合Xnoise中的样本,若kNN(xabn_i)中存在异常样本,即xb∈Xabn,则将xabn_i与kNN(xabn_i)中所有的异常样本都标记为第n个簇Cn的样本,其中n=1,2,3,...;图2展示了对于样本xabn_i的迭代近邻搜索过程的示意图。
然后,对于kNN(xabn_i)中所有的异常样本xabn_j,取到它的最近邻kNN(xabn_j),如果其中也存在未被标记过的异常样本,则将其也标记为第n个簇Cn的样本并继续执行k最近邻搜索,直到所有被找到的异常样本均已被标记过。
至此,对于xabn_i的递归标记结束,令n=n+1,继续遍历异常样本,直到所有异常样本均被标记为属于某个异常簇或者属于噪声样本集合Xnoise为止,记n的最终取值为M。
步骤103,对分簇后的数据过滤噪声并计算每个簇中需要生成的异常样本数量,据此利用SMOTE线性插值在各个簇内合成新样本以平衡数据集,具体为:
对于Xabn中的异常样本xabn_i,若它属于噪声样本集合Xnoise,则将它从Xabn中删去,得到去噪后的异常样本集合X′abn=Xabn-Xnoise;然后,计算每个异常簇Cm需要生成的异常样本的数量numm=numCm×(IR-1),其中m=1,2,...,M,numCm为异常簇Cm的样本数目,IR为整个数据集的不平衡率,即|Xnor|代表正常样本集合Xnor的样本数量,|X′abn|代表去噪后的异常样本集合X′abn的样本数量。
使用SMOTE算法在每个簇中生成新的异常样本,具体为:对于一个异常簇Cm,随机选择其中一个异常样本xCm_i∈Cm,在xCm_i的近邻集合kNN(xCm_i)中随机选择一个样本xs∈kNN(xCm_i),通过线性插值生成一个新样本xsyn=xCm_i+w×(xs-xCm_i),其中w是一个介于[0,1]之间的随机参数;将所有生成样本xsyn记为生成样本集合Xsyn,将其与正常样本集合Xnor和去噪后的异常样本集合X′abn结合,得到平衡后的训练数据集X′=Xnor∪X′abn∪Xsyn。
步骤104,使用平衡后的数据集训练随机森林模型,以检测电力调度监控数据中的异常样本,具体为:
建立随机森林模型model,其含有如下参数:基分类器数量n_estimators,分割点的判断依据criterion,最大深度max_depth,划分时每个划分最少的样本数min_samples_split,叶节点最少样本数量min_samples_leaf。
使用平衡后的数据集X′对其进行训练,得到训练完成的随机森林模型model;基于异常检测模型model,对一个待测样本点xtest进行异常检测,将xtest输入model,model将会输出它的标签ytest,若ytest=0,则xtest为正常样本,若ytest=1,则xtest为异常样本;据此,实现电力调度监控数据异常检测。
图3是本发明算法的输入数据和输出结果示意图,本发明算法的输入为电力调度监控系统采集到的与电力调度系统业务相关的进程实时资源占用数据,包括进程CPU占用率、内存占用率、磁盘IO、网络IO、线程个数、网络连接数;本发明算法的输出为方法模型对于每一个样本打出的类别标签,1为异常,0为正常。
算法1为基于k近邻搜索的分簇算法的伪代码:
算法2为基于近邻搜索分簇的样本生成方法的伪代码:
用于具体实施例中,使用15个公开数据集进行测试,数据集来自于各个领域,并经过最大最小缩放对所有特征进行标准化。数据集的具体信息如表1所示。为了确保实验结果的可靠性,本实验将采用5折交叉验证法,即将数据集等分为5折,取4折作为训练集训练分类器,剩下的1折作为测试集来测试分类器的分类效果,重复5次后取平均值作为这次5折交叉验证法的实验结果。然后进行10次这样的5折交叉验证法,取它们的平均值作为最终的实验结果。
表1具体实施例中使用的数据集
数据集 | 样本数量 | 特征数 | 异常样本数量 | 正常样本数量 | 不平衡率 |
glass1 | 214 | 9 | 76 | 138 | 1.82 |
wisconsin | 683 | 9 | 239 | 444 | 1.86 |
pima | 768 | 8 | 268 | 500 | 1.87 |
glass | 214 | 9 | 70 | 144 | 2.06 |
haberman | 306 | 3 | 81 | 225 | 2.78 |
vehicle2 | 846 | 18 | 218 | 628 | 2.88 |
ecoli1 | 336 | 7 | 77 | 259 | 3.36 |
new-thyroid1 | 215 | 5 | 35 | 180 | 5.14 |
yeast3 | 1484 | 8 | 163 | 1321 | 8.1 |
yeast-0-5-6-7-9 | 528 | 8 | 51 | 477 | 9.35 |
vowel0 | 988 | 13 | 90 | 898 | 9.98 |
yeast-1vs7 | 459 | 7 | 30 | 429 | 14.3 |
yeast-2_vs_8 | 482 | 8 | 20 | 462 | 23.1 |
yeast5 | 1484 | 8 | 44 | 1440 | 32.73 |
ecoli-0-1-3-7vs2-6 | 281 | 7 | 7 | 247 | 39.14 |
为验证所提算法的有效性,本实验所选择的对比方法包括了10种或经典或时效、在目前较为主流的样本生成方法:SMOTE、Borderline-SMOTE1、Borderline-SMOTE2、Kmeans-SMOTE、Safe_Level_SMOTE、SMOTE_OUT、G-SMOTE、SMOTE_D、SOMO、ADASYN。所提方法用SC-SMOTE来表示。为了公平统一,所有方法进行插值时选择的近邻参数k均一致,为保留到整数的3ln(N),其中N为输入数据集X的总样本数目。所有方法均平衡数据集后与随机森林进行结合。
为了同时考虑到正常样本与异常样本的分类准确率和召回率,本实验将采用F-measure和G-mean作为评价指标。具体来说,对于二分类的异常检测问题,混淆矩阵表示了正确分类的样本与错误分类的样本,如表2所示:
表2二分类问题中的混淆矩阵
预测为正类的样本 | 预测为负类的样本 | |
真正正类的样本 | TP | FN |
真正负类的样本 | FP | TN |
在类别不平衡情况下,将异常样本视为正类,将正常样本视为负类。二分类问题中,很多性能度量指标都可以通过混淆矩阵计算得到,而在经典的分类器性能度量指标中,召回率,也被称为灵敏度,代表正类样本中被正确分类的比例。因此,召回率的定义如下:
相对的,准确率,也被称为信任度,代表所有预测为正类的样本中,真正为正类的样本。因此,准确率的定义如下:
F-measure通过结合召回率与准确率,得到一个有效的度量指标来对分类性能进行度量,它是召回率与准确率的调和平均值,F-measure的定义如下:
为了同时考虑正常样本和异常样本的召回率,本章采用了G-mean作为第二个评价指标,它是正类和负类的召回率的几何平均数,因此G-mean的定义如下:
本发明实施例和对比方法在公开数据集上的F-measure结果如表3所示。可以看到本发明基于近邻搜索分簇的电力调度监控数据异常检测方法在大部分公开数据集上均获得了超过其他方法的F-measure,并获得了最高的平均F-measure与最低的平均秩。
表3在公开数据集上与对比方法的F-measure结果
本发明实施例和对比方法在公开数据集上的G-mean结果如表3所示。可以看到本发明基于近邻搜索分簇的电力调度监控数据异常检测方法在大部分公开数据集上均获得了超过其他方法的G-mean,并获得了最高的平均G-mean与最低的平均秩。综合表3与表4结果,说明本发明实施例方法的异常检测准确率高。
表4在公开数据集上与对比方法的G-mean结果
同样将本发明实施例应用在三种智能电网调度控制系统业务异常上,这三种异常分别为数据跳变、应用断网和遥测表不刷新。
表5与表6分别展示了本发明实施例和其他对比方法在这三种异常上的F-measure与G-mean结果。
表5在F-measure指标下业务数据集的实验结果
数据跳变 | 应用断网 | 遥测表不刷新 | |
Baseline | 0.9772 | 0.9902 | 0.9920 |
SMOTE | 0.9729 | 0.9799 | 0.9753 |
B1-SMOTE | 0.9783 | 0.9918 | 0.9877 |
B2-SMOTE | 0.9778 | 0.9840 | 0.9760 |
Kmeans-SMOTE | 0.9709 | 0.9943 | 0.9792 |
Safe_Level_SMOTE | 0.9795 | 0.9767 | 0.9787 |
SMOTE_OUT | 0.9818 | 0.9818 | 0.9817 |
G-SMOTE | 0.9775 | 0.9819 | 0.9816 |
SMOTE_D | 0.9888 | 0.9760 | 0.9791 |
SOMO | 0.9874 | 0.9910 | 0.9893 |
ADASYN | 0.9703 | 0.9825 | 0.9936 |
SC-SMOTE | 0.9927 | 0.9954 | 0.9959 |
表6在G-mean指标下业务数据集的实验结果
数据跳变 | 应用断网 | 遥测表不刷新 | |
Baseline | 0.9835 | 0.9779 | 0.9859 |
SMOTE | 0.9771 | 0.9927 | 0.9914 |
B1-SMOTE | 0.9864 | 0.9935 | 0.9850 |
B2-SMOTE | 0.9839 | 0.9909 | 0.9813 |
Kmeans-SMOTE | 0.9878 | 0.9791 | 0.9827 |
Safe_Level_SMOTE | 0.9858 | 0.9849 | 0.9918 |
SMOTE_OUT | 0.9705 | 0.9874 | 0.9808 |
G-SMOTE | 0.9749 | 0.9931 | 0.9925 |
SMOTE_D | 0.9892 | 0.9844 | 0.9767 |
SOMO | 0.9866 | 0.9826 | 0.9846 |
ADASYN | 0.9795 | 0.9932 | 0.9841 |
SC-SMOTE | 0.9918 | 0.9976 | 0.9956 |
从表5与表6中可以看到与所有所选的对比方法相比,本发明基于近邻搜索分簇的电力调度监控数据异常检测方法都获得了较佳的结果。三种实际电力调度监控数据异常上的对比结果结合大量公开数据集上的对比结果,说明本发明可以在应对数据分布较为复杂、存在异常小簇的电力调度监控数据异常检测时有效的降低误报率,提高准确性。
综上所述,本发明实施例具有以下有益效果:
本发明实施的技术方案中,将带正异常标签的电力调度监控历史数据作为训练数据集输入,通过计算样本之间的欧氏距离寻找异常样本在特征空间中的k个近邻;通过异常样本的近邻标签确定该样本是否为噪声或属于某个异常样本簇,并在该样本近邻中依次迭代搜索直到不再找到更多的属于该簇的异常样本;对分簇后的数据过滤噪声并计算每个簇中需要生成的异常样本数量,据此利用SMOTE线性插值在各个簇内合成新样本以平衡数据集;使用平衡后的数据集训练随机森林模型,以检测电力调度监控数据中的异常样本。根据本发明实施例提供的技术方案,当面对电力调度监控数据中的数据不平衡情况,同时数据分布较为复杂,分布模式多样,异常样本形成小簇时,与其他典型的样本生成方法平衡数据集后进行有监督异常检测方法对比,本方法能够提升电力调度监控数据异常检测的准确率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (3)
1.一种基于近邻搜索分簇的电力调度监控数据异常检测方法,其特征在于,包括如下步骤:
(1)将带正异常标签的电力调度监控历史数据作为训练数据集输入,通过计算样本之间的欧氏距离寻找异常样本在特征空间中的k个近邻,具体为:
将电力调度监控系统采集到的与电力调度系统业务相关的进程实时资源占用数据作为训练数据集输入,记为X={x1,x2,x3,...,xi,...,xN},其中xi∈Ru,i=1,2,...,N,R代表实数集,u=6代表数据的维度,具体包括进程CPU占用率、内存占用率、磁盘IO、网络IO、线程个数、网络连接数;输入数据集X的总样本数目为N;将训练数据集X的正异常标签输入,记为y={y1,y2,y3,...,yi,...,yN},其与X中的样本一一对应,yi∈{0,1},其中yi=0代表xi为正常样本,yi=1则代表xi为异常样本,i=1,2,...,N;
将yi=0所对应的所有xi记为训练集的正常样本集合Xnor,将yi=1所对应的所有xi记为训练集的异常样本集合Xabn,计算Xabn中第i个样本xabn_i到训练集X中所有其它样本的欧氏距离d(xabn_i,xj),xj∈X,并取距离xabn_i最近的k个样本,记为xabn_i的近邻集合kNN(xabn_i);
(2)通过异常样本的近邻标签确定该样本是否为噪声或属于某个异常样本簇,并在该样本近邻中依次迭代搜索直到不再找到更多的属于该簇的异常样本,具体为:
遍历Xabn中的所有异常样本,对于每一个取到的异常样本xabn_i,首先,判断它是否被标记过属于某个异常簇,如果xabn_i被标记过,则跳过该样本,如果xabn_i没有被标记过,则取到xabn_i的近邻集合kNN(xabn_i);若kNN(xabn_i)中的样本均属于正常样本集合Xnor,即则将xabn_i标记为噪声样本集合Xnoise中的样本,若kNN(xabn_i)中存在异常样本,即 则将xabn_i与kNN(xabn_i)中所有的异常样本都标记为第n个簇Cn的样本,其中n=1,2,3,...;
然后,对于kNN(xabn_i)中所有的异常样本xabn_j,取到它的最近邻kNN(xabn_j),如果其中也存在未被标记过的异常样本,则将其也标记为第n个簇Cn的样本并继续执行k最近邻搜索,直到所有被找到的异常样本均已被标记过;
至此,对于xabn_i的递归标记结束,令n=n+1,继续遍历异常样本,直到所有异常样本均被标记为属于某个异常簇或者属于噪声样本集合Xnoise为止,记n的最终取值为M;
(3)对分簇后的数据过滤噪声并计算每个簇中需要生成的异常样本数量,据此利用SMOTE线性插值在各个簇内合成新样本以平衡数据集,具体为:
对于Xabn中的异常样本xabn_i,若它属于噪声样本集合Xnoise,则将它从Xabn中删去,得到去噪后的异常样本集合X′abn=Xabn-Xnoise;然后,计算每个异常簇Cm需要生成的异常样本的数量numm=numCm×(IR-1),其中m=1,2,...,M,numCm为异常簇Cm的样本数目,IR为整个数据集的不平衡率,即|Xnor|代表正常样本集合Xnor的样本数量,|X′abn|代表去噪后的异常样本集合X′abn的样本数量;
使用SMOTE算法在每个簇中生成新的异常样本,具体为:对于一个异常簇Cm,随机选择其中一个异常样本xCm_i∈Cm,在xCm_i的近邻集合kNN(xCm_i)中随机选择一个样本xs∈kNN(xCm_i),通过线性插值生成一个新样本xsyn=xCm_i+w×(xs-xCm_i),其中w是一个介于[0,1]之间的随机参数;将所有生成样本xsyn记为生成样本集合Xsyn,将其与正常样本集合Xnor和去噪后的异常样本集合X′abn结合,得到平衡后的训练数据集X′=Xnor∪X′abn∪Xsyn;
(4)使用平衡后的数据集训练随机森林模型,以检测电力调度监控数据中的异常样本,具体为:
建立随机森林模型model,其含有如下参数:基分类器数量n_estimators,分割点的判断依据criterion,最大深度max_depth,划分时每个划分最少的样本数min_samples_split,叶节点最少样本数量min_samples_leaf;
使用平衡后的数据集X′对其进行训练,得到训练完成的随机森林模型model;基于异常检测模型model,对一个待测样本点xtest进行异常检测,将xtest输入model,model将会输出它的标签ytest,若ytest=0,则xtest为正常样本,若ytest=1,则xtest为异常样本;据此,实现电力调度监控数据异常检测。
2.根据权利要求1所述的一种基于近邻搜索分簇的电力调度监控数据异常检测方法,其特征在于,所述步骤(1)中,k的取值为保留到整数的3ln(N),其中N为输入数据集X的总样本数目。
3.根据权利要求1所述的一种基于近邻搜索分簇的电力调度监控数据异常检测方法,其特征在于,所述步骤(4)中,随机森林模型model的参数为:基分类器数量n_estimators=100,分割点的判断依据criterion为gini系数,最大深度max_depth=8,划分时每个划分最少的样本数min_samples_split=2,叶节点最少样本数量min_samples_leaf=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383775.6A CN114722947A (zh) | 2022-04-12 | 2022-04-12 | 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383775.6A CN114722947A (zh) | 2022-04-12 | 2022-04-12 | 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114722947A true CN114722947A (zh) | 2022-07-08 |
Family
ID=82243169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210383775.6A Pending CN114722947A (zh) | 2022-04-12 | 2022-04-12 | 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722947A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271565A (zh) * | 2022-09-29 | 2022-11-01 | 中南大学 | 基于dea的高速公路路面养护措施评价方法、装置及设备 |
CN116862078A (zh) * | 2023-09-04 | 2023-10-10 | 杭州宇谷科技股份有限公司 | 一种换电套餐用户逾期的预测方法、系统、装置及介质 |
-
2022
- 2022-04-12 CN CN202210383775.6A patent/CN114722947A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271565A (zh) * | 2022-09-29 | 2022-11-01 | 中南大学 | 基于dea的高速公路路面养护措施评价方法、装置及设备 |
CN116862078A (zh) * | 2023-09-04 | 2023-10-10 | 杭州宇谷科技股份有限公司 | 一种换电套餐用户逾期的预测方法、系统、装置及介质 |
CN116862078B (zh) * | 2023-09-04 | 2023-12-12 | 杭州宇谷科技股份有限公司 | 一种换电套餐用户逾期的预测方法、系统、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023876B (zh) | 基于可持续性集成学习的入侵检测方法及入侵检测系统 | |
Yin et al. | Wasserstein Generative Adversarial Network and Convolutional Neural Network (WG‐CNN) for Bearing Fault Diagnosis | |
CN108985380B (zh) | 一种基于聚类集成的转辙机故障识别方法 | |
CN112084237A (zh) | 一种基于机器学习和大数据分析的电力系统异常预测方法 | |
CN114722947A (zh) | 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 | |
CN112381181B (zh) | 一种建筑能耗异常的动态检测方法 | |
CN112116058A (zh) | 一种基于粒子群算法优化多粒度级联森林模型的变压器故障诊断方法 | |
Duan et al. | Root cause analysis approach based on reverse cascading decomposition in QFD and fuzzy weight ARM for quality accidents | |
CN112182306B (zh) | 一种基于不确定图的社区发现方法 | |
CN114266289A (zh) | 一种复杂装备健康状态评估方法 | |
WO2023208136A1 (zh) | 一种kpi异常检测方法、装置、设备及介质 | |
CN109902754A (zh) | 一种高效的半监督多层次入侵检测方法及系统 | |
Chu et al. | Co-training based on semi-supervised ensemble classification approach for multi-label data stream | |
CN114781688A (zh) | 业扩项目的异常数据的识别方法、装置、设备及存储介质 | |
CN113516189B (zh) | 基于两阶段随机森林算法的网站恶意用户预测方法 | |
CN109977131A (zh) | 一种房型匹配系统 | |
CN110502669B (zh) | 基于n边dfs子图轻量级无监督图表示学习的社交媒体数据分类方法及装置 | |
Salem et al. | A computational cost-effective clustering algorithm in multidimensional space using the manhattan metric: application to the global terrorism database | |
CN116432964A (zh) | 一种基于收敛交叉映射的电力调度自动化系统故障溯源方法 | |
CN111275079A (zh) | 基于图神经网络的众包标签推测方法及系统 | |
Lee et al. | Efficient visibility algorithm for high-frequency time-series: application to fault diagnosis with graph convolutional network | |
CN115374859A (zh) | 一种针对非平衡、多类别的复杂工业数据的分类方法 | |
Xu et al. | A novel imbalanced fault diagnosis method based on area identification conditional generative adversarial networks | |
Ip et al. | ML-assisted monitoring and characterization of IoT sensor networks | |
Fang et al. | Clustering algorithms based noise identification from air pollution monitoring data |
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 |