哪种异常值检测方法?为什么?

数据挖掘 统计数据 异常检测 离群值
2021-10-11 00:24:01

为了检测向量中的异常值,我测试了不同的众所周知的异常值检测方法。最后,我使用了不同方法的组合以及这些方法之间的协议。现在,有人问你为什么选择这个组合和算法!?您可以达到不同的组合并使用其他算法,它们可能会产生更好的结果。我该怎么回答?我不能仅仅基于测试说,因为还有许多其他算法我没有测试过(不能测试所有算法)。我认为这不是一个合乎逻辑的反应。

我正在寻找测试来证明我选择的方法和组合的合理性,并说明我选择这些方法的原因。

请让我知道你的建议。

2个回答

您可以通过使用数据来证明您的选择是正确的。

将异常检测视为概念异常的监督学习问题。然后,您将能够为每种方法呈现其混淆矩阵。这不仅是一个很好的理由,而且可以理解预期的结果。

很多时候,我们有模型,我们想知道应该使用哪个置信度阈值来发出警报。在监督学习框架中,您将能够进行权衡,例如“增加对 X 的置信度将导致更好的精度 Y,但减少对 Z 的召回”。

我想补充一下 Dan Levin 的回答,当你想证明一种方法的合理性时,“科学/工程方法”是首先进行书目研究,在那里你基本上证明你的方法涵盖了通常称为状态的重要部分-最先进的方法。我将恢复如下:

  1. 寻找已知对异常值检测有效的常用方法。
  2. 总结它们的适用领域(医学、生物学、网络安全..),并尝试将它们的优势与您的应用程序联系起来,以便选择一些有前景的方法。
  3. 尝试使用机器学习问题固有的常规验证过程选择的方法。

定义最先进的技术包含大量工作,这是绝对必要的,并且非常适合您的应用程序