掌桥专利:专业的专利平台
掌桥专利
首页

电力传感网感知层故障关联规则挖掘方法及系统

文献发布时间:2023-06-19 11:42:32


电力传感网感知层故障关联规则挖掘方法及系统

技术领域

本发明涉及数据挖掘技术领域,具体地涉及一种电力传感网感知层故障关联规则挖掘方法及系统。

背景技术

感知层是电力传感网中的基础和重要功能应用层,感知层由各类物联网传感器、智能终端、本地通信网络、边缘物联代理组成,可以实现传感信息的采集、汇聚、边缘计算和上送。随着电力传感网建设进程的推进,感知层的规模逐渐扩大、业务类型丰富多样、通信方式异构融合,使得感知层网络变得异常复杂,一台设备的故障可能导致与之相关的设备也产生大量告警。数量庞大的故障信息不但不能有效帮助技术人员定位故障源、确定故障原因,反而会将反应故障本质的根本信息淹没,加大故障诊断难度。

故障关联规则挖掘可以在技术人员处理故障信息之前对故障进行过滤、合并和转化,进而发现根故障,辅助技术人员及时准确定位故障。故障关联规则挖掘作为通信网络故障诊断的重要手段之一,引起了广泛关注。

现有的故障关联规则方法大多基于FP-growth或Apriori算法,其中最经典的Apriori算法需要多次重复扫描数据集,会产生大量候选集占用大量内存,同时该算法候选项集的生成和测试效率较低;而FP-growth算法不产生候选集,通过将数据压缩到一颗频繁模式树(FP-tree)后采用模式增长方式生成频繁项集,因此效率比Apriori算法有所提高,但递归生成条件数据库和条件FP-tree要耗费较多的时间与内存,在使用低支持度时会产生大量条件模式树等问题。因此这些算法的运行效率难以满足大规模故障关联规则挖掘要求。

发明内容

本发明实施例的目的是提供一种电力传感网感知层故障关联规则挖掘方法及系统,该方法及系统能够克服现有技术中故障关联规则挖掘算法运行效率低的技术问题。

为了实现上述目的,本发明实施例提供一种电力传感网感知层故障关联规则挖掘方法,所述方法包括:

获取待挖掘的数据集以及对应的最小支持度,其中,所述数据集包括多个事务,每个所述事务包括多个项;

归并所述数据集以得到候选项集,其中,所述候选项集包括多个项,每个所述项对应有多个事务;

分别计算所述候选项集中每个所述项的支持度;

遍历每个所述项,筛选出支持度大于所述最小支持度的项;

判断筛选出的所述项的数量是否为0;

在判断筛选出的所述项的数量不为0的情况下,将筛选出的所述项加入频繁项集中;

采用基于冗余容量的交叉计数方法从筛选出的所述项中计算出新的所述候选项集;

再次分别计算所述候选项集中每个所述项的支持度,并执行所述方法的相应步骤,直到判断所述筛选出的所述项的数量为0;

在判断筛选出的所述项的数量为0的情况下,输出所述频繁项集。

可选地,所述采用基于冗余容量的交叉计数方法从筛选出的所述项中计算出新的所述候选项集包括:

在所述筛选出的所述项中按照对应的事务的数量从小到大的顺序执行筛选操作。

可选地,所述采用基于冗余容量的交叉计数方法从筛选出的所述项中计算出新的所述候选项集包括:

对筛选出的所述项按照每个所述项对应的事务的数量按照从大到小的顺序排列;

按照从右向左的顺序对筛选出的所述项执行筛选操作。

可选地,所述采用基于冗余容量的交叉计数方法从筛选出的所述项中计算出新的所述候选项集包括:

对筛选出的所述项按照每个所述项对应的事务的数量按照从小到大的顺序排列;

按照从左向右的顺序对筛选出的所述项执行筛选操作。

可选地,所述基于冗余容量的交叉计数方法包括:

输入待计算的两个所述项;

根据公式(1)分别计算两个所述项的冗余容量,

R=count(N)-minsup*|T|, (1)

其中,R为冗余容量,count(N)为项N对应的事务的数量,minsup为所述最小支持度,|T|为所有所述事务的总数量;

分别在两个所述项中选择序号最小的事务;

判断选择的两个事务的序号是否相等;

在判断选择的两个事务的序号相等的情况下,从两个所述项中取出选择的两个事务,并将选择的两个所述事务中的一个加入两个所述项的交集中;

在判断选择的两个事务的序号不相等的情况下,选择所述两个事务的序号较小者对应的所述项,从选择的所述项中删除所述较小者,并根据公式(2)更新选择的所述项的冗余容量,

R

其中,R

判断两个所述项是否至少存在一个为空集;

在判断两个所述项至少存在一个为空集的情况下,将所述交集加入新的所述候选项集中;

在判断两个所述项均为非空集的情况下,判断两个所述项对应的冗余容量是否存在至少一个小于0;

