检测异常值在数据流是一个具有挑战性的问题,因为在数据流的情况下,多次扫描数据是不可行的,传入的流数据继续进化。多年来,异常值检测的一种常见方法是使用clustering-based方法,但这些方法固有的挑战和缺陷。这些包括有效集群稀疏数据点与聚类方法的质量,处理连续fast-incoming数据流,高内存和时间消耗,和缺乏异常值检测精度高。本文旨在提出一种有效clustering-based方法来检测异常值变化的数据流。我们提出一个新的方法称为有效微簇和最小修剪CLustering-based在数据流异常检测方法(EMM-CLODS)。clustering-based孤立点检测的方法,检测异常值的演化数据流首先应用微簇集群技术密集的数据点和有效地处理对象在一个滑动窗口根据相关性的地位各自的邻居或位置。分析从我们在合成和真实数据集的实验研究表明,该技术以最小的内存和时间表现良好消费相比其他基线算法,使之成为一个非常有前途的技术在处理数据流异常检测问题。
在当前的时代,需要检测异常行为揭示突出的事实,观测,实现准确的预测数据是极其重要的。检测异常值就是这样一个重要的数据挖掘任务,旨在检测对象偏离预期的正常数据的模式。检测异常值的过程是挑战由于数字时代的进步。例如,革命的数据从传统的批量数据,我们见证了大量数据的出现不断以高速度和动态生成的。这些数据被称为数据流,是由许多应用程序生成的
提出了大量的方法来检测异常值在数据流
尽管集群偶尔挑战和警告,它仍然是另一个不错的选择,并承诺解决方案检测离群值。聚类的优点是,它允许使用数量有限的时间和内存,这是必要的,在处理数据流。这是因为聚类分组元素的行为使用集提供的能力分组相似的项目,限制冗余处理和计算的需要。聚类方法提供在线和离线过程的支持,通常用于数据流应用程序也是灵活适应不断变化的数据的性质。
在本文中,我们提出一种新的微簇和最小修剪clustering-based无监督异常值检测方案来检测异常值在数据流同时解决提到的挑战。该方法涉及到不同阶段适应数据分布的动态变化,旨在消除先前提出方法的局限性。新提出的方法有效的微簇和最小修剪CLustering-based在数据流异常检测方法(EMM-CLODS),这是一个CLustering-based孤立点检测的方法。我们称之为简称泥块和使用这个缩写代替EMM-CLODS整个论文。从演化数据流检测异常值,首先应用微簇集群技术密集的数据点。然后它有效地处理对象在一个滑动窗口根据他们的地位各自邻居的相关性或位置通过最小的修剪技术。
在我们的数据流场景中,数据集的大小可能是无限的,我们处理数据在一个固定期间减少异常值检测任务的复杂性。新传入的数据点到达时,应用微簇技术,识别对象,更类似于对方,满足聚类方法的基本前提。扫描数据的方法,适应变化的时间流数据演变。它不断地输入数据并定期更新,并得到了结果。最后,从这些结果,土块报告关键的见解,确定他们是否异常值或窗。该技术的优点是,它可以有效地节省时间和内存,由于微簇技术和最小的修剪。它消除了需要计算每个数据点的集群并存储在内存中每一个数据点。总之,这项工作的主要贡献如下:
我们建议,土块,基于微簇的新技术和最小修剪集群之外的数据点,解决问题检测异常值连续变化的数据流。
我们建议优先处理的对象的概念在集群最小化内存和时间消耗在更新阶段根据相关性的地位各自的邻居或位置。
我们提出的方法可以有效地优化和解决时间和内存约束的问题和挑战,同时保持其准确性检测异常值的数据流。
我们通过广泛的实验演示一些基准数据集我们的方法与其他方法的有效性的数据流异常检测过程。
剩下的纸是组织如下:在部分
流媒体数据。
检测异常值是一个著名的域数据挖掘社区,它被应用在广泛的应用领域
数据挖掘的聚类方法是一种无监督的方法,组织类似的密集的数据点。几种方法使用集群技术和它的变体方法已经提出了孤立点检测的任务。然而,一些遭受早些时候提出的聚类方法的缺点如缓冲内存中的所有数据点为未来处理,或者在某些情况下,不考虑数据点,常常会导致集群。有大量的这些方法都集中在静态数据和流媒体数据类型(
一些关键的聚类算法。
| 方法 | 摘要技术 | 不断变化的数据模型 | 异常值检测 |
|---|---|---|---|
| CluStream [ |
微簇 | Tilted-time窗口 | - - - - - - |
| D-Stream [ |
网格 | 褪色的窗口 | 零星的网格 |
| DenStream [ |
微簇 | 褪色的窗口 | 离群值微簇 |
| DENGRIS-Stream [ |
网格 | 滑动窗口 | 稀疏的网格 |
| Ours-CLODS | 微簇 | 滑动窗口 | 离群值微簇 |
值得注意的是,从表
本文中使用的关键符号包括但不限于如下表
符号列表和他们的解释。
| 符号 | 解释 |
|---|---|
|
|
|
|
|
距离阈值 |
|
|
数量的邻居 |
|
|
窗口大小 |
|
|
滑动窗口大小 |
|
|
数据流 |
|
|
的具体时间 |
|
|
数据点在当前窗口 |
|
|
过期的数据点 |
|
|
检测到异常值/秒 |
对于一个数据集
的两个数据点
基于滑动窗口的基于时间的窗口和点窗口两种类型的窗口模型通常用于数据流。前者考虑了数据点的时间间隔内两个确定数据点,例如,在点
微簇时形成一个数据点的半径
微簇的功能在我们的技术如下:我们应用微簇最小化范围查询和最小化基于距离的计算。微簇消除过度范围查询的需要通过存储你的邻居在微簇的数据点。因此,提高底层评价指标:内存和时间消耗。提出的方法中采用的微簇给不再需要的优势范围查询和控制计算的距离。除了在内存中只存储重要的窗,微簇也提高内存约束,因为单个微簇有能力获得每个对象的社区信息在同一集群。
在图
泥块的框架
在
问题陈述:本文的主要目标是提供一种改进的解决方案来解决这个问题的有效聚类和异常值检测飞速发展数据流。
新的数据流持续到达,
此外,管理内存空间带来另一个挑战,因为它是不可能预测有多少数据到达和先验到期。变得富有挑战性的集群基本数据点和动态分配空间越来越多的未知的数据点,到达和到期。
这就引出了我们解决基本问题的陈述和问题在这篇文章中,我们如何捕获的数据点偏离其他流数据的发展随着时间的推移,这些额外的约束:
数据点的特性可能会随着时间而改变。
以前看不见的数据点特征可能随着时间到达。
数据来源于他们的源代码的形式快速持续发展的数据流,他们成为具有挑战性的集群数据点和有效地检测异常值,解释的问题陈述。需要特别注意的聚类方法和处理内围层和异常值在这个场景中。为此,我们提出一个新的框架,其中包括不同阶段为了有效地检测异常值,同时保持高精度。新提出的方法称为有效微簇和最小修剪CLustering-based在数据流异常检测方法(EMM-CLODS)是一种CLustering-based在演化数据流异常检测方法,检测异常值使用微簇和最小的修剪。这是通过首先应用微簇集群技术密集的数据点和有效地处理数据点根据相关性的地位各自的邻居或在窗口中的位置。我们采用滑动窗口模型,在这个模型中,微簇技术有助于集群密度数据点快速消除需要一个范围查询搜索。集群外的数据点的近似探测由包括一组实现的内围层意义的计算很简单,以减少计算的需求。
的泥块利用集群和近似探索采用滑动窗口内的数据点模型和最小的修剪集群之外的数据点。它同时发现集群外的异常值并处理潜在的离群值,即使他们不断演变随着数据点的变化状态。与其他传统clustering-based方法相比,它不限制本身检测异常值在静态数据(
图
不同阶段的滑动窗口处理离群值。
算法
在算法
最后在算法
在处理数据
处理新
处理过期的
报告异常值,
c。add (
InitiateNewCluster (
CheckRelevance (
c。add (
remove (
启动异常值= []
执行所有功能
add.Outlier (
Processfunctions
返回异常值
DiscoverInClusters
如果
InCluster
NotIncluster
CheckRelevance来
ProcessNewData在
在数据流模型中,输入数据不是通过随机磁盘或内存,如在静态数据的情况下或批处理数据在标准数据库,而是到一个或多个连续的数据流的形式。数据流是一个无限数量的序列数据点
实时流数据到数据点的增量。流数据是活跃的,因为所有入站/物品触发动作对象的数据而不是被邀请参加。
系统无法控制订单或序列在流数据到达的物品。
流数据有无限数量的数据点的可能性。
检测的问题或采矿异常值等数据与上述特征带来的重大影响。首先,以确保结果是不断更新,有必要分析传入的数据在最短的时间和最少的内存使用。在图的框架
传入的无界序列数据到达时,存储整个数据流是不可能的。此外,应用聚类技术没有注意数据的特点,使得整个过程更加乏味。因此,我们开始做了一些预处理基于数据的性质,以避免假设有清洁和结构良好的数据和裁缝提出的数据模型。例如,真实的数据集是很容易被丢失和不一致的数据。这样的数据集可能导致数据质量问题,进而影响到整体的结果。在数据预处理和角力阶段,我们处理缺失数据和不一致数据。虽然离群值有时会影响数据的质量,在这个工作我们完全避免处理离群值因为我们的主要目标是检测离群值。缺失的数据,我们确保我们忽略,手工填写,并计算值。对于不一致的数据,我们正常必要的数据集。
在此阶段,我们管理演化数据流;我们实现的泥块和检测数据点偏离预期的正常行为当窗口幻灯片,到期时,当数据点将到期。我们注意到,这不是可行的对数据流进行聚类在所有可能的时间。我们处理数据点在不同时间窗口。探索发展的过程数据流在不同的时间窗口为用户提供了额外的洞察发展集群的性质和性能。处理演化数据流而言,不同的算法采用了不同的窗口模式。一些现有的窗口模型包括阻尼窗口模型也称为衰落窗口模型,具有里程碑意义的窗口模式,tilted-time窗口模型,和滑动窗口模型。在本文中,我们使用滑动窗口模型,在数据处理流数据窗口的结束。这是具有里程碑意义的窗口而不是模型,是采用的情况下我们想我整个数据流的历史。适用于静态数据设置。 In the sliding window, the streaming data are considered from the current time to a certain range in its history. The key idea in the sliding window is to do exhaustive analysis of the most up-to-date data items and summarized the outdated items.
我们可以看到在图
在图
首先,我们考虑数据点的状态,即,whether they are in a cluster or not and whether data points outside the cluster can be viewed as an inlier or outlier.
其次,我们考虑集群和数据点之间的距离在集群之外,是否远或接近集群,以及他们是否可以被视为局外人或窗。
第三,我们认为数据点是否有着与其他一些数据点之间的关系,形成一个集群,同时,如何处理两个数据点的集群内准确检测异常值。
最后,我们考虑摘要信息的特点,并在实例中我们应该商店或丢弃的摘要信息,以及如何处理过期的数据点。
数据流与一组连续多维数据点
图
在下一阶段,一些数据点改变状态的滑动窗口,出现新的数据点,过期的数据点。这些新变化创造新的挑战为顺利检测异常值比前一阶段。在这种情况下,我们有三个滑动窗口。在第一个窗口中,我们有一个微簇,离群值,和一个完整的集群,有一些数据点,期间他们的地位将可能受到影响的下一张幻灯片。在下一个窗口中,在发病,尽管两个对象已经过期,它不溶解以来微簇
在内存使用方面,由于快速响应和有限的内存需求在这些类型的环境中,它不是实际存储的大多数数据,它是不可能将所有数据存储在内存中。因此,努力挽救局势,我们减少内存消耗和存储相关数据点援助整体聚类和孤立点检测的过程。此外,我们最小的数量重新安排微簇的更新在内存中完成。随着连续输入数据到达,我们首先确定它是否在内存中。如果不是这样,它被添加到临时的内存,然后一个初始化的过程就完成了。内围层的关键是暂时存储在内存中,随着数据的发展由于改变窗口的幻灯片,用新数据更新完成取代旧的。我们计算的数量内围层,删除过期数据从内存释放内存空间。最后,总结统计信息,和离群值然后报道。
孤立点检测的过程涉及到不同阶段。在开始,我们通过集群观察潜在的离群值。根据定义,局外人的演化数据流是一个数据点计算所得来的时间框架内集群和之外的距离阈值
在本节中,我们描述了包括数据集实验设置,参数设置、评价指标和基准方法和讨论的性能
我们做了我们的实验设计使用Java源代码,跑在Eclipse Java EE IDE 10 PC上运行Windows操作系统3.20 GHz CPU X4, 8 GB内存,230 GB的磁盘空间。基线算法之一就是从以前的工作
我们使用类似的基准数据集,采用一些先前的研究
数据集的默认值。
| 数据集 | 尺寸(米) | 昏暗的 |
|
|
|
|
离群值率(%) |
|---|---|---|---|---|---|---|---|
| 足球俱乐部 | 0.6 | 55 | 10000年 | 500年 | 525年 | 50 | 1 |
| 道 | 0.6 | 3 | 10000年 | 500年 | 1.90 | 50 | 0.98 |
| 股票 | 1。1 | 1 | 100000年 | 5000年 | 0.45 | 50 | 1 |
| 高斯 | 1。0 | 1 | 100000年 | 5000年 | 0.028 | 50 | 0.96 |
第二个数据集采用我们的实验是热带大气海洋项目(道)数据集
股票数据集只有一个属性,它可以从宾夕法尼亚大学沃顿商学院的研究数据服务(
为合成数据集,我们使用高斯数据集(
在进行实验之前,我们考虑到幻灯片的大小
我们评估我们的方法使用三个评价指标:运行时间、内存使用情况,和聚类质量。运行时间是时间完成检测的异常值为每个窗口滑动。内存使用的纪录峰值内存使用量在孤立点检测的过程中,为每个窗口包括存储数据。最后,聚类质量定义了如何准确地集群数据集的方法。
我们选择三个最先进的算法,MCOD [
为了观察CPU时间的使用,我们考虑以下:我们改变窗口大小W,距离阈值
图
CPU时变
图
CPU时变
图
CPU时变
图
CPU时变
离群值的rate-varying
| R / default_R (%) | FC (%) | 道(%) | 股票(%) | 高斯(%) |
|---|---|---|---|---|
| 1 | 100.0 | 99.3 | 44.97 | 98.9 |
| 10 | 99.8 | 49.5 | 6.03 | 32.3 |
| 50 | 9.90 | 3.10 | 2.10 | 3.00 |
| 70年 | 7.80 | 1.10 | 2.01 | 1.60 |
| 200年 | 0.93 | 0.72 | 0.97 | 0.85 |
| 500年 | 0.00 | 0.01 | 0.15 | 0.20 |
| 700年 | 0.00 | 0.10 | 0.11 | 0.20 |
| 1000年 | 0.00 | 0.10 | 0.07 | 0.20 |
在图
Memory-varying
当我们改变你的邻居数阈值增加的价值
Memory-varying
在图
Memory-varying
图
Memory-varying
算法的复杂性定义了运行时间和存储空间算法的输入所需的大小。空间复杂性意味着所需的内存空间被泥块在它的生命周期。计算最坏的空间要求的土块,我们考虑存储数据所需的空间和独立变量的大小问题。在表中
时间复杂度的分析结果。
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
空间复杂度分析结果。
| 算法 | 空间复杂度 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
时间复杂度在处理当前窗口内的数据点在最坏的情况是函数的时间成本来发现数据点是否在集群或不是,这是
空间的复杂性,一个简单的答案连续发展的异常值的检测窗口模型中的流数据将包括存储每个数据对象在当前窗口的邻居。显然这样的计算最坏会导致二次空间需求
clustering-based方法,需要考虑的一个重要指标是聚类质量,影响数据流的异常检出率。图
比较微簇的数据点的平均百分比
泥块通过实验显示优于现有方法在大多数情况下,成功地控制了成本计算的时间和内存使用。它是一个通用的解决方案作为clustering-based集群演化数据流异常检测方法基于微簇和处理的对象在一个滑动窗口根据相关性的地位各自邻居或位置,不包括延长额外的基于距离的计算。,土块动态集群数据流和提供支持以满足灵活的挖掘需求。此外,它表明鲁棒性在不同的性能参数的变化及其聚类质量对集群的数据点的数量。最后,它已经证明是一种有效的方法来检测离群值。
检测异常值,挖掘异常事件数据的过程,是一个重要的和具有挑战性的任务。在本文中,我们提出了一个clustering-based称为EMM-CLODS来解决这一问题的方法检测异常值连续变化的数据流。该方法采用微簇技术组类似的数据点距离的流数据。它最小化计算需求和显示计算速度的增加而仍保持其有效性检测异常值通过计算最小滑动窗口的数据点在微簇。它的内存使用量,而不是微簇之外的所有对象都存储在内存中,同样的,过期的离群值的数据点被从内存中删除,以减少内存的使用。从实验真实和合成数据集上执行,我们的方法显示效果检测异常值连续变化的数据流。在大多数情况下,它显示了性能优越的CPU和内存使用率相比其他基线算法。它已经证明是一个很好的技术检测异常值在数据流是健壮的各种参数的变化(
数据和源代码用于支持本研究的发现尚未提供。然而,除了所有的数据集使用的源代码已经清楚地解释了在实验部分的链接直接访问这些数据。之前报道(FC、道、股票和高斯)数据被用来支持这项研究和可用
穆罕默德Jaward呸,弘治Wang李辉赵,霁张co-first作者。
作者声明,关于这项工作他们没有利益冲突。
作者要感谢杭州城市的博士后基金的支持(没有。119001 - ub2101sj),π浙江实验室的研究项目(没有。111007 - pi2001),中国自然科学基金会(没有。62172372也没有。U1866602)和浙江省自然科学基金(没有。LZ21F030001)。