实时异常检测和异常检测有什么区别?

7
因此,以下是定义实时异常检测的清晰定义:什么是实时异常检测? 我正在调查异常检测领域,在许多论文中,该方法被定义为实时,而在其他论文中则仅称为异常检测
我发现,我是否错了,大多数所谓的实时方法实际上都是类似于准实时的方法。具体而言,它们是基于时间序列的无监督上下文异常检测的某种形式,其中上下文几乎总是桶大小。换句话说,算法处理数据的微批次,因此从这里可以得出准实时
现在,我想知道这两种异常检测之间是否有区别。如果有的话,它们彼此之间有何不同,桶大小的阈值是什么(如果有)?
这组问题源于我正在对不同异常检测框架的预测性能/质量进行研究,并且我想知道这种差异是否实质性的,因为它涉及两个不同的评估指标。 我想阅读一些经过认证的关于这个问题的来源。

我认为实时处理是指在一个潜在的无限数据集中检查数据流。当然,由于没有什么是瞬间的,这发生在几乎实时的情况下。相反,有限数据源则需要进行处理。 - Brian
4个回答

4

有趣的是,最近我在思考一些类似的话题作为一项业余项目,并发现了 Crunchmetrics 的一些有趣博客。该公司专门从事基于机器学习的异常检测。要点如下:

实时 - 系统可以参考训练或基准数据集,参照“查找”快速出现,具备实时性,当然需要进行优化。

准实时 - 没有现有的训练或统计模型,系统必须在运行过程中计算基线、数据框或范围,从而影响决策速度。

我发现了一篇有用的博客...(本人与该公司无关): 异常检测博客文章


1
在计算机图形学中,实时处理意味着足够快以呈现动态效果。实际上,这意味着以至少24 fps的速度处理图像。
将此含义应用于实时异常检测,我们可以举一个实时视频流的例子。在这种情况下,我们必须快速处理异常检测算法以跟上视频流。在这种情况下,异常检测必须在每帧下面40ms内完成。
这种限制对异常检测的质量与处理速度之间的权衡产生了极大的影响。
快速搜索会出现一些关于这种权衡的文献。https://www.researchgate.net/publication/224258100_Real-time_camera_anomaly_detection_for_real-world_video_surveillance

0

从我的角度来看,这一切都归结于“实时”的定义。

作为一名控制工程师,我所遵循的实时定义只是指足够快地处理接收到的数据,以便在下一个样本到达之前完成处理。这意味着如果您知道采样率,就知道处理传感器数据所需的时间。

在控制理论中,处理算法的记忆长度并不重要。即传感器缓冲区长度的桶大小。所选的采样率和控制器的响应能力都取决于受控过程的动态特性。

因此,对于像家庭暖气控制器这样的东西,实时可能是每分钟一个样本,这意味着您可以处理非常长的样本历史记录。原则上,您可以在过去两年的数据上训练神经网络,然后让它对每个接收到的样本进行异常检测。

如果这是雷达,其中数据以纳秒采样率进入,则您可能没有时间做更多事情,只能应用阈值。

异常检测作为一种理论领域,与处理时间序列所需的时间无关,因此,在我看来,区别在于实时处理要求的Venn图和任何异常检测算法所需的异常检测时间。

因此,它是异常检测算法的子集,其中子集的大小由实时要求和处理能力之间的关系给出。


0
事实上,在许多博客或论文中,它们也明确提到:
  1. "尽管在本文中我们将异常检测称为实时发生,但实际上它是一种准实时方法。"[1]
  2. "为了满足以上所有要求-在非常大的规模下鲁棒地检测异常(近乎实时)..."[2]
因此,与其称这些方法为“实时异常检测”,我更喜欢将其称为“流数据异常检测”。如果您的方法非常快(例如需要0.00001秒)来检测流数据中的异常,那么它可以被称为“实时异常检测”。
因此,“实时异常检测”与“异常检测”的区别在于:“实时异常检测”包含于“异常检测”中;在此基础上,“实时异常检测”专门用于快速检测流数据中的异常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接