论文部分内容阅读
事件序列数据是指一系列根据时间先后顺序排列的离散事件,通常用以描述事件主体在一段时间内的活动。例如病人的电子医疗数据可以抽象成一系列带有时间标签的医疗事件(例如诊断,化验,用药信息),用以描述病人在一段时间内的治疗过程。类似的,网络访客的点击流事件(例如点击鼠标,访问页面)也以事件序列的形式记录了用户从打开网页到关闭网页期间的浏览行为。事件序列数据有着非常广泛的应用场景,随着信息电子化的进程不断被推进,越来越多的数据以事件序列的形式被记录下来。分析人员也希望通过分析大量的事件序列数据,从中找到事件之间的相关规律以及事件演化的普遍模式。然而由于事件序列具有很高的复杂性,主要体现在大量的事件类型以及事件在时间维度上的动态变化上,因此需要通过事件序列概括分析的方法总结出简洁的事件序列中隐藏的规律。近些年数据挖掘领域和可视化领域都有很多针对这一问题的研究。其中,数据挖掘领域的工作主要集中在通过对事件序列建模学习到事件间的相关性,或者是挖掘潜在的序列发展阶段。这些方法的确可以学习到事件序列中存在的抽象结构,例如事件频率之间的相互影响,序列之间的相似性,潜在的阶段划分方式等,但通常不能很好的将这些抽象信息对应回原始的事件序列中去,帮助用户建立模型结果与原始信息之间的相互关联。这直接影响了用户对于模型结果的信任程度,以及分析结果最终转化成可执行操作的可能性。与数据挖掘领域的工作相反,可视化领域对于事件序列的分析则是从原始序列数据入手,试图通过序列简化与整合提高可视化方法分析大量事件序列数据的能力。这种方法得到的分析结果易于理解,并且可交互性强,方便用户进行探索和解释。然而通过对原始数据的简化所分析得到的序列发展模式大多处于底层事件的层面,无法识别非常复杂的序列演化模式和事件相关关系。可见已有的数据挖掘领域以及可视化领域的事件序列概括方法之间存在一个缺口。一个理想的事件序列概括方法应该既可以自动的帮助从复杂的事件序列中发现抽象的事件相关规律,同时又可以将这些抽象规律对应回原始的事件序列数据中加以佐证,并且提供可交互的用户接口方便用户结合领域知识探索数据,对分析结果进行验证和补充。因此,本学位论文旨在通过结合数据挖掘和可视化领域工作各自的优势,提出一系列创新的事件序列概括以及可视分析方法,以可交互的方式帮助事件序列的分析人员挖掘和探索事件序列数据集中的普遍存在的以及特殊的演化模式,包括从时间层面概括序列的潜在演化阶段,从事件层面概括序列的演化规律,以及概括序列中存在的异常序列与事件。与此同时,构建抽象演化模式与原始数据的关联,从底层数据出发,辅助分析结果的解释。本学位论文的主要贡献有:·一种事件序列阶段概括及可视分析方法。该方法通过学习事件之间的上下文关系,识别序列发展过程中的潜在阶段,并通过序列的时间动态扭曲生成序列片段与阶段之间的对应关系,并概括出相同阶段中序列片段共有的事件演化模式。作者同时构建了可视分析系统Event Thread2,展示所识别的序列阶段中的关键事件,辅助阶段分析结果的探索与阶段具体含义的解释。·一种事件序列演化模式概括及可视分析方法。该方法通过对序列的主体,阶段以及事件的发生情况构建一个三阶张量模型,进而通过分解张量的方法抽取序列发展过程中的“主题”,也就是序列中的事件演化模式。为了帮助分析人员灵活选取分析参数,并理解算法抽取的演化模式的实际含义,作者构建了可视分析系统Event Thread辅助分析结果的展示与动态调整。·一种基于一对多比较的事件序列异常概括方法。该方法首先针对事件序列异常检测问题提出了一个检测异常序列的模型,进而结合了上述两种事件序列的概括方法,将序列概括应用于一对多的序列比较任务中,旨在得到序列之间存在的事件差异,用于解释序列被识别为异常的原因。作者将序列异常的概括结果展示在可视分析系统Event Thread3中,用于辅助序列比较和异常检测结果的解释。