一种基于时间序列的apriori算法改进方法

文档序号:9471451阅读:2737来源:国知局
一种基于时间序列的apriori算法改进方法
【技术领域】
[0001]本发明具体地说是一种基于时间序列的APR1RI算法改进方法。
【背景技术】
[0002]频繁模式挖掘,搜索给定数据集中反复出现的联系,频繁模式挖掘的最初、最常用的形式就是得到关联规则,找出关联规则中实体间的相关性。
[0003]在频繁模式挖掘中,最常用的算法有Apr1ri算法、HotSpot关联规则、FP-Tree关联规则和灰色关联法等。设备件故障的相关性和诱发情况分析,与购物篮分析应用具有相似的分析目标,通过频繁项集的搜索,能够挖掘出不同设备件故障的关联情况,通过支持度和置信度的度量,揭示不同设备件故障发生是否有关联,关联的方式及强度等。但现有的关联规则算法忽略了时间、重复元素项对频繁项集的影响,从而影响频繁项集的界定、产生,最终得到无实际业务意义的关联规则。
[0004]随着数据量的不断增加,计算效率也是普遍被关注的问题。Storm分布式计算就是用来改进传统计算方法的有效工具。
[0005]Storm的核心数据结构是元组。元组是一个简单的命名值列表(键-值对),流是一个无界元组序列。如果你熟悉复杂事件处理(CEP),你可以把Storm元组看作是事件。Spout是storm拓扑的主要数据入口点。Spout像适配器一样连接到一个源的数据,将数据转换为元组,发然后发射出一连串的元组。Storm提供了一个简单的API实现Spout。开发一个Spout主要是编写代码从原始源或API消费数据。主要的数据来源包括:web网站或移动应用程序的点击流Jwitter或其他社交网络输入;传感器输出;应用程序日志事件。
[0006]因为Spout通常不实现任何特定的业务逻辑,他们常常可以被多个拓扑重用。Bolts可以被认为是运算操作或函数。它可以任意数量的流作为输入,处理数据,并可选地发出一个或多个流。Bolt可以从Spout或其他bolt订阅流,使它可以形成一个复杂的网络流的转换。像Spout API—样,Bolts可以执行任何形式的处理,而且bolt的接口简单直接。典型的Bolt执行的功能包括:过滤元组;连接和聚合;计算和数据库读/写。

【发明内容】

