Harbinger é um framework para detecção de eventos em séries temporais. Ele oferece um ambiente integrado para detecção de anomalias, pontos de mudança (change points) e descoberta de motifs em séries temporais. O pacote disponibiliza uma ampla variedade de métodos para detecção de eventos, além de funções para visualização e avaliação das detecções realizadas.
Métodos Disponíveis
-
Anomalias:
Os métodos são baseados em desvio de modelos de aprendizado de máquina (Conv1D, ELM, MLP, LSTM, Random Regression Forest, SVM), modelos de classificação (Árvore de Decisão, KNN, MLP, Naive Bayes, Random Forest, SVM), agrupamento (k-means e DTW) e métodos estatísticos (ARIMA, FBIAD, GARCH). -
Pontos de Mudança (Change Points):
Os métodos incluem regressão linear, ARIMA, ETS, GARCH, AMOC, ChowTest, BinSeg, GFT e PELT. -
Motifs:
Os métodos se baseiam em Hash e Matrix Profile, com suporte específico para séries temporais multivariadas.
A avaliação das detecções contempla tanto abordagens tradicionais quanto soft computing
Arquitetura
A arquitetura do Harbinger é baseada no conceito de Experiment Lines e foi construída sobre o DAL Toolbox. Essa organização facilita a customização e a adição de novos métodos ao framework.
Instalação
A versão mais recente do Harbinger no CRAN está disponível em: https://CRAN.R-project.org/package=harbinger
Para instalar a versão estável do CRAN:
Para instalar a versão em desenvolvimento diretamente do GitHub:
# install.packages("devtools")
library(devtools)
devtools::install_github("cefet-rj-dal/harbinger", force=TRUE, upgrade="never")
Exemplos
Os exemplos do Harbinger estão organizados de acordo com as funções gerais, detecção de anomalias, pontos de mudança, motifs e detecção de anomalias multivariadas:
Geral: https://github.com/cefet-rj-dal/harbinger/tree/master/general
Anomalias: https://github.com/cefet-rj-dal/harbinger/tree/master/anomalies
Pontos de Mudança: https://github.com/cefet-rj-dal/harbinger/tree/master/change_point
Motifs: https://github.com/cefet-rj-dal/harbinger/tree/master/motifs