Harbinger é um framework unificado para análise de eventos em séries temporais. O pacote integra, em uma mesma interface, detecção de anomalias, detecção de pontos de mudança, descoberta de motifs e discords, transformações, visualização e avaliação de resultados. Na versão atual do pacote, 1.2.767, a documentação foi reorganizada para apoiar uma trilha de aprendizado mais guiada e uma navegação temática mais clara.

Organização didática

O material do harbinger passou a ser organizado em duas portas de entrada complementares. A primeira é uma trilha guiada, indicada para quem está conhecendo o framework e quer entender o fluxo completo de análise passo a passo. A segunda é composta por coleções temáticas, indicadas para quem já domina o fluxo básico e deseja estudar uma família específica de métodos.

Essa organização ajuda a evitar o uso do pacote como um catálogo plano de algoritmos. Em vez disso, o estudo começa pela compreensão do fluxo de trabalho, passa pela inspeção dos dados e pela avaliação, e só depois avança para famílias específicas de técnicas e customizações.

Métodos disponíveis

  • Anomalias:
    métodos baseados em histogramas, resíduos de modelos estatísticos e espectrais, aprendizado supervisionado, agrupamento, ensembles, autoencoders e análise multivariada.
  • Pontos de Mudança (Change Points):
    métodos para uma ou múltiplas mudanças estruturais, testes clássicos, variantes do ChangeFinder, abordagens orientadas a volatilidade e janelas locais.
  • Motifs e Discords:
    métodos baseados em Matrix Profile e representações simbólicas, incluindo suporte à descoberta de padrões recorrentes e subsequências raras.
  • Transformações e Avaliação:
    suporte a suavização, representações simbólicas e avaliação estrita ou tolerante das detecções realizadas.

Arquitetura

A arquitetura do harbinger é baseada no conceito de Experiment Lines e foi construída sobre o DAL Toolbox. Essa organização facilita a comparação entre métodos, a reprodutibilidade dos estudos e a inclusão de novas transformações, detectores, workflows de motifs e avaliadores.

Instalação

A versão estável do Harbinger no CRAN está disponível em: https://CRAN.R-project.org/package=harbinger

Para instalar a versão estável do CRAN:

install.packages("harbinger")

Para instalar a versão em desenvolvimento diretamente do GitHub:

library(devtools)
devtools::install_github("cefet-rj-dal/harbinger", force = TRUE, upgrade = "never")

Documentação e exemplos

Os exemplos do harbinger estão organizados em trilha guiada e em coleções temáticas de exemplos gerais, datasets, transformações, anomalias, pontos de mudança, motifs e customização:

https://github.com/cefet-rj-dal/harbinger/tree/master/examples

Apresentações

As apresentações abaixo foram reordenadas para seguir uma progressão de estudo mais didática: começar pela visão geral do framework, avançar pelo fluxo básico de uso, entender os dados e transformações, e só então entrar nas famílias específicas de métodos e na customização.

  • h01-harbinger.pdf — visão geral do framework harbinger e do problema de detecção de eventos em séries temporais.
  • h02-tutorial.pdf — trilha guiada de uso do harbinger, ideal como primeiro contato com o fluxo básico.
  • h03-general.pdf — panorama dos conceitos centrais, utilitários e avaliação no ecossistema do harbinger.
  • h04-datasets.pdf — entendimento das coleções de dados e benchmarks antes da escolha de métodos.
  • h05-transformations.pdf — transformações e pré-processamento para preparar a série antes da análise.
  • h06-anomalies.pdf — estudo das principais famílias de métodos de detecção de anomalias.
  • h07-changepoint.pdf — métodos de detecção de pontos de mudança, do caso simples aos cenários mais ricos.
  • h08-motifs.pdf — descoberta de motifs e discords, com foco em análise de subsequências e padrões recorrentes.
  • h09-custom.pdf — extensão e customização do framework com novos componentes e workflows.

Playlist de tutorial