在判断两个所述项对应的冗余容量存在至少一个小于0的情况下,对所述交集执行剪枝操作;

在判断两个所述项对应的冗余容量均大于或等于0的情况下,再次分别在两个所述项中选择序号最小的事务,并执行所述方法的相应步骤。

可选地,所述分别计算所述候选项集中每个所述项的支持度包括:

根据公式(3)计算所述支持度,

其中,sup(X)为项X的支持度,|T|为所述事务的总数量,count(X)为项X所对应的事务的数量。

另一方面,本发明还提供一种电力传感网感知层故障关联规则挖掘系统,所述系统包括处理器,所述处理器用于被机器读取以使得所述机器执行如上述任一所述的方法。

再一方面,本发明还提供一种存储介质,所述存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的方法。

通过上述技术方案,本发明提供的电力传感网感知层故障关联规则挖掘方法及系统通过将原本水平数据的数据集转化为垂直数据的数据集,使得数据集能够适应Eclat算法的挖掘要求。再结合基于冗余容量的交叉计数方法,对数据集进行进一步地挖掘,提高了交叉计数的速度,使得即使在事务较多的稀疏数据集下,该关联规则挖掘方法也能够实现高效率的规则挖掘。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是根据本发明的一个实施方式的电力传感网感知层故障关联规则挖掘方法的流程图;

图2是根据本发明的一个实施方式的搜索树的示例图;

图3是根据本发明的一个实施方式的搜索树的示例图;以及

图4是本发明的一个实施方式的基于冗余容量的交叉计数方法的流程图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

如图1所示是根据本发明的一个实施方式的电力传感网感知层故障关联规则挖掘方法的流程图。在图1中,该方法可以包括:

在步骤S10中,获取待挖掘的数据集以及对应的最小支持度。其中,该数据集可以包括多个事务,每个事务可以包括多个项。具体地,在该数据集中,每个事务可以用于表示系统的故障类型,而其中所包括的多个项则可以表示为与该故障类型相关联的系统模块。

在步骤S11中,归并该数据集以得到候选项集。其中,该候选项集可以包括多个项,每个项可以对应有多个事务。

在现有技术中,由于系统每次的故障事件在统计时都会基于故障类型来统计,例如先确定故障类型,再基于故障类型对相关联的系统模块进行统计,从而得到了在步骤S10中的基于水平数据的数据集。

对于这种水平数据的数据集,现有技术主要是基于FP-growth或Apriori算法来挖掘。其中,最经典的Apriori算法需要多次重复扫描数据集,这就会产生大量候选集,从而占用大量内存。同时,该算法候选项集的生成和测试效率也较低。相较于前者而言,FP-growth算法不产生候选集,而是通过将数据压缩到一颗频繁模式树(FP-tree)后采用模式增长方式生成频繁项集,因此效率比Apriori算法有所提高。但是,在该算法中,递归生成条件数据库和条件FP-tree要耗费较多的时间与内存,在使用低支持度时会产生大量条件模式树,因此该算法的运行效率也难以满足大规模故障关联规则挖掘要求。

Eclat算法是一种基于垂直数据的数据挖掘方法,相较于常规的FP-growth或Apriori算法而言,具备更高的数据处理效率。但是,这种算法是基于垂直数据,而本发明实施方式中的数据集却是水平数据,因此不能直接采用Eclat算法。

所以在该步骤S11中,首先要对水平数据的数据集执行归并操作,从而得到垂直数据的候选项集。对于该水平数据和垂直数据的具体事例,则可以是如表1和表2所示,

表1水平数据

表2垂直数据

其中,TID表示故障类型。

在步骤S12中,分别计算候选项集中每个项的支持度。其中,该支持度的计算方式可以是本领域人员所知的多种形式。在本发明的一个示例中,该支持度可以是根据公式(1)来计算,

其中,sup(X)为项X的支持度,|T|为事务的总数量,count(X)为项X所对应的事务的数量。在该实施方式中,该事务即为上述故障类型,项即为上述系统模块,事务的数量即为故障类型的种类。

在步骤S13中,遍历每个项,筛选出支持度大于最小支持度的项。

在步骤S14中,判断筛选出的项的数量是否为0。

在步骤S15中,在判断筛选出的项的数量不为0的情况下,将筛选出的项加入频繁项集中。

在步骤S16中,采用基于冗余容量的交叉计数方法从筛选出的项中计算出新的候选项集。

再次分别计算候选项集中每个项的支持度,并执行该方法的相应步骤,直到判断筛选出的项的数量为0。

在步骤S17中,在判断筛选出的项的数量为0的情况下,输出频繁项集。

