一种带时间约束的信号序列频繁情节挖掘方法

文档序号:10687169阅读:211来源:国知局
一种带时间约束的信号序列频繁情节挖掘方法
【专利摘要】本发明公开一种带时间约束的信号序列频繁情节挖掘方法,其实现的步骤是:由信号数据生成信号序列,读取用户设定的最小支持度和最大时间间隔阈值,生成1?频繁情节集,使用1?频繁情节集合和K?频繁情节集合生成K+1?频繁候选情节集合,通过构建情节树,从候选情节集合中筛选出满足时间约束的频繁情节。反复实行上述由低阶情节生成高阶候选情节、筛选得到频繁情节的步骤,完成了对信号序列的所有的频繁情节的挖掘。在挖掘频繁情节过程中加入情节时间跨度约束,使得本发明挖掘得到的频繁情节具有较高的实际参考价值和应用性。
【专利说明】
一种带时间约束的信号序列频繁情节挖掘方法
技术领域
[0001]本技术发明属于计算机技术领域,更进一步涉及时态数据挖掘技术领域中的一种带时间约束的信号序列频繁情节挖掘方法。本发明可以用于海量数据处理的过程中带时间约束的信号序列频繁情节挖掘,克服已有方法存在挖掘频繁情节过程中无法加入情节时间跨度约束的局限性,挖掘所得到的频繁情节实际参考价值和应用性较低的问题。技术背景
[0002]随着各种各样的电子数据采集设备在通信、银行、大型超市、环境监控等诸多领域的广泛应用,其收集到了大量的信号序列类型的数据,对这些数据的处理的技术受到了越来越多的关注。频繁情节挖掘是这种信号序列数据的重要研究方面,其方法和技术能得到大量的应用,如通信网络故障、银行异常检测、物联网等,通过挖掘信号序列中的频繁情节, 进而得到它们之前的关系,从而获取隐藏在序列数据之后的有价值的信息。例如,挖掘通信网络告警信号、生产线设备故障信号中的信号序列频繁情节,这些频繁情节对于有效处理告警信息,滤出冗余信息,研究告警信号间的前后关联,对设计并改进通信网络设备、拓扑、 架构等都有重要意义。发生在同一较短时间段内的情节对实际生产具有较好的指导作用, 如通信网络告警环境中,具有现实意义的告警情节一般时间跨度很短,如几分钟或一小时, 而时间跨度超过几天、上月甚至跨年的通信网络告警情节基本不具有实际价值,现有的相关专利和论文挖掘频繁情节时没有考虑情节的时间跨度,因此对实际系统意义不大。
[0003]电子数据采集设备收集的序列数据往往含有信号说明、时间、地点和其他说明信息,数据常以收集时间的先后顺序构成信号序列。所谓情节是指信号序列上发生的信号的偏序关系集合。从其定义来看,信号序列上的情节挖掘考虑到了信号之间的关系,特别是发生时间的先后顺序,而带时间约束的信号序列频繁情节挖掘方法不仅针对信号序列,还考虑到了时间约束。所谓时间约束是指,一个情节上的各信号中,第一个发生的信号同最后一个发生的信号存在最大时间间隔。
[0004]东北大学申请的发明专利“基于相同节点链和哈希链的事件序列频繁情节挖掘方法”(专利申请号:201110020156.2,公开号:CN 102073732B)中公开了一种基于相同节点链和哈希链的事件序列频繁情节挖掘方法。该方法提供了一种事件序列上挖掘最小发生频繁情节的方法,该方法提供的发现情节的最小发生并对其进行技术的方法,通过建立情节矩阵并在矩阵元素上设置相应的修改状态发现2_情节的最小发生并实现计数,通过对频繁的 2_情节进行基于时间戳队列的延伸来发现k-情节。该方法存在的不足之处:一般在对电子数据采集设备采集的事件数据(信号数据)进行挖掘时,一段时间内发生的事件之间关系往往具有各重要的价值,该方法存在挖掘频繁情节过程中无法加入情节时间跨度约束的局限性,挖掘所得到的频繁情节实际参考价值和应用性较低的问题。
【发明内容】

