Partager via


Détection d'anomalie multivariée dans Microsoft Fabric - Vue d'ensemble

Qu’est-ce que le Détection d'anomalie multivariée pour les séries chronologique ? La détection d'anomalie univariée, implémentée par la fonction KQL series_decompose_anomalies(), vous permet de surveiller et de détecter les anomalies dans la distribution d’une variable unique au fil du temps. En revanche, la détection d'anomalie multivariée est une méthode de détection des anomalies dans la distribution conjointe de plusieurs variables au fil du temps. Cette méthode est utile lorsque les variables sont corrélées, de sorte que la combinaison de leurs valeurs à un moment spécifique peut être anormale, tandis que la valeur de chaque variable elle-même est normale. La détection d'anomalie multivariée peut être utilisée dans différentes applications, telles que la surveillance de l’intégrité des systèmes IoT complexes, la détection des fraudes dans les transactions financières et l’identification de modèles inhabituels dans le trafic réseau.

Par exemple, considérez un système qui surveille les performances d’une flotte de véhicules. Le système collecte des données sur différentes métriques, telles que la vitesse, la consommation de carburant et la température du moteur. En analysant ces métriques ensemble, le système peut détecter les anomalies qui ne seraient pas apparentes en analysant chaque métrique individuellement. En soi, une augmentation de la consommation de carburant pourrait être due à diverses raisons acceptables. Toutefois, une augmentation soudaine de la consommation de carburant combinée à une diminution de la température du moteur peut indiquer un problème avec le moteur, même si chaque mesure est dans sa propre plage normale.

Comment détecter des anomalies multivariées dans Microsoft Fabric ?

La détection d'anomalie multivariée dans Fabric tire parti des puissants moteurs Spark et Eventhouse sur une couche de stockage persistante partagée. Les données initiales peuvent être ingérées dans un Eventhouse et exposées dans OneLake. Le modèle de détection d’anomalie peut ensuite être entraîné à l’aide du moteur Spark, et les prédictions d’anomalies sur de nouvelles données de streaming peuvent être effectuées en temps réel à l’aide du moteur Eventhouse. L’interconnexion de ces moteurs qui peuvent traiter les mêmes données dans le stockage partagé permet un flux transparent de données à partir de l’ingestion, via l’entraînement du modèle, à la prédiction des anomalies. Ce flux de travail est simple et puissant pour la surveillance en temps réel et la détection des anomalies dans des systèmes complexes.

Composants de solution

Cette solution relie les services Azure suivants :

  • Eventhouse : les données sont initialement ingérées dans un Eventhouse, qui est un moteur de traitement des données en temps réel qui peut gérer des flux de données à débit élevé.
  • OneLake : les données de l’Eventhouse sont exposées dans OneLake, qui est une couche de stockage persistante partagée qui fournit une vue unifiée des données.
  • Package de détection d'anomalie multivariée : la solution utilise le package Python time-series-anomaly-detector, implémentant un algorithme avancé basé sur un réseau d’attention au graphique (GAT) qui capture les corrélations entre différentes séries chronologiques et détecte les anomalies en temps réel. Le modèle GAT est formé sur des données historiques pour apprendre les relations entre différentes séries chronologiques. Le modèle entraîné peut être appliqué pour prédire les anomalies aux nouvelles données de diffusion en continu. Notez que cet algorithme est celui utilisé dans le service Détecteur d’anomalies IA en cours de mise hors service. Pour plus d’informations sur l’algorithme, consultez le blog et le document.
  • Notebook Spark : utilisé pour l’apprentissage hors connexion du modèle de détection d’anomalies sur les données historiques et stocker le modèle entraîné dans le registre des modèles MLflow de Fabric
  • Ensemble de requêtes KQL : utilisé pour la prédiction en temps réel des anomalies sur les données entrantes.

Étape suivante