在该实施方式中,步骤S13筛选出的项满足支持度大于最小支持度,此时说明候选项集中仍然有频繁项,因此需要将筛选出的项加入频繁项集中。另一方面,候选项集中仍然有频繁项说明该候选项集仍然需要进一步挖掘频繁项。因此,在判断筛选出的项的数量不为0的情况下,可以首先将该次挖掘的频繁项加入频繁项集中,并将新挖掘出的频繁项再次作为新一轮的候选项集,以进行下一轮的挖掘。相反地,如果步骤S14判断筛选出的项的数量为0,此时说明该数据集中已经没有频繁项,因此不需要再继续挖掘。即输出频繁项集。最终,本领域人员可以通关该频繁项集得到故障关联规则。

虽然Eclat算法思想具备更高的数据处理效率,但是传统的Eclat算法思想主要是按照事务的数量从大到小的顺序执行的。这样的方法虽然在一定程度上相较于FP-growth或Apriori算法具备更高的执行效率,但是也存在自身的缺陷。以图2中所示出的搜索树为例,首轮得到的频繁项为I

因此,在本发明的一个优选示例中,步骤S16对筛选出的项执行筛选操作时,可以按照对应的事务的数量从小到大的顺序执行筛选操作。具体地,为了便于算法程序的设计,可以是先对筛选出的项按照每个项对应的事务的数量按照从大到小的顺序排列,再按照从右向左的顺序对筛选出的项执行筛选操作;反之,也可以先对筛选出的项按照每个项对应的事务的数量按照从小到大的顺序排列,再按照从左向右的顺序对筛选出的项执行筛选操作。

对于该步骤S16中的基于冗余容量的交叉计数方法,虽然可以是本领域人员所知的多种形式。但是,为了在挖掘的过程中,减少多余的冗余项。该步骤S16可以通过一边挖掘一边剪枝的操作,实现冗余项数量的限制,从而提高算法的执行效率。具体地,该步骤S16可以包括如图3所示的步骤。在图3中,该基于冗余容量的交叉计数方法可以包括:

在步骤S20中,输入待计算的两个项;

在步骤S21中,根据公式(1)分别计算两个项的冗余容量,

R=count(N)-minsup*|T|, (1)

其中,R为冗余容量,count(N)为项N对应的事务的数量,minsup为最小支持度,|T|为所有事务的总数量;

在步骤S22中,分别在两个项中选择序号最小的事务;

在步骤S23中,判断选择的两个事务的序号是否相等;

在步骤S24中,在判断选择的两个事务的序号相等的情况下,从两个项中取出选择的两个事务,并将选择的两个事务中的一个加入两个项的交集中。在该步骤S24中,判断两个事务的序号相等,此时说明在两个项中分别取出的事务时相同的,那么,此时说明这两个相同的事务必然是两个项的交集中的事务,因此可以先取出这两个事务,并将其中的一个加入交集中。

在步骤S25中,在判断选择的两个事务的序号不相等的情况下,选择两个事务的序号较小者对应的项,从选择的项中删除较小者,并根据公式(2)更新选择的项的冗余容量,

R

其中,R

在步骤S26中,判断两个项是否至少存在一个为空集。

在步骤S27中,在判断两个项至少存在一个为空集的情况下,将交集加入新的候选项集中。其中,如果两个项中至少一个存在空集,此时说明两个项的交集中已经不可能再加入任何一个事务,因此可以直接结束算法,并输出当前两个项所对应的交集。

在步骤S28中,在判断两个项均为非空集的情况下,判断两个项对应的冗余容量是否存在至少一个小于0。

在步骤S29中,在判断两个项对应的冗余容量存在至少一个小于0的情况下,对交集执行剪枝操作。在该步骤中,判断两个项对应的冗余容量存在至少一个小于0,说明此时其中至少一个项所对应的事务的数量小于最小支持度,此时继续进行挖掘操作显然会陷入前文中所提到的算法效率低的技术问题,因此可以直接执行剪枝操作,即删除该交集。

在判断两个项对应的冗余容量均大于或等于0的情况下,再次分别在两个项中选择序号最小的事务,并执行该方法的相应步骤。与步骤S26相反的是,如果两个项均为非空集,则说明算法依然可以继续挖掘两个项的交集,因此可以返回执行步骤S22。

另一方面,本发明还提供一种电力传感网感知层故障关联规则挖掘系统,所述系统包括处理器,所述处理器用于被机器读取以使得所述机器执行如上述任一所述的方法。

再一方面,本发明还提供一种存储介质,所述存储介质存储有指令,所述指令用于被机器读取以使得所述机器执行如上述任一所述的方法。

通过上述技术方案,本发明提供的电力传感网感知层故障关联规则挖掘方法及系统通过将原本水平方向的数据集转化为垂直方向的数据集,使得数据集能够适应Eclat算法的挖掘要求。再结合基于冗余容量的交叉计数方法,对数据集进行进一步地挖掘,提高了交叉计数的速度,使得即使在低支持度下,该关联规则挖掘方法也能够实现高效率的规则挖掘。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 电力传感网感知层故障关联规则挖掘方法及系统
  • 基于关联规则的无线传感网络报文挖掘系统和挖掘方法
技术分类

06120113023064