论文部分内容阅读
近几年来,随着信息技术的发展,出现了一类新的数据模型——数据流。它以实时、连续、有序的数据序列方式存在于人们生产和生活各个领域,如股票交易,火车售票系统,传感器网络等。它具有数据量大,连续快速,不可预测和短暂易逝等特点。数据流的这些特点决定了很多传统数据挖掘技术无法推广到数据流上。它要求数据挖掘具有在线挖掘能力,能在有限的空间里实时地处理源源不断地流入的数据并及时将挖掘结果反馈给用户。在很多数据流实际应用中,人们往往只关注数据流中离当前比较近的数据,对较远的历史数据兴趣不大。为了满足这种应用需要,滑动窗口技术应运而生。滑动窗口(包括基于时间的和基于数量的)内的数据是数据流离当前最近一段数据。数据流上离群点(异常点)检测是数据流数据挖掘的一个重要的分支,它在数据流应用中有着非常重要的理论和应用价值。比如:在银行的交易数据中,一些异常交易数据可能预示金融欺诈。在机场安检系统里,检测一些异常的行为可以有助于避免恐怖袭击。在疾病监控数据中,挖掘一些异常的疾病数据可以监控一些疾病的变异和预警重大传染病暴发。在产品生产的数据中,检测产品的一些缺陷可以较快地了解生产机器的性能状况。由于数据流数据量大,不可能被存储到存储介质上,挖掘静态数据中的离群点检测算法无法推广到数据流上去。因此需要研究数据流中的离群点检测方法。由于数据流中的数据具有易逝性,再加上流数据量大速度快,因此流上的离群点检测方法只能单遍访问数据,需要以较少的时空代价增量反馈离群点。在滑动窗口的数据模型中,滑动窗口不断向前滑行,一部分旧数据会滑出窗口,一部分新的数据流入了窗口。这种新旧数据交替直接影响窗口上离群点检测结果。为了反应窗口内数据变化的趋势,窗口上的离群点检测方法一方面要将新进的信息补充到已有离群信息中去,同时定期地清除过期的离群信息,从而提高算法的准确率并节约存储空间。基于滚动物理窗口的最近滑动窗口离群点检测方法充分利用ROF-tree结构优势,动态维护窗口内的频繁模式和离群信息。通过定期执行修枝和刷新算法清除掉ROF-tree树上的过期和非离群的数据,有效地提高了内存空间的使用效率。该方法使用保守估计策略得到的数据的离群度的近似值总不小于数据真实的离群度,从而实现了尽力不漏报离群点的目标。为了能动态地,方便地检测可变滑动窗口内的离群点,我们提出了基于频繁模式的流数据离群度量——抵触频繁模式离群因子FPCOF,它能更加直观准确地度量数据的离群程度,并在此基础上给出一种能迅速准确地挖掘数据流上任意大小滑动时间窗口内离群点的算法ODFP-SW。算法通过构建SWODFP-Tree树,在将流入的数据增量更新到树上的过程中,同时计算出了数据的FPCOF值,并通过树上的候选离群集的删除和移动,动态更新候选离群集以及候选离群点的FPCOF值,能实时动态地反映数据流中离群信息的变化过程。在数据流离群点检测的应用中,选择一个合适的离群度的最小检测门限是一件复杂而困难的事情。人们因而提出了检测数据流上TOP-K离群点的需求。针对这种需求,我们提出了一种数据流上滑动窗口TOP-K离群点检测方法。方法根据切尔诺夫(Chernoff)边界定理和当前第K离群点的离群度,估算出TOP-K离群点的最低离群度门限。依据门限将窗口内的数据分为两类:候选TOP-K离群点和非离群数据。当滑动窗口不断向前滑行时,算法将窗口中的过期的和非离群数据清除,这样可以节约大量存储空间,并能高概率地保证了方法对窗口内TOP-K离群点检测的正确性。在数据流滑动窗口查询研究领域中,连续查询结果失效的问题成为了一个新研究热点。查询结果的维护代价直接影响连续查询效率。根据对不同更新模式连续查询结果的分析,我们提出了一种带分支链表的梯队列来维护滑动窗口连续查询结果。它利用分支链表结构收集具有相同截止期的数据,采用梯队列的“产卵”机制,能适应具有各种不同分布的数据维护,且能达到O(1)的均摊(amortized)时间复杂度。