何时在 Azure 异常检测器中使用"/完整"与"/last"API?



当我浏览异常检测器API的文档时,我发现有两个API(或"模式"):/last和/entire。文档说他们正在流式传输与批处理模式。但是,我认为消息不是非常清晰,并且两个 API/模式似乎具有非常相似的功能。 我从工厂车间的传感器中获得了一些物联网数据;我可以预处理数据以确保它符合 API 要求;我可以在我的应用程序中使用 C# 编码。 谁能帮助详细说明如何选择更好的 API 用于我的场景?

我已经在 Azure 笔记本中尝试了这两个 API

感谢您使用异常检测器。

异常检测器 API 的批量检测终结点允许你通过整个时序数据检测异常。在此检测模式下,将创建单个统计模型并将其应用于数据集中的每个点。如果时序具有以下特征,建议使用批量检测在一次 API 调用中预览数据。

  1. 季节性时间序列,偶尔会出现异常。
  2. 平坦的趋势时间序列,偶尔会出现峰值/低谷。

不建议对实时数据监视使用批量异常情况检测,也不建议对不具有上述特征的时序数据使用它。

  1. 批量检测仅创建和应用一个模型,每个点的检测在整个系列的上下文中完成。

    如果时间序列数据在没有季节性的情况下呈上升和下降趋势,则模型可能会错过某些变化点(数据中的下降和峰值)。同样,一些不如数据集后面的变化点重要,可能不算作足够重要,无法合并到模型中。

  2. 由于要分析的点
  3. 数,在进行实时数据监视时,批量检测比检测最新点的异常状态要慢。

对于实时数据监视,建议仅检测最新数据点的异常状态。通过持续应用最新的点检测,可以更高效、更准确地进行流数据监控。

下面的示例描述了这些检测模式对性能的影响。第一张图片显示了沿 28 个先前看到的数据点连续检测异常状态最新点的结果。红点是异常。

显示使用最新点进行异常检测的图像

下面是使用批量异常检测的相同数据集。为操作构建的模型忽略了几个异常,这些异常由矩形标记。

显示使用批处理方法进行异常检测的图像

再次感谢,我们会将信息添加到 AD 服务的公共文档中。

最新更新