Harbinger is a unified framework for time-series event analysis. The package integrates, within a single interface, anomaly detection, change-point detection, motif and discord discovery, transformations, visualization, and result evaluation. In the current package version, 1.2.767, the documentation was reorganized to support a more guided learning track and clearer thematic navigation.

Didactic organization

The harbinger material is now organized around two complementary entry points. The first is a guided track, recommended for readers who are getting started with the framework and want to understand the full analysis workflow step by step. The second is composed of thematic collections, intended for readers who already know the basic workflow and want to study a specific family of methods.

This organization helps avoid treating the package as a flat catalog of algorithms. Instead, the study path begins with understanding the workflow, moves through data inspection and evaluation, and only then advances to specific technique families and customizations.

Available methods

  • Anomalies:
    methods based on histograms, residuals from statistical and spectral models, supervised learning, clustering, ensembles, autoencoders, and multivariate analysis.
  • Change Points:
    methods for single or multiple structural changes, classical tests, ChangeFinder variants, volatility-oriented approaches, and local-window methods.
  • Motifs and Discords:
    methods based on Matrix Profile and symbolic representations, including support for repeated-pattern discovery and rare-subsequence analysis.
  • Transformations and Evaluation:
    support for smoothing, symbolic representations, and both strict and tolerant evaluation of detected events.

Architecture

The harbinger architecture is based on the concept of Experiment Lines and was built on top of DAL Toolbox. This organization makes it easier to compare methods, reproduce studies, and add new transformations, detectors, motif workflows, and evaluators.

Installation

The stable version of Harbinger on CRAN is available at: https://CRAN.R-project.org/package=harbinger

To install the stable CRAN version:

install.packages("harbinger")

To install the development version directly from GitHub:

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

Documentation and examples

The harbinger examples are organized into a guided track and thematic collections covering general examples, datasets, transformations, anomalies, change points, motifs, and customization:

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

Presentations

The presentations below were reordered to follow a more didactic learning progression: start with the overall framework view, move through the basic usage flow, understand the data and transformations, and only then study the specific method families and customization.

  • h01-harbinger.pdf — overview of the harbinger framework and the time-series event detection problem.
  • h02-tutorial.pdf — guided usage track for harbinger, ideal as a first introduction to the basic workflow.
  • h03-general.pdf — overview of core concepts, utilities, and evaluation within the harbinger ecosystem.
  • h04-datasets.pdf — understanding datasets and benchmarks before choosing methods.
  • h05-transformations.pdf — transformations and preprocessing to prepare the series before analysis.
  • h06-anomalies.pdf — study of the main anomaly detection method families.
  • h07-changepoint.pdf — change-point detection methods, from simple cases to richer scenarios.
  • h08-motifs.pdf — motif and discord discovery, with a focus on subsequence analysis and repeated patterns.
  • h09-custom.pdf — framework extension and customization with new components and workflows.

https://cefet-rj-dal.github.io/harbinger/

Tutorial Playlist