Microsoft Fabric での多変量異常検出 - 概要
時系列の多変量異常検出とは? KQL 関数 series_decompose_anomalies() によって実装される一変量異常検出を使用すると、時間の経過に伴う 1 つの変数の分布の異常を監視および検出できます。 一方、多変量異常検出は、時間の経過と共に複数の変数の結合分布の異常を検出する方法です。 このメソッドは、変数が相関している場合に便利です。したがって、特定の時点での値の組み合わせは異常である可能性があり、各変数の値自体は正常です。 多変量異常検出は、複雑な IoT システムの正常性の監視、金融トランザクションでの不正行為の検出、ネットワーク トラフィックの異常なパターンの特定など、さまざまなアプリケーションで使用できます。
たとえば、車両のフリートのパフォーマンスを監視するシステムを考えてみましょう。 システムは、速度、燃料消費量、エンジン温度など、さまざまなメトリックに関するデータを収集します。 これらのメトリックを一緒に分析することで、システムは各メトリックを個別に分析してもわからない異常を検出できます。 それ自体では、燃料消費量の増加は、さまざまな許容される理由が原因である可能性があります。 しかし、燃料消費量の急激な増加とエンジン温度の低下は、それぞれのメトリックが正常な範囲内にある場合でも、エンジンに問題があることを示している可能性があります。
Microsoft Fabric で多変量異常を検出する方法?
Fabric の多変量異常検出では、共有永続記憶装置レイヤーの上にある強力な Spark エンジンと Eventhouse エンジンを利用します。 初期データは Eventhouse に取り込み、OneLake で公開できます。 その後、Spark エンジンを使用して異常検出モデルをトレーニングし、Eventhouse エンジンを使用して新しいストリーミング データに対する異常の予測をリアルタイムで行うことができます。 共有ストレージ内の同じデータを処理できるこれらのエンジンの相互接続により、モデル トレーニングを介したインジェストから異常の予測まで、データのシームレスなフローが可能になります。 これは、複雑なシステムの異常をリアルタイムで監視および検出するためのシンプルで強力なワークフローです。
ソリューション コンポーネント
このソリューションでは、次のコンポーネントに依存します。
- Eventhouse: データは最初に Eventhouse に取り込まれます。これは、高スループットのデータ ストリームを処理できるリアルタイムのデータ処理エンジンです。
- OneLake: Eventhouse からのデータは OneLake で公開されます。OneLake は、データの統一されたビューを提供する共有永続記憶装置レイヤーです。
- 多変量異常検出パッケージ: このソリューションでは、time-series-anomaly-detector Python パッケージを使用し、さまざまな時系列間の関連付けをキャプチャし、リアルタイムで異常を検出するグラフ アテンション ネットワーク (GAT) に基づく高度なアルゴリズムを実装します。 GAT モデルは履歴データに基づいてトレーニングされ、異なる時系列間のリレーションシップを学習します。 トレーニング済みのモデルを適用して、新しいストリーミング データの異常を予測できます。 このアルゴリズムは、廃止される AI Anomaly Detector サービスで使用されるアルゴリズムであることに注意してください。 アルゴリズムの詳細については、ブログおよび論文を参照してください。
- Spark Notebook: 履歴データに対する異常検出モデルのオフライン トレーニングに使用され、トレーニング済みのモデルを Fabric の MLflow モデル レジストリに格納します
- KQL クエリセット: 受信データの異常をリアルタイムで予測するために使用されます。