O que é detecção de anomalias?

A detecção de anomalias usa uma série de ferramentas para identificar e tratar anomalias conforme elas aparecem em um conjunto de dados.

Uma alteração dentro de um padrão de dados, um valor atípico ou um evento que esteja fora de uma tendência padrão. Um desvio de algo esperado ou algo que não esteja em conformidade com as expectativas.

Uma anomalia, ou um ponto atípico em um padrão, pode ser indicativa de algo que esteja fora da norma ou algo que possivelmente não esteja certo.

Anomalias de ponto/globais

Um único ponto de dados que foi identificado muito longe do restante.

Anomalias contextuais

Uma anomalia anormal no contexto de um conjunto de dados, mas normal no contexto de outro conjunto de dados. Esse é o tipo mais comum de anomalia contextual nos dados de séries temporais.

Anomalias coletivas

Quando um subconjunto inteiro de dados é atípico quando comparado a um conjunto mais amplo de dados, pontos de dados individuais não são considerados ao identificar anomalias coletivas.

A identificação de um valor atípico raro ou de um ponto de dados fora das tendências de um conjunto de dados. As anomalias podem ser indicativas de eventos suspeitos, mau funcionamento, defeitos ou fraude.

O desafio da detecção de anomalias

Um sistema de detecção de anomalias exige trabalho manual para ser analisado ou requer o uso de ML (machine learning, aprendizado de máquina). Isso pode ser desafiador, pois requer um forte conhecimento de domínio e a difícil necessidade de prever possíveis anomalias estatísticas antes que se manifestem.

Detecção de anomalias com aprendizado de máquina

Benefícios da detecção de anomalias e do aprendizado de máquina

O aprendizado de máquina (ML) funciona melhor para detecção de anomalias, pois é mais oportuno do que a detecção manual, altamente adaptável às mudanças e tem os recursos para lidar facilmente com grandes conjuntos de dados.

Dados não estruturados

Os dados que vêm estruturados têm uma base de compreensão e significado por trás deles, que foram interpretados e organizados em um conjunto de dados digerível. Dados codificados ou não estruturados podem tornar um algoritmo inútil até que seja estruturado, pois há pouca interpretação e compreensão do contexto dos dados.

Grandes conjuntos de dados necessários

Um bom conjunto de dados a ser analisado precisa ser grande o suficiente para estabelecer uma boa tendência e identificar anomalias adequadas. A detecção pode ser benéfica porque mais inferências válidas não podem ser feitas a partir de um conjunto menor de dados, e um conjunto maior de dados pode revelar uma anomalia, em vez de algo que pode fazer parte de uma tendência ou não é tão atípico quanto previsto.

Talento necessário

Engenheiros experientes ou cientistas de dados são necessários para treinar um algoritmo de aprendizado de máquina. Dependendo dos recursos da solução, pode levar algumas semanas ou meses para treinar a máquina e, dependendo da solução, são necessários diferentes níveis de habilidade de aprendizado de máquina.

Detecção de anomalias em três configurações

Supervisionada

Os dados supervisionados vêm predefinidos em cada um dos pontos de dados identificados como "nominal" ou "anomalia". Todas as anomalias são identificadas com antecedência para o treinamento do modelo.

Limpa

Todos os pontos de dados foram identificados como "nominal" e os pontos de "anomalia" não foram identificados. Dados limpos deixam a função de detecção de anomalias no modelador de dados, pois todos os pontos de dados dentro do conjunto limpo são considerados "nominais".

Não supervisionada

Os dados não supervisionados chegam sem pontos "nominais" ou "anomalias" rotuladas. Cabe ao modelador de dados determinar os pontos que são "nominais" e "anomalias", não havendo base ou compreensão do que pode ser o resultado preciso.

O processo de identificação de um padrão que não foi observado em uma nova observação não contida nos dados de treinamento.

A abordagem mais fácil para detectar uma anomalia é identificar algo irregular dentro de uma disseminação de dados que parece desviar-se de uma tendência ou distribuições estatísticas comuns, como média, mediana e modo.

Como usar o aprendizado de máquina para detecção de anomalias e monitoramento de condições.

Transformação digital

Também conhecida como digitalização e Indústria 4.0, uma transformação digital utiliza tecnologia e dados para simplificar a produtividade e aumentar a eficiência. Os dados estão cada vez mais disponíveis à medida que as máquinas e os dispositivos estão conectados e conseguem transferir uma abundância de dados para inúmeros lugares. O objetivo é então extrair e analisar informações que são apuradas a partir dos dados para reduzir os custos e o tempo de inatividade. O aprendizado de máquina e a análise de dados desempenham um papel importante nisso.

Monitoramento de condições

Cada máquina, independentemente das respectivas complexidades, alcançará um estado de integridade ruim. Isso não indica que uma máquina atingiu o fim de sua vida útil ou que deve ser desligada, mas significa que pode precisar de manutenção para restaurar o desempenho completo e ideal da máquina. Um grande conjunto de dados a ser analisado pode fornecer anomalias que prevejam ou sinalizem quando uma máquina precisa de manutenção ou substituição.

Abordagens baseadas em densidade

Detecção de anomalias baseada em densidade

As funções de detecção de anomalias baseadas em densidade presumem que todos os pontos de dados nominais estão localizados próximos uns dos outros e as anomalias estão localizadas mais distantes. Isso se baseia no algoritmo k-NN (k-nearest neighbors) que é simples e não paramétrico. O k-NN é normalmente usado para classificar dados com base nas semelhanças das medidas de distância, como Manhattan, Minkowski, Hamming ou Euclidean.

Detecção de anomalias baseada em cluster

