Microsoft Fabric 中的多变量异常情况检测 - 概述

什么是时序的多变量异常情况检测? 单变量异常检测由 KQL 函数 series_decompose_anomalies() 实现,它使您能够监视和检测随时间推移单个变量分布中的异常。 相比之下,多变量异常检测是检测多个变量随时间推移的联合分布中的异常的方法。 当变量相关时,此方法非常有用,因此,特定时间它们的值组合可能是异常的,而每个变量的值本身都是正常的。 可在各种应用程序中使用多变量异常检测,例如监视复杂 IoT 系统的运行状况、检测金融交易中的欺诈以及识别网络流量中的异常模式。

例如,考虑一个系统来监视车队的性能。 系统收集有关各种指标的数据,例如速度、燃油消耗和发动机温度。 通过将这些指标分析在一起,系统可以通过单独分析每个指标来检测不明显的异常。 本身,燃油消耗的增加可能是由于各种可接受的原因。 但是,燃油消耗的突然增加加上发动机温度的下降可能表明发动机存在问题,即使每个指标本身都在正常范围内。

如何在 Microsoft Fabric 中检测多变量异常?

Fabric 中的多变量异常检测利用在共享持久存储层之上的强大 Spark 和 Eventhouse 引擎。 初始数据可以引入到 Eventhouse 中,并在 OneLake 中公开。 然后,可以使用 Spark 引擎训练异常情况检测模型,并使用 Eventhouse 引擎实时预测新流式处理数据的异常情况。 这些引擎的互连可以处理共享存储中的相同数据,从而允许通过模型训练从引入到预测异常的无缝数据流。 此工作流简单而强大,可用于实时监视和检测复杂系统中的异常。

解决方案组件

此解决方案依赖于以下组件:

  • Eventhouse:数据最初被引入到 Eventhouse 中,这是一个实时数据处理引擎,能够处理高吞吐量的数据流。
  • OneLake:Eventhouse 中的数据在 OneLake 中公开,这是一个共享的持久存储层,提供数据的统一视图。
  • 多变量异常情况检测包:解决方案使用 时序异常检测器 python 包,基于图形关注网络(GAT)实现高级算法,该算法捕获不同时序之间的相关性,并实时检测异常。 GAT 模型基于历史数据进行训练,以了解不同时序之间的关系。 训练的模型可以应用于预测新流数据的异常情况。 请注意,此算法是在即将停用的 AI 异常检测器服务 中使用的算法。 有关算法的详细信息,请参阅 博客论文
  • Spark Notebook:用于脱机训练历史数据的异常情况检测模型,并将训练的模型存储在 Fabric 的 MLflow 模型注册表中
  • KQL 查询集:用于实时预测传入数据的异常情况。

后续步骤