买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于孤立森林算法的电力调度流数据异常检测方法_国网冀北电力有限公司;北京邮电大学;北京科东电力控制系统有限责任公司_201711016716.0 

申请/专利权人:国网冀北电力有限公司;北京邮电大学;北京科东电力控制系统有限责任公司

申请日:2017-10-26

公开(公告)日:2020-07-03

公开(公告)号:CN107657288B

主分类号:G06K9/62(20060101)

分类号:G06K9/62(20060101);G06F16/215(20190101);G06Q50/06(20120101)

优先权:

专利状态码:失效-未缴年费专利权终止

法律状态:2022.10.11#未缴年费专利权终止;2018.03.02#实质审查的生效;2018.02.02#公开

摘要:本发明实施例提出了一种基于孤立森林算法的电力调度流数据异常检测方法,包括:通过系统抽样方法对数据集进行抽样,构建子森林,并将其组成基森林异常检测器;通过基森林异常检测器判断进入滑动窗口数据的异常情况;对进入滑动窗口的数据进行伯努利抽样,判定其是否存入缓存区,当滑动窗口数据充满时,实时判断窗口数据异常率;根据缓存区数据量与滑动窗口数据异常率是否超过阈值,选择较小或者较大更新比例的模型更新策略;基于更新数据集计算每个子森林与基森林的异常率差值,去除差值较大的子森林,并构建多个子森林进行补充,组成新的基森林异常检测器,实现更新。本发明实施例提供的技术方案,能够提高电力流数据异常检测准确率。

主权项:1.一种基于孤立森林算法的电力调度流数据异常检测方法,其特征在于,所述方法步骤包括:1通过系统抽样方法对数据集进行训练,运用训练得到的隔离树构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器,具体为:采集N条电力调度数据样本,组成原始电力调度数据集;构建一个隔离树时,从N条数据中无放回抽样,得到ψ条数据样本,作为这个隔离树的训练样本;在每个隔离树样本中,随机选一个特征,并在这个特征的最小值与最大值之间随机选一个值,对样本进行二叉划分,将样本中小于该值的数据样本划分到节点的左边,大于等于该值的数据样本划分到节点的右边,得到了一个分裂条件和左、右两边的数据集;分别在左右两边的数据集上重复上面的过程,直接达到终止条件,终止条件有两个:1数据集无法继续分裂,即该数据集只包含一条样本或者是所包含的样本相同;2树的高度达到log2ψ;运用系统抽样的方法将隔离树分为n组,构建n个子森林异常检测器,记为iForest1~iForestn,n个子森林异常检测器中的隔离树共同组成了基森林异常检测器;2通过基森林异常检测器判断进入滑动窗口数据的异常情况,具体为:将基森林异常检测器应用于滑动窗口的流数据,即对每个到达滑动窗口的数据,通过基森林异常检测器判断其异常状况;基森林异常检测器的输入为进程CPU占用率、内存占用率、磁盘IO、网络IO、线程个数、网络连接数与电力调度系统业务相关的进程实时资源占用数据;输出为0,1范围内的数值,表明流数据为正常状态的数值范围为0,h],流数据为异常范围的数值范围为h,1,h值在原始数据集训练初始基检测器之后,用训练得到的检测器计算历史数据的异常得分,按照历史数据异常比例取异常得分分位数得出:h=-QUARTILE-FX,100*1-c其中:y=QUARTILEa,b为分位数函数;z=Fx为基森林检测器检测函数;X为隔离树的训练样本集;c为训练样本集中的异常样本比例;3对进入滑动窗口的流数据进行抽样,判断其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率;4触发检测器更新的判断;5基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新,具体为:分别运用基森林检测器和子森林检测器,计算数据集X*的数据异常率,记为u_all和ui,设ri为第i个子森林异常检测器iForesti的异常率偏差: 将n个子森林异常检测器的异常率偏差按从大到小的顺序排列,取前k0<k<n个作为待更新的子森林异常检测器;运用当前滑动窗口中的数据构建k个子森林异常检测器,取代待更新子森林异常检测器,同时更新基森林检测器中的隔离树,完成对基森林检测器的更新,清空滑动窗口和缓存区的数据。