O cluster se baseia na suposição de que pontos de dados semelhantes tendem a pertencer a clusters ou grupos semelhantes e isso é determinado pela distância dos centroides locais (a média de todos os pontos). O algoritmo de cluster k-means cria clusters "k" de pontos de dados semelhantes. Anomalias são quaisquer pontos que estejam fora dos clusters "k".

Suporte para detecção de anomalias de máquina de vetor com base em SVM

O SVM geralmente usa aprendizado supervisionado, mas há opções que também podem identificar anomalias em ambientes de aprendizagem não supervisionados. Um limite flexível é aprendido e aplicado ao conjunto de treinamento, as instâncias de dados normais são agrupadas dentro do limite e as anomalias são identificadas como anormalidades que ficam fora do limite aprendido.

Os dados das séries temporais são uma sequência de valores que é coletada ao longo do tempo. Cada ponto de dados pode ter duas métricas: a hora e a data em que o ponto de dados foi coletado e o valor desse ponto de dados. Os dados são coletados continuamente e usados principalmente para prever eventos no futuro, em vez de servir como uma projeção em si. As anomalias de séries temporais podem ser usadas para detectar:

  1. Usuários ativos
  2. Exibições de página da Web
  3. CPC
  4. CPL
  5. Taxa de retorno
  6. Taxa de rotatividade
  7. Valor médio do pedido
  8. Instalações de aplicativos móveis

A detecção de anomalias de séries temporais estabelece uma linha de base para o comportamento típico em KPIs identificados.

  • Limpeza de dados
  • Detecção de introdução
  • Detecção de fraude
  • Monitoramento da integridade dos sistemas
  • Detecção de eventos em redes de sensores
  • Distúrbios do ecossistema

Detecção de anomalias para o desempenho do serviço

Uma abordagem reativa à detecção pode resultar em problemas de tempo de inatividade e desempenho, o que gera consequências antes que haja uma solução. A detecção de anomalias no desempenho pode ajudar as empresas a prever quando e por que pode haver um problema em um serviço de negócios. A maioria dos setores pode se beneficiar. Por exemplo, aqui estão dois setores que podem se beneficiar:

  • Telco: a análise de telecomunicações produz enormes conjuntos de dados e as soluções avançadas são importantes para detectar e evitar latência, jitter e má qualidade da chamada que podem reduzir o desempenho.
  • Adtech: o desempenho complexo de aplicativos pode ser difícil de monitorar devido à velocidade com que as transações ocorrem em um leilão de anúncios. A detecção de anomalias pode procurar problemas em um aplicativo antes que ele trave, evitando assim o tempo de inatividade durante uma ação de anúncio.

Detecção de anomalias para a qualidade do produto

Os produtos precisam funcionar sem problemas e com o mínimo de erros possível. A evolução natural dos produtos pode resultar em anomalias comportamentais em tudo, desde um novo recurso até um teste A/B, e o monitoramento contínuo de quaisquer anomalias comportamentais pode impedir o tempo de inatividade ou os problemas contínuos. Embora a maioria dos setores possa se beneficiar, aqui estão apenas dois exemplos:

  • eCommerce: a detecção de anomalias pode procurar qualquer comportamento estranho ou problemas de qualidade do produto, como falhas de preço ou alterações anormais na sazonalidade.
  • FinTech: o setor financeiro negocia em milissegundos e é preciso ter certeza de que os aplicativos que supervisionam os negócios são seguros e consistentes. A detecção de anomalias pode impedir o tempo de inatividade ou falhas observando se há algo anormal no desempenho e nas operações do aplicativo.

Detecção de anomalias para a experiência do usuário

Uma experiência do usuário pode ser negativa se um site sofrer degradação do serviço. A detecção de anomalias pode ajudar as empresas a reagir a qualquer lapso antes que eles frustrem os clientes e levem a uma perda de receita. Alguns setores podem se beneficiar da detecção de anomalias desta maneira:

  • Jogos: os jogos são complicados, o que torna quase impossível o monitoramento manual das complexidades de permutações. A IA (Artificial intelligence, inteligência artificial) pode neutralizar problemas e erros em uma experiência do usuário, como falhas.
  • Negócios on-line: os negócios on-line dependem muito da UX para o sucesso. A equipe de TI precisa observar e atenuar erros de API, tempo de inatividade do servidor e falhas no tempo de carregamento. A análise rápida de causa raiz por meio da detecção de anomalias pode identificar rapidamente um problema para ajudar plataformas, data centers e sistemas operacionais a receber reparos com pouco ou nenhum tempo de inatividade.

  • A detecção automatizada de anomalias oferece informações precisas em tempo real, ao mesmo tempo em que fornece classificação, detecção e agrupamento de dados. Isso elimina a necessidade de uma equipe maior de analistas de dados.
  • Aprendizado de máquina supervisionado e não supervisionado: o aprendizado de máquina ocorre preferencialmente sem supervisão ou interação humana. Mas, ainda deve haver alguns analistas para alimentar os dados de linha de base e ocasionalmente monitorar o programa de aprendizado de máquina.
  • Híbrido: detecção de anomalias dimensionadas que fornece a flexibilidade da criação manual de regras para anomalias específicas.

A detecção de anomalias precisa levantar a questão: criaremos uma solução ou compraremos um sistema? Há algumas coisas importantes a serem consideradas no processo de tomada de decisão:

  • O tamanho da empresa
  • O volume de dados que serão processados
  • Capacidade de desenvolvimento interno
  • Quaisquer planos de expansão
  • Demandas das partes interessadas
  • Demandas de orçamento
  • O tamanho de uma equipe disponível
  • Especialidade interna em ciência de dados

Habilidades que crescem junto com sua empresa

Com a ServiceNow, preveja problemas antes que eles surjam.