[0007]本发明的目的是克服现有技术中存在的不足,提供一种基于时间序列的APR1RI算法改进方法,基于时间序列的相关性分析问题提供通用的解决方案,将时间序列事务通过一定的时间间隔来划分,对获取的频繁项集进行去重,并对支持度和置信度进行优化改造。通过Storm分布式计算方法的设计,保证了大数据量故障数据计算的效率。
[0008]本发明的技术方案是按以下方式实现的,基于时间序列的Apr1ri算法改进避免了以时间序列为基准抽取出的重复事务及频繁项,优化了支持度及置信度的计算方法,并以storm分布式改造来计算故障间的相关性,提高了关联规则的质量和运算效率;
故障数据是按一定的时间序列发生并记录下来的,为了分析设备故障发生的相关性,应对故障数据进行划分;经过对以时间为单位划分故障数据及以故障为单位划分方法有确定的优劣对比,确定以一定的时间间隔为标准,对故障数据进行截取;
设定一定的时间间隔区间,以第一个设备故障信息为起点,获取第一个故障序列;
从下一个设备故障数据开始,到规定的时间范围内,生成第二个故障序列;
按照上述方法,获取故障样本数据中的所有故障序列;
扫描所获得的故障序列库,获取所有1-项集,并计算所有一项集的频数,以此获取可能的2-项集;扫描设备故障数据,得到所有2-项集;
确定2-项集的个数及种类,区分(A,B)和(B,A),根据设备故障的时间标识,去除重复的二项集;
计算2-项集的支持度,计算满足最小支持度的2-项集的置信度;需要注意的是,支持度及置信度需以优化后的公式进行计算,其中,N(A)及N(B)分别表示包含A或B的所有2-项集的个数,而不是A或B的1-项集的数目;
将满足所设定的最小置信度的二项集输出,并结合业务作出相应的解释;
Apr1ri算法的storm分布式改造主要用于大数据量的故障信息的相关性,诱发分析计算需要耗费大量的时间,造成用户长时间的等待,通过分布式改造将相关性计算写在一个拓扑类里面,并且在拓扑类里面定义好程序运行时候的各个spout ;bolt节点以及他们的并行度,从而可以让多个机器同时并行执行相关性诱发性分析计算,最后将计算结果汇总,从而大幅度的挺高了运行效率,提高了用户的体验;将拓扑类运行在storm集群环境中,然后通过远程drpc调用获得返回的计算结果,最后将结果汇总。
[0009]本发明的优点是:
(一)避免因以一定时间间隔抽取事务时,重复抽取某些事务所带来的重复性统计,保证了频繁事务、频繁项集的唯一性和准确性。
[0010]( 二 )基于时间序列,将频繁项集中的项间关系区分为主动诱发与被动诱发,很好的体现了项间的先后诱发顺序。
[0011](三)频繁项集的优化统计方法,使特定项集(如二项集、三项集等)都在相同的维度进行统计,得到更科学、更精确的满足支持度和置信度的关联规则。
[0012](四)Storm分布式计算方法使大规模故障数据分析有很好的效率保证。
【附图说明】
[0013]图1为Apr1ri算法改进流程图。
[0014]实施方式
下面结合附图对本发明的一种基于时间序列的APR1RI算法改进方法作以下详细说明。
[0015]如图1所示,本发明的一种基于时间序列的APR1RI算法改进方法,基于时间序列的Apr1ri算法改进避免了以时间序列为基准抽取出的重复事务及频繁项,优化了支持度及置信度的计算方法,并以storm分布式改造来计算故障间的相关性,提高了关联规则的质量和运算效率;
故障数据是按一定的时间序列发生并记录下来的,为了分析设备故障发生的相关性,应对故障数据进行划分;经过对以时间为单位划分故障数据及以故障为单位划分方法有确定的优劣对比,确定以一定的时间间隔为标准,对故障数据进行截取;
设定一定的时间间隔区间,以第一个设备故障信息为起点,获取第一个故障序列;
从下一个设备故障数据开始,到规定的时间范围内,生成第二个故障序列;
按照上述方法,获取故障样本数据中的所有故障序列;
扫描所获得的故障序列库,获取所有1-项集,并计算所有一项集的频数,以此获取可能的2-项集;扫描设备故障数据,得到所有2-项集;
确定2-项集的个数及种类,区分(A,B)和(B,A),根据设备故障的时间标识,去除重复的二项集;
计算2-项集的支持度,计算满足最小支持度的2-项集的置信度;需要注意的是,支持度及置信度需以优化后的公式进行计算,其中,N(A)及N(B)分别表示包含A或B的所有2-项集的个数,而不是A或B的1-项集的数目;
将满足所设定的最小置信度的二项集输出,并结合业务作出相应的解释;
Apr1ri算法的storm分布式改造主要用于大数据量的故障信息的相关性,诱发分析计算需要耗费大量的时间,造成用户长时间的等待,通过分布式改造将相关性计算写在一个拓扑类里面,并且在拓扑类里面定义好程序运行时候的各个spout ;bolt节点以及他们的并行度,从而可以让多个机器同时并行执行相关性诱发性分析计算,最后将计算结果汇总,从而大幅度的挺高了运行效率,提高了用户的体验;将拓扑类运行在storm集群环境中,然后通过远程drpc调用获得返回的计算结果,最后将结果汇总。
[0016]本发明的一种基于时间序列的APR1RI算法改进方法其加工制作非常简单方便,按照说明书附图所示即可加工。
[0017]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1.一种基于时间序列的APR1RI算法改进方法,其特征在于基于时间序列的Apr1ri算法改进避免了以时间序列为基准抽取出的重复事务及频繁项,优化了支持度及置信度的计算方法,并以storm分布式改造来计算故障间的相关性,提高了关联规则的质量和运算效率; 故障数据是按一定的时间序列发生并记录下来的,为了分析设备故障发生的相关性,应对故障数据进行划分;经过对以时间为单位划分故障数据及以故障为单位划分方法有确定的优劣对比,确定以一定的时间间隔为标准,对故障数据进行截取; 设定一定的时间间隔区间,以第一个设备故障信息为起点,获取第一个故障序列; 从下一个设备故障数据开始,到规定的时间范围内,生成第二个故障序列; 按照上述方法,获取故障样本数据中的所有故障序列; 扫描所获得的故障序列库,获取所有1-项集,并计算所有一项集的频数,以此获取可能的2-项集;扫描设备故障数据,得到所有2-项集; 确定2-项集的个数及种类,区分(A,B)和(B,A),根据设备故障的时间标识,去除重复的二项集; 计算2-项集的支持度,计算满足最小支持度的2-项集的置信度;需要注意的是,支持度及置信度需以优化后的公式进行计算,其中,N(A)及N(B)分别表示包含A或B的所有2-项集的个数,而不是A或B的1-项集的数目; 将满足所设定的最小置信度的二项集输出,并结合业务作出相应的解释; Apr1ri算法的storm分布式改造主要用于大数据量的故障信息的相关性,诱发分析计算需要耗费大量的时间,造成用户长时间的等待,通过分布式改造将相关性计算写在一个拓扑类里面,并且在拓扑类里面定义好程序运行时候的各个spout ;bolt节点以及他们的并行度,从而可以让多个机器同时并行执行相关性诱发性分析计算,最后将计算结果汇总,从而大幅度的挺高了运行效率,提高了用户的体验;将拓扑类运行在storm集群环境中,然后通过远程drpc调用获得返回的计算结果,最后将结果汇总。
【专利摘要】本发明提供一种基于时间序列的APRIORI算法改进方法,Apriori算法改进方法用于关联规则的挖掘,旨在解决基于时间序列的关联规则挖掘问题。(1)对基于一定时间间隔划分的事务集进行去重;(2)同一事务中重复项的主动、被动处理;(3)频繁项集频数统计方法改进。(4)AprioriAppri算法的storm分布式改造。本发明的使用能够有效避免因以一定时间间隔抽取事务时,重复抽取某些事务所带来的重复性统计,保证了频繁事务、频繁项集的唯一性和准确性;基于时间序列,将频繁项集中的项间关系区分为主动诱发与被动诱发,很好的体现了项间的先后诱发顺序。
【IPC分类】G06F17/30, H04L12/24, G06Q50/00, G06K9/62
【公开号】CN105224616
【申请号】CN201510595061
【发明人】于晓晨, 郝伟, 王宁, 娄海凤, 宋增璞
【申请人】浪潮软件股份有限公司
【公开日】2016年1月6日
【申请日】2015年9月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1