📜  数据挖掘中基于距离的异常值检测

📅  最后修改于: 2022-05-13 01:56:13.134000             🧑  作者: Mango

数据挖掘中基于距离的异常值检测

异常值是显着偏离其余对象的对象。它们可能是由测量或执行错误引起的。离群数据的分析称为离群分析或离群挖掘。

异常值是与其他数据对象显着偏离并以不同方式表现的数据对象。异常值是显着偏离其余对象的对象。它们可能是由测量或执行错误引起的。离群数据的分析称为离群分析或离群挖掘。

异常值是不遵循数据总体趋势的孤立数据对象。当我们在机器学习或深度学习中工作时,异常值会导致很多问题,它也会影响模型的准确性。因此,检测和消除异常值将非常重要。

异常值检测:

异常值检测是数据挖掘技术的自然延伸。由于数据挖掘是在大型数据集中提取一般模式或趋势,异常值检测是发现显着偏离此类一般模式或趋势的数据对象。与数据集中其他数据对象显着偏离的此类数据对象称为异常值。

异常值的类型请参考:数据挖掘中的异常值类型

查找与其他对象显着不同的数据对象是一项重要活动。通过从人群中脱颖而出,异常值可以代表在某种程度上比总体趋势好得多或差得多的对象。它们可能代表需要以某种特殊方式处理的对象。它们也可能代表错误输入的数据甚至是噪音。

看看异常值检测如何帮助数据挖掘的最佳示例。

  • 欺诈检测:欺诈检测在现代世界中非常重要。随着欺诈案件日益增加,例如信用卡交易中的欺诈、银行贷款申请等等,异常值检测帮助我们将这种欺诈检测为异常值,因为它们代表了偏离正常趋势的实例。
  • 医学:在医疗保健中,检测异常值非常重要,即异常症状或测试结果可能表明患者存在潜在的健康问题。异常值检测在数据挖掘中还有许多其他应用。

基于距离的异常值检测方法

基于距离的异常值检测方法参考由给定半径定义的对象的邻域。如果一个对象的邻域没有足够的其他点,则该对象被视为异常值。这被称为基于距离的 异常值检测方法。

  • 基于距离的方法通常依赖于多维索引,该索引用于检索每个对象的邻域以查看其是否包含足够的点。如果点数不足,则该对象被称为异常值。
  • 基于距离的方法可以更好地扩展到多维空间,并且可以比基于统计的方法更有效地计算。识别基于距离的异常值是一项重要且有用的数据挖掘活动。基于距离的方法的主要缺点是基于距离的异常值检测基于自定义参数的单个值。如果数据集同时包含密集区域和稀疏区域,这可能会导致严重问题。

异常值检测方法可以根据分析的数据样本是否带有专家提供的标签进行分类,这些标签可用于构建异常值检测模型。在这种情况下,检测方法是有监督的、半监督的或无监督的。或者,异常值检测方法可以根据它们关于正常对象与异常值的假设来组织。这种分类包括统计方法、基于邻近度的方法和基于聚类的方法。

挖掘基于距离的异常值的算法:

以下是一些用于更有效地挖掘基于距离的异常值的算法。

  • 基于索引的算法:基于索引的算法有助于多维索引结构,包括 R 树或 kd 树,以搜索每个对象 o 在该对象周围半径 d 内的邻居。一旦发现对象 o 的 K (K = N(1-p)) 个邻居,就可以看出 o 不是异常值。该算法具有 O (k * n 2 ) 的最低情况复杂度,其中 k 是维数,n 是数据集中对象的数量。
  • 嵌套循环算法:嵌套循环算法与基于索引的算法具有相同的求值复杂度,但避免了构建索引结构并最小化 I/O 量。它将内存缓冲区分成两半并将数据放入几个逻辑块中。
  • 基于单元的算法:它避免了 O(n 2 ) 的计算复杂度,并为内存驻留数据集开发了基于单元的算法。它的复杂度为 O(c*k + n),其中 c 是基于单元数的常数,k 是维度。