[0005]本发明的目的在于克服现有方法不足,对电子数据采集设备采集的告警信号数据,提出一种带时间约束的信号序列频繁情节挖掘方法。
[0006]本发明的设计思路是:针对带时间约束的序列频繁情节挖掘问题,由信号数据生成信号序列,读取用户设定的最小支持度和最大时间间隔阈值,生成1-频繁情节集,使用1-频繁情节集合和K-频繁情节集合生成K+1-频繁候选情节集合,通过构建情节树,从候选情节集合中筛选出满足时间约束的频繁情节。反复实行上述由低阶情节生成高阶候选情节、 筛选得到频繁情节的步骤,完成了对信号序列的所有的频繁情节的挖掘。
[0007]为实现上述目的,本发明包括如下步骤:
[0008](1)数据预处理:
[0009](la)将电子数据采集设备采集的信号数据中的每一个信号类型,按照自然数递增的顺序进行编码,生成信号序列;[0010 ](1 b)读取用户设定的最小支持度,最大时间间隔阈值;
[0011](2)初始化:[〇〇12]将迭代次数J初始化为1,将信号数量K初始化为1;[0〇13]⑶生成卜频繁情节集合:
[0014](3a)将任意成员均为含有1个信号的频繁情节的1-频繁情节集合设置为空集;
[0015](3b)遍历信号序列中的数据,统计各信号类型出现的次数;
[0016](3c)以信号序列中的任意一个的信号类型为键、信号类型的出现次数为值,构建键值对集合;[〇〇17](3d)遍历键值对集合,将出现次数大于或等于用户设定的最小支持度的键值对,加入到1-频繁情节集合中;
[0018](4)判断K-频繁情节集合是否为空集,若是,则执行步骤(10);否则,执行步骤(5);
[0019](5)生成K+卜候选情节集合:
[0020](5a)将任意成员都是含有K+1个信号的候选情节的K+1-候选情节集合设置为空集,将K-频繁情节集合的索引i设置为0;[〇〇21](5b)将K-频繁情节集合的索引i加1,将1 -频繁情节集合的索引j设置为0;[〇〇22](5c)判断K-频繁情节集合的索引i是否小于或等于K-频繁情节集合的大小,若是,则执行步骤(5d);否则,执行步骤(5k);[〇〇23](5d)将1 -频繁情节集合的索引j加1;[〇〇24](5e)判断1-频繁情节集合的索引j是否小于或等于1-频繁情节集合的大小,若是,则执行步骤(5f);否则,执行步骤(5b);[〇〇25](5f)将情节p初始化为K-频繁情节集合中的第i个情节,将情节p的索引h设置为-1;[〇〇26](5g)将情节p的索引h加1;
[0027](5h)判断索引情节p的索引h是否小于或等于信号数量K,若是,则执行步骤(5i); 否则,执行步骤(5b);
[0028](5i)在情节p的第h个位置插入1-频繁情节集合中的第j个情节,得到情节r,判断情节r的所有非空真子集是否在K-频繁情节集合中,若是,则执行步骤(5j);否则,执行步骤 (5g);[〇〇29](5j)将情节r加入到K+1-候选情节集合中,执行步骤(5g);
[0030](5k)结束生成K+1-候选情节集合;[〇〇31](6)将信号数量K加1,将任意成员均为含有K个信号的频繁情节的K-频繁情节集合设置为空集;[〇〇32](7)对Q-候选情节集合中每一个情节构建一个情节树,得到情节树集合;
[0033](8)生成满足时间约束的K-频繁情节集合:
[0034](8a)将任意成员都是含有K个信号的频繁情节的K-频繁情节集合设置为空集,将情节树集合的索引c设置为〇;[〇〇35](8b)将情节树集合的索引c加1;[〇〇36](8c)判断情节树集合的索引c是否小于等于情节树集合的大小V,若是,则执行步骤(8d);否则,执行步骤(8t);
[0037](8d)获取情节树集合中的第c个情节中的情节发生时间表域、当前层数域、最大层数域、发生计数域、当前情节域,将信号序列的索引r设置为0;[〇〇38](8e)将信号序列的索引r加1;[〇〇39](8f)判断信号序列的索引r是否小于或等于信号序列的大小W,若是,则执行步骤(8g);否则,执行步骤(8r);
[0040](8g)取出信号序列中的第r个信号数据的信号类型e,发生时间t;
[0041](8h)判断信号类型e是否在当前情节域中,若是,执行步骤(8i);否则,执行步骤 (8e);
[0042](8i)对情节发生时间表域的第一层到当前层数域+1所指代的层中的每一层,若该层记录的是信号类型e的发生时间,则将发生时间t加入到该层;
[0043](8j)判断情节发生时间表域的当前层数域+1所指代的层是否为空,若是,执行步骤(8e);否则,执行步骤(8k);
[0044](8k)将当前层数域加1;
[0045](81)判断当前层数域是否大于等于最大层数域,若是,则执行步骤(8m);否则,执行步骤(8e);
[0046](8m)判断情节发生时间表域中的当前层数所指代的层的首元素与第一层首元素之差是否小于最大时间间隔阈值,若是,则执行步骤(8n);否则执行步骤(8〇);
[0047](8n)将情节发生时间表域清空,将发生计数域加1,将当前层数设置为0,执行步骤 (8e);
[0048](8〇)删除情节发生时间表域的每一层的首元素;
[0049](8p)对情节发生时间表域的第2层到当前层数层所指代的层的每一层,由低层向高层,逐层得将该层中大于或等于低一层的首元素的那些元素删除;
[0050](8q)对情节发生时间表域的第1层到当前层数所指代的层的每一层,由低层向高层,找到第一个为空的层,将当前层数设置为该层号,执行步骤(8e);
[0051](8r)判断发生计数域是否大于最小支持度,若是,则执行步骤(8s);否则,执行步骤(8b);[〇〇52](8s)将以该情节树所表示的情节为键、该情节树的发生计数域为值,构建键值对加入到K-频繁情节集合,执行步骤(8b);
[0053](8t)结束生成满足时间约束的K-频繁情节集合;
[0054](9)将迭代次数J加1,执行步骤(4);
[0055](10)将所有的频繁情节集合输出到磁盘。
[0056]本发明与现有的技术相比具有以下优点:
[0057]由于本发明在数据预处理阶段读取了用户设定的最大时间间隔,通过构建情节树,筛选出满足给定时间约束的频繁情节集合,克服了现有技术在挖掘频繁情节过程中无法加入情节时间跨度约束的局限性,使得本发明解决了现有方法通过挖掘得到的频繁情节实际参考价值和应用性较低的问题。【附图说明】[〇〇58]图1是本发明技术的总流程图;[〇〇59]图2是生成K+1-候选情节集合的流程图;
[0060]图3是生成满足时间约束的K-频繁情节集合的流程图。【具体实施方式】
[0061]下面结合附图对本发明做进一步的描述。
[0062]参照图1,本发明包含以下步骤:[〇〇63]步骤1,数据预处理。
[0064]将电子数据采集设备采集的信号数据中的每一个信号类型,按照自然数递增的顺序进行编码,生成信号序列。信号数据包含的属性有:传感器编号、时间戳、信号类型、信号说明。
[0065]读取用户设定的最小支持度,最大时间间隔阈值。[〇〇66]步骤2,初始化。[〇〇67]将迭代次数J初始化为1,将信号数量K初始化为1。[〇〇68]步骤3,生成1-频繁情节集合。[〇〇69]将任意成员均为含有1个信号的频繁情节的1-频繁情节集合设置为空集。
[0070]遍历信号序列中的数据,统计各信号类型出现的次数。
[0071]以信号序列中的任意一个的信号类型为键、信号类型的出现次数为值,构建键值对集合。
[0072]遍历键值对集合,将出现次数大于或等于用户设定的最小支持度的键值对,加入到1-频繁情节集合中。
[0073]步骤4,判断K-频繁情节集合是否为空集,若是,则执行步骤10;否则,执行步骤4。 [〇〇74]步骤5,生成K+1-候选情节集合。[〇〇75]参照图2,对生成K+1-候选情节集合的具体步骤描述如下。[〇〇76]第1步,将任意成员都是含有K+1个元素的候选情节的K+1-候选情节集合设置为空集,将K-频繁情节集合的索引i设置为0。[〇〇77]第2步,将K-频繁情节集合的索引i加1,将1-频繁情节集合的索引j设置为0,执行本步骤的第3步。
[0078]第3步,判断K-频繁情节集合的索引i是否小于或等于K-频繁情节集合的大小N,若是,则执行本步骤的第4步;否则,执行本步骤的第11步。
[0079]第4步,将1 _频繁情节集合的索引j加1。[〇〇8〇]第5步,判断1-频繁情节集合的索引j是否小于或等于1-频繁情节集合的大小M,若是,则执行本步骤的第6步;否则,执行本步骤的第2步。
[0081]第6步,将情节p初始化为K-频繁情节集合中的第i个情节,将情节p的索引h设置为_1 〇
[0082]第7步,将情节p的索引h加1。[〇〇83]第8步,判断索引情节p的索引h是否小于或等于信号数量K,若是,则执行本步骤的第9步;否则,执行本步骤的第2步。[〇〇84]第9步,在情节p的第h个位置插入1-频繁情节集合中的第j个情节,得到情节r,判断情节r的所有非空真子集是否在K-频繁情节集合中,若是,则执行本步骤的第10步;否则执行本步骤的第7步。[0〇85]第10步,将情节r加入到K+1-候选情节集合中,执行本步骤的第7步。[〇〇86]第11步,结束生成K+1-候选情节集合。
[0087]步骤6,将信号数量K加1,将任意成员均为含有K个信号的频繁情节的K-频繁情节集合设置为空集。
[0088]步骤7,对Q-候选情节集合中每一个情节构建一个情节树,得到情节树集合。
[0089]其中,情节树包含5个域:情节发生次数的发生计数域;按照情节中信号的次序,记录各信号的发生时间序列的情节发生时间表域;情节发生时间表的最大层数域;表示情节发生表中当前已经记录了时间的最大层数;该情节树所表示的当前情节域。
[0090]所述5个域的初始化分别为:发生计数域的初始化为0,最大层数域为构造该情节树时所使用的情节中信号的个数,当前层数域初始值为〇,情节发生时间表域初始化为层数等于最大层数的空表,当前情节域初始化为构造该情节树时所使用的情节。[0091 ]步骤8,生成满足时间约束的K-频繁情节集合。[〇〇92]参照图3,对生成满足时间约束的K-频繁情节集合的具体步骤描述如下。
[0093]第1步,将任意成员都是含有K个信号的频繁情节的K-频繁情节集合设置为空集, 将情节树集合的索引c设置为〇。[〇〇94]第2步,将情节树集合的索引c加1。
[0095]第3步,判断情节树集合的索引c是否小于等于情节树集合的大小V,若是,则执行步骤第4步;否则,执行步骤第20步。
[0096]第4步,获取情节树集合中的第c个情节中的情节发生时间表域、当前层数域、最大层数域、发生计数域、当前情节域,将信号序列的索引r设置为0。[〇〇97]第5步,将信号序列的索引r加1。[〇〇98]第6步,判断信号序列的索引r是否小于或等于信号序列的大小W,若是,则执行步骤第7步;否则,执行步骤第18步。
[0099]第7步,取出信号序列中的第r个信号数据的信号类型e,发生时间t。[〇1〇〇]第8步,判断信号类型e是否在当前情节域中,若是,执行步骤第9步;否则,执行步骤第5步。
[0101]第9步,对情节发生时间表域的第一层到当前层数域+1所指代的层中的每一层,若该层记录的是信号类型e的发生时间,则将发生时间t加入到该层。
[0102]第10步,判断情节发生时间表域的当前层数域+1所指代的层是否为空,若是,执行步骤第5步;否则,执行步骤第11步。
[0103]第11步,将当前层数域加1。[〇1〇4]第12步,判断当前层数域是否大于等于最大层数域,若是,则执行步骤第13步;否贝1J,执行步骤第5步。
[0105]第13步,判断情节发生时间表域中的当前层数所指代的层的首元素与第一层首元素之差是否小于最大时间间隔阈值,若是,则执行步骤第14步;否则执行步骤第15步。
[0106]第14步,将情节发生时间表域清空,将发生计数域加1,将当前层数设置为0,执行步骤第5步。
[0107]第15步,删除情节发生时间表域的每一层的首元素。
[0108]第16步,对情节发生时间表域的第2层到当前层数层所指代的层的每一层,由低层向高层,逐层得将该层中大于或等于低一层的首元素的那些元素删除。
[0109]第17步,对情节发生时间表域的第1层到当前层数所指代的层的每一层,由低层向高层,找到第一个为空的层,将当前层数设置为该层号,执行步骤第5步。
[0110]第18步,判断发生计数域是否大于最小支持度,若是,则执行步骤第19步;否则,执行步骤第2步。
[0111]第19步,将以该情节树所表示的情节为键、该情节树的发生计数域为值,构建键值对加入到K-频繁情节集合,执行步骤第2步。
[0112]第20步,结束生成满足时间约束的K-频繁情节集合。
[0113]步骤9,将迭代次数J加1,执行步骤4。
[0114]步骤10,将所有的频繁情节集合输出到磁盘。
【主权项】
1.一种带时间约束的信号序列频繁情节挖掘方法,包含以下步骤:(1)数据预处理:(la)将电子数据采集设备采集的信号数据中的每一个信号类型,按照自然数递增的顺 序进行编码,生成信号序列;(lb)读取用户设定的最小支持度,最大时间间隔阈值;(2)初始化:将迭代次数J初始化为1,将信号数量K初始化为1;(3)生成1-频繁情节集合:(3a)将任意成员均为含有1个信号的频繁情节的1-频繁情节集合设置为空集;(3b)遍历信号序列中的数据,统计各信号类型出现的次数;(3c)以信号序列中的任意一个的信号类型为键、信号类型的出现次数为值,构建键值 对集合;(3d)遍历键值对集合,将出现次数大于或等于用户设定的最小支持度的键值对,加入 到1-频繁情节集合中;(4)判断K-频繁情节集合是否为空集,若是,则执行步骤(10);否则,执行步骤(5);(5)生成K+1 -候选情节集合:(5a)将任意成员都是含有K+1个信号的候选情节的K+1-候选情节集合设置为空集,将 K-频繁情节集合的索引i设置为0;(5b)将K-频繁情节集合的索引i加1,将1-频繁情节集合的索引j设置为0;(5c)判断K-频繁情节集合的索引i是否小于或等于K-频繁情节集合的大小,若是,则执 行步骤(5d);否则,执行步骤(5k);(5d)将1-频繁情节集合的索引j加1;(5e)判断1-频繁情节集合的索引j是否小于或等于1-频繁情节集合的大小,若是,则执 行步骤(5f);否则,执行步骤(5b);(5f)将情节p初始化为K-频繁情节集合中的第i个情节,将情节p的索引h设置为-1;(5g)将情节p的索引h加1;(5h)判断索引情节p的索引h是否小于或等于信号数量K,若是,则执行步骤(5i);否则, 执行步骤(5b);(5i)在情节p的第h个位置插入1-频繁情节集合中的第j个情节,得到情节r,判断情节r 的所有非空真子集是否在K-频繁情节集合中,若是,则执行步骤(5j);否则,执行步骤(5g);(5 j)将情节r加入到K+1-候选情节集合中,执行步骤(5g);(5k)结束生成K+1-候选情节集合;(6)将信号数量K加1,将任意成员均为含有K个信号的频繁情节的K-频繁情节集合设置 为空集;(7)对Q-候选情节集合中每一个情节构建一个情节树,得到情节树集合;(8)生成满足时间约束的K-频繁情节集合:(8a)将任意成员都是含有K个信号的频繁情节的K-频繁情节集合设置为空集,将情节 树集合的索引c设置为〇;(8b)将情节树集合的索引c加1;(8c)判断情节树集合的索引c是否小于等于情节树集合的大小V,若是,则执行步骤 (8d);否则,执行步骤(8t);(8d)获取情节树集合中的第c个情节中的情节发生时间表域、当前层数域、最大层数 域、发生计数域、当前情节域,将信号序列的索引r设置为0;(8e)将信号序列的索引r加1;(8f)判断信号序列的索引r是否小于或等于信号序列的大小W,若是,则执行步骤(8g); 否则,执行步骤(8r);(8g)取出信号序列中的第r个信号数据的信号类型e,发生时间t;(8h)判断信号类型e是否在当前情节域中,若是,执行步骤(8i);否则,执行步骤(8e);(8i)对情节发生时间表域的第一层到当前层数域+1所指代的层中的每一层,若该层记 录的是信号类型e的发生时间,则将发生时间t加入到该层;(8 j)判断情节发生时间表域的当前层数域+1所指代的层是否为空,若是,执行步骤 (8e);否则,执行步骤(8k);(8k)将当前层数域加1;(81)判断当前层数域是否大于等于最大层数域,若是,则执行步骤(8m);否则,执行步 骤(8e);(8m)判断情节发生时间表域中的当前层数所指代的层的首元素与第一层首元素之差 是否小于最大时间间隔阈值,若是,则执行步骤(8n);否则执行步骤(8〇);(8n)将情节发生时间表域清空,将发生计数域加1,将当前层数设置为0,执行步骤 (8e);(8〇)删除情节发生时间表域的每一层的首元素;(8p)对情节发生时间表域的第2层到当前层数层所指代的层的每一层,由低层向高层, 逐层得将该层中大于或等于低一层的首元素的那些元素删除;(8q)对情节发生时间表域的第1层到当前层数所指代的层的每一层,由低层向高层,找 到第一个为空的层,将当前层数设置为该层号,执行步骤(8e);(8r)判断发生计数域是否大于最小支持度,若是,则执行步骤(8s);否则,执行步骤 (8b);(8s)将以该情节树所表示的情节为键、该情节树的发生计数域为值,构建键值对加入 到K-频繁情节集合,执行步骤(8b);(8t)结束生成满足时间约束的K-频繁情节集合;(9)将迭代次数J加1,执行步骤(4);(1 〇)将所有的频繁情节集合输出到磁盘。2.根据权利要求1所述的一种带时间约束的信号序列频繁情节挖掘方法,其特征在于, 步骤(la)中所述的信号数据包含的属性有:传感器编号、时间戳、信号类型、信号说明。3.根据权利要求1所述的一种带时间约束的信号序列频繁情节挖掘方法,其特征在于, 步骤(7)中所述的情节树包含5个域:情节发生次数的发生计数域;按照情节中信号的次序, 记录各信号的发生时间序列的情节发生时间表域;情节发生时间表的最大层数域;表示情 节发生表中当前已经记录了时间的最大层数;该情节树所表示的当前情节域;所述5个域的 初始化分别为:发生计数域的初始化为〇,最大层数域为构造该情节树时所使用的情节中信号的个数,当前层数域初始值为0,情节发生时间表域初始化为层数等于最大层数的空表, 当前情节域初始化为构造该情节树时所使用的情节。
【文档编号】G06F17/30GK106055672SQ201610392424
【公开日】2016年10月26日
【申请日】2016年6月3日
【发明人】李健, 李辉, 崔江涛
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1