全文数据:一种基于孤立森林算法的电力调度流数据异常检测方法【技术领域】[0001]本发明涉及电力调度数据异常检测方法,尤其涉及一种基于孤立森林算法的电力调度流数据异常检测方法。【背景技术】[0002]统一坚强智能电网是以物理电网为基础,将现代先进的传感测量技术、通讯技术、信息技术、计算机技术和控制技术与物理电网高度集成而形成的新型电网,其包含发电、输电、变电、配电、用电和调度环节。在电力系统实际工作中,调度承担指挥、监督和管理电力生产运行的职能,是电力系统安全运行的重要保障。随着电网规模日益扩大,对电网安全稳定运行的要求也越来越高,调度电网数据的异常检测也愈显重要。当前调度数据的分析模式以静态离线数据分析为主,这种方式与生产运行系统结合不紧密,存在不能快速反映系统运行状态和及时发现异常现象等问题。而且,如今的调度信息数据采集量增多且随着时间推移数据不断到来,具有流数据顺序、大量、快速、连续到达的特点。因此,如何对实时到达的调度流数据进行同步处理并检测其是否存在异常,对于加强对电网状态监测、保障电网安全有重要意义。【发明内容】[0003]有鉴于此,本发明提出了一种基于孤立森林算法的电力调度流数据异常检测方法,以提高电力调度流数据异常检测的性能。[0004]本发明提出一种基于孤立森林算法的电力调度流数据异常检测方法,具体包括:[0005]通过系统抽样方法对数据集进行训练,运用训练得到的隔离树构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器;[0006]通过基森林异常检测器判断进入滑动窗口数据的异常情况;[0007]对进入滑动窗口的流数据进行抽样,判断其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率;[0008]触发检测器更新的判断;[0009]基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值较大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新。[0010]上所述方法中,通过系统抽样方法对数据集进行训练,运用训练得到的隔离树构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器的方法为:采集N条电力调度数据样本,组成原始电力调度数据集;构建一个隔离树时,从N条数据中均匀抽样一般是无放回抽样)出Φ条数据样本,作为这个隔离树的训练样本;在每个隔离树样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的数据样本划分到节点的左边,大于等于该值的数据样本划分到节点的右边,得到了一个分裂条件和左、右两边的数据集;分别在左右两边的数据集上重复上面的过程,直接达到终止条件,终止条件有两个:[0011]1数据本身不可再分只包括一个样本,或者全部样本相同);[0012]2树的高度达到Iog2Φ;[0013]运用系统抽样的方法将隔离树分为η组,构建η个子森林异常检测器,记为iForest1〜iForestη,其中组成iForest⑴的隔离树编号为:[0014]iTreei+k*Lnk=0,1,2,···,(L_nn[0015]n个子森林异常检测器中的隔离树共同组成了基森林异常检测器。[0016]上述方法中,通过基森林异常检测器判断进入滑动窗口数据的异常情况的方法为:将基森林异常检测器应用于滑动窗口的流数据,即对每个到达滑动窗口的数据,通过基森林异常检测器判断其异常状况;基森林异常检测器的输入为进程CPU占用率、内存占用率、磁盘10、网络10、线程个数、网络连接数等与电力调度系统业务相关的进程实时资源占用数据;输出为〇,1范围内的数值,表明流数据为正常状态的数值范围为〇,h],流数据为异常范围的数值范围为h,l,h值在原始数据集训练初始基检测器之后,用训练得到的检测器计算历史数据的异常得分,按照历史数据异常比例取异常得分分位数得出:[0017]h=-QUARTILE-F⑵,100*1-c[001S]其中:y=QUARTILEa,b为分位数函数;z=FX为基森林检测器检测函数;X为隔离树的训练样本集;c为训练样本集中的异常样本比例。[0019]上述方法中,对进入滑动窗口的流数据进行抽样,判断其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率的方法为:对于新到达滑动窗口的数据,基于伯努利分布进行简单随机抽样判断该数据是否进入缓存区,来实现对缓存区的数据填充;如果滑动窗口数据已满,新到达的数据将取代最早进入滑动窗口的数据,同时实时计算此时刻滑动窗口中的数据异常率,记为u':[0020][0021]其中,η为当前滑动窗口中异常数据个数,nall为当前滑动窗口中所有数据个数。[0022]上述方法中,触发检测器更新的判断的方法为:当满足以下两个条件中的任意一个时,对异常检测器进行更新:[0023]1当前滑动窗口数据异常率V大于异常率阈值u,此时用于更新基森林异常检测器的数据集浐为滑动窗口中的数据与缓存区中的数据的并集;[0024]2缓存区中数据已满,此时用于更新基森林检测器的数据集T为缓存区中数据。[0025]上述方法中,基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值较大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新的方法为:分别运用基森林检测器和子森林检测器,计算数据集#的数据异常率,记为u_all和u⑴,设Γι为第i个子森林异常检测器iForesti的异常率偏差:[0026][0027]将η个子森林异常检测器的异常率偏差按从大到小的顺序排列,取前k0kn个作为待更新的子森林异常检测器;[0028]运用当前滑动窗口中的数据构建k个子森林异常检测器,取代待更新子森林异常检测器,同时更新基森林检测器中的隔离树,完成对基森林检测器的更新,清空滑动窗口和缓存区的数据。[0029]所述电力调度数据异常检测方法使得电力调度数据的异常检测准确率有提高。[0030]由以上技术方案可以看出,本发明具有以下有益效果:[0031]本发明实施的技术方案中,通过利用有监督增量学习的思想,建立多个子森林异常检测器,更新时比较子森林异常检测器异常率差异,丢弃性能较差的子森林异常检测器,保留性能较好的子森林异常检测器,使得基森林异常检测器模型能够在异常检测的过程中不断地的优化,提高电力调度系统流数据异常检测的性能。【附图说明】[0032]为了更清楚地说明本发明的技术方案,下面将对本发明中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。[0033]图1是本发明所提出的基于孤立森林算法的电力调度流数据异常检测方法框架流程不意图;[0034]图2是流数据异常检测的流程示意图;[0035]图3是本发明所提出的基于孤立森林算法的电力调度流数据异常检测方法示意图;[0036]图4是本发明算法的输入数据和输出结果示意图;[0037]图5是本发明实施例中使用基于孤立森林算法的电力调度流数据异常检测方法的ROC曲线。【具体实施方式】[0038]为了更好的理解本发明的技术方案,下面结合附图对本发明进行详细描述。[0039]应当明确,所描述的发明实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。[0040]本发明给出一种基于孤立森林算法的电力调度流数据异常检测方法。本发明为满足流数据下的异常检测,需要实时更新异常检测器以确保异常检测器的性能正常稳定。[0041]图1是本发明所提出的基于孤立森林算法的电力调度流数据异常检测方法流程示意图,该方法包括以下步骤:[0042]通过系统抽样方法对数据集进行抽样,构建子森林,并将其组成基森林异常检测器;[0043]通过基森林异常检测器判断进入滑动窗口数据的异常情况;[0044]对进入滑动窗口的数据进行伯努利抽样,判定其是否存入缓存区,当滑动窗口数据充满时,实时判断窗口数据异常率;[0045]根据缓存区数据量与滑动窗口数据异常率是否超过阈值,选择较小或者较大更新比例的模型更新策略;[0046]基于更新数据集计算每个子森林与基森林的异常率差值,去除差值较大的子森林,并构建多个子森林进行补充,组成新的基森林异常检测器,实现更新。[0047]图2所示为流数据异常检测的流程示意图,该方法通过原始样本集构建异常检测器;通过异常检测器对流数据进行在线异常检测;根据流数据的在线异常检测结果对是否更新检测器进行判断;根据判断结果对检测器进行在线更新。[0048]图3是本发明所提出的基于孤立森林算法的电力调度流数据异常检测方法示意图,提出的方法主要包括3个阶段:异常检测器构建阶段、流数据异常检测阶段和异常检测器更新阶段。在异常检测器构建阶段,通过对由原始样本构建的多个隔离树进行抽样,完成子森林异常检测器的构建,进而完成基森林异常检测器的构建。在流数据异常检测阶段,通过构建好的基森林异常检测器对进入滑动窗口的流数据进行异常检测。在异常检测器更新阶段,根据流数据的异常检测结果判断是否需要对异常检测器进行更新,如果需要,则通过滑动窗口和缓冲区中的数据构建子森林异常检测器,对原始异常检测器进行更新。[0049]步骤1,通过系统抽样方法对数据集进行抽样,构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器;[0050]具体的,基于原始电力调度数据集,采用孤立森林算法构建K个隔离树,运用系统抽样的方法将隔离树分为η组,构建η个子森林异常检测器,所有的子森林异常检测器组成基森林异常检测器的方法为:采集N条电力调度数据样本,组成原始电力调度数据集;构建一个隔离树时,从N条数据中均匀抽样一般是无放回抽样)出Φ条数据样本,作为这个隔离树的训练样本;在每个隔离树样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的划分到节点的左边,大于等于该值的划分到节点的右边,得到了一个分裂条件和左、右两边的数据集;分别在左右两边的数据集上重复上面的过程,直接达到终止条件;终止条件有两个:[0051]1数据本身不可再分只包括一个样本,或者全部样本相同);[0052]2树的高度达到Iog2Φ;[0053]上述方法中,运用系统抽样的方法将隔离树分为η组,构建η个子森林异常检测器,记为iForest1〜iForestη,其中组成iForest⑴的隔离树编号为:[0054]iTreei+k*Lnk=0,1,2,···,(L_nn[0055]n个子森林异常检测器中的隔离树共同组成了基森林异常检测器。[0056]算法1为本发明中所使用的基森林异常检测器构建方法的伪代码:[0057][0058]步骤2,通过基森林异常检测器判断进入滑动窗口数据的异常情况;[0059]具体的,将基森林异常检测器应用于滑动窗口的流数据,即对每个到达滑动窗口的数据,通过基森林异常检测器判断其异常状况;基森林异常检测器的输入为进程CPU占用率、内存占用率、磁盘10、网络10、线程个数、网络连接数等与电力调度系统业务相关的进程实时资源占用数据;输出为〇,1范围内的数值,表明流数据为正常状态的数值范围为〇,h],流数据为异常范围的数值范围为h,I,h值在原始数据集训练初始基检测器之后,用训练得到的检测器计算历史数据的异常得分,按照历史数据异常比例取异常得分分位数得出:[0060]h=-QUARTILE-F⑵,100*1-c[0061]其中:y=QUARTILEa,b为分位数函数;z=FX为基森林检测器检测函数;X为隔离树的训练样本集;c为训练样本集中的异常样本比例。[0062]步骤3,对进入滑动窗口的流数据进行抽样,以一定概率判定其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率;[0063]具体的,对于新到达滑动窗口的数据,基于伯努利分布进行简单随机抽样判断该数据是否进入缓冲区,来实现对缓冲区的数据填充。如果滑动窗口数据已满,新到达的数据将取代最早进入滑动窗口的数据,同时实时计算此时刻滑动窗口中的数据异常率,记为Y:[0064][0065]其中,η为当前滑动窗口中异常数据个数,nall为当前滑动窗口中所有数据个数。[0066]步骤4,当缓存区数据量超过阈值时,触发按较小更新比例更新模型策略,当滑动窗口数据异常率超过指定阈值时,触发按较大更新比例更新模型策略;[0067]具体的,当满足以下两个条件中的任意一个时,对异常检测器进行更新:[0068]1当前滑动窗口数据异常率V大于异常率阈值u,此时用于更新基森林异常检测器的数据集浐为滑动窗口中的数据与缓存区中的数据的并集;[0069]2缓存区中数据已满,此时用于更新基森林检测器的数据集T为缓存区中数据。[0070]步骤5,基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值较大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新;[0071]具体的,分别运用基森林检测器和子森林检测器,计算数据集f的数据异常率,记为1!_11和ui,Sri为第i个子森林异常检测器iF〇resti的异常率偏差:[0072][0073]将η个子森林异常检测器的异常率偏差按从大到小的顺序排列,取前k0kn个作为待更新的子森林异常检测器;[0074]运用当前滑动窗口中的数据构建k个子森林异常检测器,取代待更新子森林异常检测器,同时更新基森林检测器中的隔离树,完成对基森林检测器的更新,清空滑动窗口和缓存区的数据。[0075]算法2为本发明所提出的子森林渐进更新式增量学习算法的伪代码:[0077]所述子森林渐进更新式增量学习算法得以优化。[0078]用于具体实施例中,使用静态数据集进行测试,数据集为电脑运行进程的相关指标数据,并通过按次序输入数据以模拟流数据的时序特征。用于训练的数据集为1000条18维度无标签进程数据,用于测试的数据集有2472条,异常数据如Python进程运行的数据量大于2G有918条。[0079]为验证所提算法的有效性,本发明实施例中对比算法是未使用子森林渐进更新式增量学习的流数据异常检测算法进行比较。[0080]本发明实施例使用AUC值进行评定。通常ROC曲线下的面积AreaUnderCurve,AUC被用来评估异常检测算法的性能,ROCArea越接近于I,即AUC值越大,表示异常检测算法的性能越好。[0081]集成规模、滑动采样窗口大小会影响该算法的AUC性能,通过测试,选定合适的组合以保证较优的模型AUC性能。集成规模选取的范围为{20,40,60,80,100,120},滑动采样窗口大小选取的范围为{64,128,256,512,1024}。两参数的实际选值与测试的数据有关,故在进行该选取时不进行数据树的更新,即不需要设定更新比例。[0082]由于不进行模拟更新,对比算法与本发明实施例提出的子森林渐进更新式增量学习算法的测试结果一致,即两者的集成规模与滑动窗口采样大小数值相同。选用相同的集成规模与滑动窗口采样大小,本质是通过控制变量,探究更新比例变动时,两算法的不同性能,进而比较。[0083]通过代入电脑进程指标数据,结果如表1所示,可得在此数据集下集成规模选取60,滑动采样窗口大小选取64时算法的AUC值较好。[0084]表1集成规模、滑动米样窗口大小选定表[0085][0086]将集成规模设定60,滑动采样窗口大小设定64。对于更新比例参数的选定,须根据具体情形考虑。模型的更新共有两种情况:对于测试数据的异常率估定低于阈值时,即当缓存区满进行更新时,不需要进行较大的更新比率;对于测试数据的异常率估定高于阈值时,即滑动窗口的异常率超过设定值,发生该情况有多种原因:一种是数据为正常数据,但发生了概念偏移,需要尽可能更新;另一种是异常成群出现,为精确判断出异常,应尽可能减少更新。因此,在本发明实施例提出的子森林渐进更新式增量学习算法中,更新比例的取值设定小于0.5,且选取部分离散点进行模拟测试,更新比例集合为{0,0.1,0.2,0.3,0.4}。由于存在伯努利随机选定数据关系,同一更新比例下同一算法多次运行的AUC性能并不相同,故计算平均的AUC值作为测试结果记录。[0087]表2算法法对比测试一)[0088][0089]表3算法对比测试二)[0090][0091]对于不同的更新比例,共进行两组对比测试,每组对比包含十次数据测试的AUC平均值。算法一为本发明实施例提出的子森林渐进更新式增量学习算法,算法二为未使用子森林渐进更新式增量学习的流数据异常检测算法。测试结果如表2,表3所示。测试组一与测试组二对应数据存在差异,但波动并不十分巨大,相互印证对比测试结果具有一定参考度。[0092]借助数据分析,当进行模型更新时,同一更新比例下,本发明实施例提出的子森林渐进更新式增量学习算法与未使用子森林渐进更新式增量学习的流数据异常检测算法相比,AUC值相近,甚至在某更新比例下有较大的优化。当更新比例在集合{0,0.1,0.2,0.3,〇.4}选取时,本发明实施例提出的算法的最优AUC值与对比算法相比,有5.1%至17.0%的提升。体现本发明实施例提出的基于孤立森林算法的电力调度流数据异常检测方法具有更好的准确度。[0093]综上所述,本发明实施例具有以下有益效果:[0094]本发明实施的技术方案中,基于原始电力调度数据集,采用孤立森林算法构建k个隔离树,运用系统抽样的方法将隔离树分为η组,构建η个子森林异常检测器,所有的子森林异常检测器组成基森林异常检测器;对每个到达滑动窗口的数据,通过基森林异常检测器判断其异常状况,并且根据异常检测器更新判断条件,对异常检测器是否需要更新进行判断;基于子森林渐进更新算法确定待更新的子森林异常检测器并且对其进行更新。根据本发明实施例提供的技术方案,当面对电力调度流数据的异常检测时,与未使用子森林渐进更新式增量学习的流数据异常检测方法相比,该方法可获得更好的准确度。[0095]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

