Deteção de anomalias multivariadas no Microsoft Fabric - visão geral
O que é a deteção de anomalias multivariadas para séries temporais? A deteção univariada de anomalias, que é implementada pela função KQL series_decompose_anomalies(), permite monitorar e detetar anomalias na distribuição de uma única variável ao longo do tempo. Em contraste, a deteção de anomalias multivariadas é um método de deteção de anomalias na distribuição conjunta de múltiplas variáveis ao longo do tempo. Este método é útil quando as variáveis estão correlacionadas, portanto, a combinação de seus valores em um momento específico pode ser anômala, enquanto o valor de cada variável por si só é normal. A deteção de anomalias multivariadas pode ser usada em várias aplicações, como o monitoramento da integridade de sistemas complexos de IoT, a deteção de fraudes em transações financeiras e a identificação de padrões incomuns no tráfego da rede.
Por exemplo, considere um sistema que monitora o desempenho de uma frota de veículos. O sistema coleta dados sobre várias métricas, como velocidade, consumo de combustível e temperatura do motor. Ao analisar essas métricas em conjunto, o sistema pode detetar anomalias que não seriam aparentes analisando cada métrica individualmente. Por si só, um aumento no consumo de combustível pode ser devido a várias razões aceitáveis. No entanto, um aumento súbito no consumo de combustível combinado com uma diminuição na temperatura do motor pode indicar um problema com o motor, mesmo que cada métrica por si só esteja dentro da faixa normal.
Como você pode detetar anomalias multivariadas no Microsoft Fabric?
A deteção de anomalias multivariadas no Fabric aproveita os poderosos mecanismos Spark e Eventhouse além de uma camada de armazenamento persistente compartilhada. Os dados iniciais podem ser ingeridos em uma Eventhouse e expostos no OneLake. O modelo de deteção de anomalias pode então ser treinado usando o mecanismo Spark, e as previsões de anomalias em novos dados de streaming podem ser feitas em tempo real usando o mecanismo Eventhouse. A interconexão desses mecanismos que podem processar os mesmos dados no armazenamento compartilhado permite um fluxo contínuo de dados desde a ingestão, via treinamento de modelos, até a previsão de anomalias. Este fluxo de trabalho é simples e poderoso para monitorização em tempo real e deteção de anomalias em sistemas complexos.
Componentes da solução
Esta solução baseia-se nos seguintes componentes:
- Eventhouse: Os dados são inicialmente ingeridos em uma Eventhouse, que é um mecanismo de processamento de dados em tempo real que pode lidar com fluxos de dados de alta taxa de transferência.
- OneLake: Os dados do Eventhouse são expostos no OneLake, que é uma camada de armazenamento persistente compartilhada que fornece uma visão unificada dos dados.
- Pacote de deteção de anomalias multivariadas: a solução utiliza o pacote python time-series-anomaly-detector , implementando um algoritmo avançado baseado em uma rede de atenção gráfica (GAT) que captura as correlações entre diferentes séries temporais e deteta anomalias em tempo real. O modelo GAT é treinado em dados históricos para aprender as relações entre diferentes séries temporais. O modelo treinado pode ser aplicado para prever anomalias em novos dados de streaming. Note que este algoritmo é o que é usado no serviço AI Anomaly Detetor que está sendo aposentado. Para obter mais informações sobre o algoritmo, consulte o blog e o artigo.
- Spark Notebook: usado para treinar offline o modelo de deteção de anomalias em dados históricos e armazenar o modelo treinado no registro de modelos MLflow do Fabric
- KQL queryset: usado para previsão em tempo real de anomalias em dados recebidos.