Existe um pacote abrangente de código aberto (de preferência em python ou R) que pode ser usado para detecção de anomalias em séries temporais?
Existe um pacote SVM de uma classe no scikit-learn, mas não é para dados de séries temporais. Estou procurando pacotes mais sofisticados que, por exemplo, usem redes bayesianas para detecção de anomalias.
python
time-series
anomaly-detection
pensador
fonte
fonte
Respostas:
Eu sei que estou um pouco atrasado aqui, mas sim, há um pacote para detecção de anomalias junto com frameworks de combinações fora de série.
Ele ainda está em seu estágio inicial de desenvolvimento no github e será publicado em breve no JMLR.
O pacote está na linguagem python e o nome do pacote é pyod ( https://github.com/yzhao062/Pyod ).
Possui vários algoritmos para as seguintes abordagens individuais:
Por fim, se você estiver procurando especificamente séries temporais em si, esse link do github será útil.
Possui os seguintes pacotes de lista para detecção de outlier de séries temporais:
datastream.io
Horizonte
banpei
Detecção de anomalia
fonte
Existem várias maneiras de lidar com anormalidades de séries temporais -
1) Se forem conhecidas anormalidades , construa um modelo de classificação. Use este modelo para detectar o mesmo tipo de anormalidade nos dados de séries temporais.
2) Se as anomalias forem desconhecidas , o que fizemos em nossa organização é uma combinação de agrupamento e classificação,
Primeiro, use a distância LOF / K-means / Cook para identificar valores extremos. Converta dados inteiros em problemas de classificação, pois agora temos 2 classes - Outliers e normais. Agora crie um modelo de classificação e obtenha regras (modelo de classificação) para identificar anormalidades no tempo de execução (dados de séries temporais).
3) Se as anomalias forem desconhecidas , durante minha pesquisa, a maneira mais comum de identificar anormalidades é criar um modelo normal e qualquer desvio do modelo normal (erro) é anormal, portanto, no caso de você prever sua série temporal para a próxima hora e comparar com valores reais. Se o erro for mais do que o esperado, algo anormal está acontecendo.
Não consegui encontrar nenhum pacote direto em python ou R para fazer isso, pois ninguém sabia o que é realmente anormal: P, em todos os casos, foi relacionado à detecção de outlier.
alguns links úteis
https://machinelearningstories.blogspot.com/2018/12/easiest-way-of-detection-abnormality.html
https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html
fonte
Experimente a Biblioteca Profeta
O Profeta é um procedimento para prever dados de séries temporais com base em um modelo aditivo no qual tendências não lineares se ajustam à sazonalidade anual, semanal e diária, além de efeitos de férias. Funciona melhor com séries temporais que têm fortes efeitos sazonais e várias temporadas de dados históricos. O Profeta é robusto para a falta de dados e mudanças na tendência, e geralmente lida bem com outliers.
Mais em: Detecção de anomalias em séries temporais com a biblioteca Profeta
fonte