发明内容
为了解决上述问题,本发明提出了一种故障录波数据的局部故障特征提取方法及系统,采用FP-tree数据挖掘算法,对故障录波数据进行二次扫描,从大量录波数据中找出数据值中频繁出现的数据集合,即频繁项集,根据频繁项集对录波数据所隐含的能够体现故障类型的局部特征量进行提取。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种故障录波数据的局部故障特征提取方法,包括:
对获取的故障录波数据提取故障特征,构建故障特征数据库;
扫描故障特征数据库得到故障特征的支持度,删除支持度小于阈值的故障特征,对剩余故障特征根据支持度进行排序得到频繁一项集;
二次扫描故障特征数据库中每条故障特征序列,删除非频繁一项集中的故障特征,并根据支持度排序后构建FP-Tree;
根据FP-Tree构建每个故障特征的条件模式基,以此挖掘所有故障特征的频繁K项集,所述频繁K项集包含的故障特征即为局部故障特征。
第二方面,本发明提供一种故障录波数据的局部故障特征提取系统,包括:
数据提取模块,用于对获取的故障录波数据提取故障特征,构建故障特征数据库;
一次扫描模块,用于扫描故障特征数据库得到故障特征的支持度,删除支持度小于阈值的故障特征,对剩余故障特征根据支持度进行排序得到频繁一项集;
二次扫描模块,用于二次扫描故障特征数据库中每条故障特征序列,删除非频繁一项集中的故障特征,并根据支持度排序后构建FP-Tree;
挖掘模块,用于根据FP-Tree构建每个故障特征的条件模式基,以此挖掘所有故障特征的频繁K项集,所述频繁K项集包含的故障特征即为局部故障特征。
第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本发明的有益效果为:
本发明以大量故障录波数据为基础,根据其具有的连续性特点,结合分层抽样和随机抽样的方法,对整个故障录波数据分为互不相交的层,在每个层内随机抽样,构建样本数据集,减少故障数据间的差异,避免数据过好或过差的问题。
本发明采用FP-tree数据挖掘算法,对录波数据进行二次扫描,对录波数据所隐含的故障特征量进行提取,从大量录波数据中找出数据值中频繁出现的数据集合,即频繁项集,将提取出的特征量信息进行关联分析,根据得出的频繁项集结果可以知道具有关联关系的特征量,通过分析挖掘关联性,当故障再次发生时,可以第一时间查看相关特征量,可以更迅速、准确地获取到需要的信息,对于做出决策、分析数据以及后续故障研究有重要的作用。
具体实施方式:
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例1
如图所示,本实施例提供一种故障录波数据的局部故障特征提取方法,包括:
S1:对获取的故障录波数据提取故障特征,构建故障特征数据库;
S2:扫描故障特征数据库得到故障特征的支持度,删除支持度小于阈值的故障特征,对剩余故障特征根据支持度进行排序得到频繁一项集;
S3:二次扫描故障特征数据库中每条故障特征序列,删除非频繁一项集中的故障特征,并根据支持度排序后构建FP-Tree;
S4:根据FP-Tree构建每个故障特征的条件模式基,以此挖掘所有故障特征的频繁K项集,所述频繁K项集包含的故障特征即为局部故障特征。
所述步骤S1中,由于故障录波数据具有数据不完整性、不一致性和冗余性的特点,所以对获取的故障录波数据采用统计学中的分层抽样和随机抽样相结合的方法减少数据间的差异,避免数据过好或过差的情况;具体操作步骤如下:
S1-1:根据故障录波数据的连续性对其进行分层;
优选地,层与层之间互不相交;
故障录波数据对故障记录具有连续性的特点,不对能够连续存储记录故障前一段时间电网的运行状态,而且在故障发生发展和故障切除的整个过程中较长一段时间里能够始终连续地记录电网的运行状态;
针对该特性,在故障录波数据库中,按照时间段对数据进行分层,即根据每一段连续时间的数据,将整个数据库分成互不相交的层,且层内差异越小越好,层间差异越大。
S1-2:对每个数据层采用随机抽样法进行抽取样本数据,由计算机产生随机数进行抽样,从各层独立的抽取完成以后,将各层抽取出的个体数据合并,构成样本数据集;
优选地,每个层的随机数小于该层的数据数目。
所述步骤S1中,采用傅里叶变换方法对故障录波数据抽取故障特征,将提取完成的故障特征组合成故障特征数据库;
优选地,将故障特征数据库转换成适用于FP-Tree的布尔型数据库。
所述步骤S2中,设置最小支持度,对故障特征数据库进行一次扫描,得到所有故障特征的支持度,即故障特征的出现的次数,得到频繁一项集,根据最小支持度,删除支持度低于阈值的故障特征项,对剩余故障特征根据支持度按降序进行排序,将更新后的频繁一项集放入项头表;
所述步骤S3中,对故障特征数据库进行二次扫描,对于每条故障特征序列删除非频繁一项的故障特征,并按照支持度降序排列;
通过两次扫描后构建FP-tree,建立FP-tree时根据支持度的排序顺序读入故障特征数据,插入至FP-tree中,排序靠前的节点是祖先节点,靠后的是子孙节点,如果有共用的祖先,则对应的共用祖先节点计数加1;
插入后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点,直到所有的数据都插入到FP-tree后,FP-tree的建立完成。
所述步骤S4中,对于每一个项,先构造条件模式基,然后构造条件FP-tree。在每一个新创建的条件FP-tree上重复此过程,直到结果FP-tree为空,或只包含一条路径;
所述条件模式基是:以要挖掘的节点作为叶子节点所对应的FP子树,将FP子树中每个节点的计数设置为叶子节点的计数,并删除计数低于支持度的节点,根据条件模式基对FP-tree进行递归挖掘得到频繁项集;
根据所获得的频繁项集可以提取出最需要的故障特征量,当发生某些故障时,可以很快定位到具体要查看的电气量信息上,让数据分析更加精准、迅速,由此产生的强关联规则对于未来的数据研究、故障分析产生了重要的作用。
以下采用模拟示例展开叙述:
第一次扫描故障录波特征量数据库,其中存储的数据格式如表1:
表1故障录波特征量数据库存储的数据格式
1 |
序分量、幅值、相角、功率、阻抗 |
2 |
序分量、阻抗、突变量、故障类型 |
... |
... |
为了更直观方便的叙述方法流程,以下采用大写英文字母表示特征量,现在模拟数据库有10条数据,数据如表2:
表2模拟数据库
首先设置支持度为数据量的20%,进行第一次扫描并对频繁一项集计数,发现O、I、L、J、P、M和N都只出现一次,由于其支持度低于20%的阈值,故删除;剩下的A、C、E、G、B、D和F按照支持度的大小降序排列,组成了项头表,项头表如图2所示;
第二次扫描故障特征数据库,删除每条故障特征序列中非频繁一项集的故障特征,并按照支持度降序排列;如数据项ABCEFO,O是非频繁1项集,因此被剔除,只剩下ABCEF,按照支持度的顺序排序,数据项变成ACEBF;其他的数据项以此类推,对应的数据图如图3所示。
有了项头表和排序后的数据集,开始FP树的构建;开始时FP树没有数据,建立FP树时需要按照排序后的顺序插入FP树中,排序靠前的节点是祖先节点,而靠后的是子孙节点,如果有共用的祖先,则对应的共用祖先节点计数加1;插入后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点,直到所有的数据都插入到FP树后,FP树的建立完成;
如图4(a)所示,首先插入第一条数据ACEBF,此时FP树没有节点,因此ACEBF是一个独立的路径,所有节点计数为1,项头表通过节点链表链接上对应的新增节点;
接着插入数据ACG,如图4(b)所示,由于ACG和现有的FP树有共有的祖先节点序列AC,因此只需要增加一个新节点G,将新节点G的计数记为1,同时A和C的计数加1成为2,更新对应的G节点的节点链表;以此类推,构建的FP-tree如图4(c)。
接下来进行频繁项集的挖掘,首先要从项头表的底部项依次向上挖掘,对于项头表对应于FP树的每一项构建其条件模式基,所述条件模式基是以要挖掘的节点作为叶子节点所对应的FP子树,将FP子树中每个节点的计数设置为叶子节点的计数,并删除计数低于支持度的节点,根据条件模式基递归挖掘得到频繁项集;
如,先从最底下的F节点开始,寻找F节点的条件模式基,由于F在FP树中只有一个节点,因此候选条件模式基只有如图5(a)所示的一条路径,对应{A:8,C:8,E:6,B:2,F:2};
将所有的祖先节点计数设置为叶子节点的计数,即FP子树变成{A:2,C:2,E:2,B:2,F:2},一般条件模式基可以不写叶子节点,因此最终的F的条件模式基如图5(b)所示;
由此,得到F的频繁二项集为{A:2,F:2},{C:2,F:2},{E:2,F:2},{B:2,F:2};递归合并二项集,得到频繁三项集为{A:2,C:2,F:2},{A:2,E:2,F:2}...等频繁三项集;依次递归,最大的频繁项集为频繁五项集,即{A:2,C:2,E:2,B:2,F:2}。
对于D节点,存在两个叶子节点,首先得到的FP子树如下图6(a)所示,将所有的祖先节点计数设置为叶子节点的计数,即{A:2,C:2,E:1,G:1,D:1,D:1},此时E节点和G节点由于在条件模式基里面的支持度低于阈值,被删除,最终在去除低支持度节点,且并不包括叶子节点后,D的条件模式基为{A:2,C:2},如下图6(b)所示;
由此,D的频繁二项集为{A:2,D:2},{C:2,D:2};递归合并二项集,得到频繁三项集为{A:2,C:2,D:2},D对应的最大的频繁项集为频繁三项集。
以此类推,由于A的条件模式基为空,因此可以不用挖掘,其他故障特征量的最大频繁项集如表3所示:
表3其他故障特征量的最大频繁项集
特征量 |
最大频繁项集 |
B |
{A:2,C:2,E:2,B:2} |
G |
{A:5,C:5,E:4,G:4} |
E |
{A:6,C:6,E:6} |
C |
{A:8,C:8} |
至此得到所有的频繁项集,根据实际需求,如果需要最大的频繁K项集,可以得到最大的频繁项集为5项集,包括{A:2,C:2,E:2,B:2,F:2}。
根据得出的频繁项集结果可以知道有哪些特征量是具有关联关系的,当故障再次发生时,可以根据分析出的结果第一时间去查看相关特征量,可以更迅速、准确地获取到需要的信息,对于做出决策、分析数据以及后续故障研究有重要的作用。
实施例2
本实施例一种故障录波数据的局部故障特征提取系统,包括:
数据提取模块,用于对获取的故障录波数据提取故障特征,构建故障特征数据库;
一次扫描模块,用于扫描故障特征数据库得到故障特征的支持度,删除支持度小于阈值的故障特征,对剩余故障特征根据支持度进行排序得到频繁一项集;
二次扫描模块,用于二次扫描故障特征数据库中每条故障特征序列,删除非频繁一项集中的故障特征,并根据支持度排序后构建FP-Tree;
挖掘模块,用于根据FP-Tree构建每个故障特征的条件模式基,以此挖掘所有故障特征的频繁K项集,所述频繁K项集包含的故障特征即为局部故障特征。
此处需要说明的是,上述模块对应于实施例1中的步骤S1至S4,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。