权利要求:1.一种基于孤立森林算法的电力调度流数据异常检测方法,其特征在于,所述方法步骤包括:1通过系统抽样方法对数据集进行训练,运用训练得到的隔离树构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器;⑵通过基森林异常检测器判断进入滑动窗口数据的异常情况;3对进入滑动窗口的流数据进行抽样,判断其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率;⑷触发检测器更新的判断;5基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值较大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新。2.根据权利要求1所述的方法,其特征在于,通过系统抽样方法对数据集进行训练,运用训练得到的隔离树构建多个子森林异常检测器,将多个子森林异常检测器组成基森林异常检测器,具体说明如下:采集N条电力调度数据样本,组成原始电力调度数据集;构建一个隔离树时,从N条数据中均匀抽样一般是无放回抽样)出Φ条数据样本,作为这个隔离树的训练样本;在每个隔离树样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的数据样本划分到节点的左边,大于等于该值的数据样本划分到节点的右边,得到了一个分裂条件和左、右两边的数据集;分别在左右两边的数据集上重复上面的过程,直接达到终止条件,终止条件有两个:1数据本身不可再分只包括一个样本,或者全部样本相同);2树的高度达到Iog2W;运用系统抽样的方法将隔离树分为η组,构建η个子森林异常检测器,记为iForestd〜iForestη,其中组成iForesti的隔离树编号为:η个子森林异常检测器中的隔离树共同组成了基森林异常检测器。3.根据权利要求1所述的方法,其特征在于,通过基森林异常检测器判断进入滑动窗口数据的异常情况,具体说明如下:将基森林异常检测器应用于滑动窗口的流数据,即对每个到达滑动窗口的数据,通过基森林异常检测器判断其异常状况;基森林异常检测器的输入为进程CPU占用率、内存占用率、磁盘10、网络10、线程个数、网络连接数等与电力调度系统业务相关的进程实时资源占用数据;输出为〇,1范围内的数值,表明流数据为正常状态的数值范围为〇,h],流数据为异常范围的数值范围为h,l,h值在原始数据集训练初始基检测器之后,用训练得到的检测器计算历史数据的异常得分,按照历史数据异常比例取异常得分分位数得出:其中:y=QUARTILEa,b为分位数函数;z=FX为基森林检测器检测函数;X为隔离树的训练样本集;c为训练样本集中的异常样本比例。4.根据权利要求1所述的方法,其特征在于,对进入滑动窗口的流数据进行抽样,判断其是否存入缓冲区;当滑动窗口中数据充满时,实时判断此时滑动窗口数据异常率,具体说明如下:对于新到达滑动窗口的数据,基于伯努利分布进行简单随机抽样判断该数据是否进入缓存区,来实现对缓存区的数据填充;如果滑动窗口数据已满,新到达的数据将取代最早进入滑动窗口的数据,同时实时计算此时刻滑动窗口中的数据异常率,记为〆:其中,η为当前滑动窗口中异常数据个数,nall为当前滑动窗口中所有数据个数。5.根据权利要求1所述的方法,其特征在于,触发检测器更新的判断,具体说明如下:当满足以下两个条件中的任意一个时,对异常检测器进行更新:1当前滑动窗口数据异常率〆大于异常率阈值u,此时用于更新基森林异常检测器的数据集浐为滑动窗口中的数据与缓存区中的数据的并集;2缓存区中数据已满,此时用于更新基森林检测器的数据集浐为缓存区中数据。6.根据权利要求1所述的方法,其特征在于,基于更新数据集计算每个子森林异常检测器和基森林异常检测器异常率差值,去除差值较大的子森林异常检测器,同时构建多个子森林异常检测器进行补充,以组成新的基森林异常检测器,实现更新,具体说明如下:分别运用基森林检测器和子森林检测器,计算数据集β的数据异常率,记为u_al1和ui,设^为第i个子森林异常检测器iForesti的异常率偏差:将η个子森林异常检测器的异常率偏差按从大到小的顺序排列,取前k0kn个作为待更新的子森林异常检测器;运用当前滑动窗口中的数据构建k个子森林异常检测器,取代待更新子森林异常检测器,同时更新基森林检测器中的隔离树,完成对基森林检测器的更新,清空滑动窗口和缓存区的数据。

百度查询: 国网冀北电力有限公司;北京邮电大学;北京科东电力控制系统有限责任公司 一种基于孤立森林算法的电力调度流数据异常检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。