Detecção de anomalia - Anomaly detection

Na análise de dados , a detecção de anomalias (também detecção de outliers ) é a identificação de itens raros, eventos ou observações que levantam suspeitas por diferirem significativamente da maioria dos dados. Normalmente, os itens anômalos se traduzem em algum tipo de problema, como fraude bancária , defeito estrutural, problemas médicos ou erros em um texto. As anomalias também são chamadas de outliers , novidades, ruídos, desvios e exceções.

Em particular, no contexto de abuso e detecção de intrusão de rede , os objetos interessantes geralmente não são objetos raros , mas picos inesperados de atividade. Esse padrão não segue a definição estatística comum de um outlier como um objeto raro, e muitos métodos de detecção de outlier (em particular os métodos não supervisionados) falharão em tais dados, a menos que tenham sido agregados apropriadamente. Em vez disso, um algoritmo de análise de cluster pode ser capaz de detectar os microclusters formados por esses padrões.

Existem três categorias amplas de técnicas de detecção de anomalias. As técnicas de detecção de anomalias não supervisionadas detectam anomalias em um conjunto de dados de teste não rotulado sob a suposição de que a maioria das instâncias no conjunto de dados são normais, procurando por instâncias que parecem se ajustar menos ao restante do conjunto de dados. As técnicas de detecção de anomalias supervisionadas requerem um conjunto de dados rotulado como "normal" e "anormal" e envolve o treinamento de um classificador (a principal diferença para muitos outros problemas de classificação estatística é a natureza desequilibrada inerente da detecção de valores discrepantes). Técnicas de detecção de anomalia semissupervisionada constroem um modelo que representa o comportamento normal de um determinado conjunto de dados de treinamento normal e, em seguida, testam a probabilidade de uma instância de teste ser gerada pelo modelo utilizado.

Formulários

A detecção de anomalias é aplicável em uma variedade de domínios, como detecção de intrusão , detecção de fraude , detecção de falha, monitoramento da integridade do sistema, detecção de eventos em redes de sensores, detecção de distúrbios no ecossistema e detecção de defeitos em imagens usando visão de máquina . Geralmente é usado no pré - processamento para remover dados anômalos do conjunto de dados. No aprendizado supervisionado , a remoção dos dados anômalos do conjunto de dados geralmente resulta em um aumento estatisticamente significativo na precisão.

Técnicas populares

Diversas técnicas de detecção de anomalias foram propostas na literatura. Algumas das técnicas populares são:

O desempenho de diferentes métodos depende muito do conjunto de dados e parâmetros, e os métodos têm poucas vantagens sistemáticas sobre outros quando comparados em muitos conjuntos de dados e parâmetros.

Aplicação para segurança de dados

A detecção de anomalias foi proposta para sistemas de detecção de intrusão (IDS) por Dorothy Denning em 1986. A detecção de anomalias para IDS é normalmente realizada com limiares e estatísticas, mas também pode ser feita com computação suave e aprendizado indutivo. Os tipos de estatísticas propostas em 1999 incluíam perfis de usuários, estações de trabalho, redes, hosts remotos, grupos de usuários e programas baseados em frequências, médias, variações, covariâncias e desvios-padrão. A contrapartida da detecção de anomalias na detecção de intrusão é a detecção de uso indevido .

Em pré-processamento de dados

Na aprendizagem supervisionada, a detecção de anomalias é frequentemente uma etapa importante no pré-processamento de dados para fornecer ao algoritmo de aprendizagem um conjunto de dados adequado para aprender. Isso também é conhecido como limpeza de dados . Depois de detectar amostras anômalas, os classificadores removem-nas, entretanto, às vezes os dados corrompidos ainda podem fornecer amostras úteis para o aprendizado. Um método comum para encontrar amostras apropriadas para uso é identificar dados ruidosos . Uma abordagem para encontrar valores ruidosos é criar um modelo probabilístico de dados usando modelos de dados não corrompidos e dados corrompidos.

Abaixo está um exemplo do conjunto de dados de flores de íris com uma anomalia adicionada. Com uma anomalia incluída, o algoritmo de classificação pode ter dificuldade em encontrar padrões de maneira adequada ou gerar erros.

Dados da íris de Fischer com uma anomalia
Ordem do conjunto de dados Comprimento da sépala Largura sépala Comprimento da pétala Largura da pétala Espécies
1 5,1 3,5 1,4 0,2 I. setosa
2 4,9 3,0 1,4 0,2 I. setosa
3 4,7 3,2 1,3 0,2 I. setosa
4 4,6 3,1 1,5 0,2 I. setosa
5 5.0 NULO 1,4 NULO I. setosa

Ao remover a anomalia, o treinamento será habilitado para encontrar padrões nas classificações mais facilmente.

Na mineração de dados, os dados de alta dimensão também proporão grandes desafios de computação com conjuntos de dados intensamente grandes. Ao remover várias amostras que podem ser irrelevantes para um classificador ou algoritmo de detecção, o tempo de execução pode ser significativamente reduzido até mesmo nos maiores conjuntos de dados.

Programas

  • ELKI é um kit de ferramentas de mineração de dados Java de código aberto que contém vários algoritmos de detecção de anomalias, bem como aceleração de índice para eles.
  • Scikit-Learn é uma biblioteca Python de código aberto que possui funcionalidade construída para fornecer detecção de anomalias não supervisionadas.

Conjuntos de dados

Veja também

Referências