README.md

spectralAnomaly spectralAnomaly website

CRAN
status CRAN
checks R-CMD-check Dependencies Downloads Codecov test
coverage

The {spectralAnomaly} package is a simple set of tools for R users to detect anomalies in data, such as a time series, using the ‘Spectral Residual’ method.

Installation

The {spectralAnomaly} can be installed directly from CRAN:

install.packages('spectralAnomaly')

You can also install the latest development version of {spectralAnomaly} like so:

remotes::install_github('al-obrien/spectralAnomaly')

Examples

library(spectralAnomaly)

Create a noisy time series with a modest anomaly threshold

test_ts <- ts(rnorm(12*6,10,2), start=c(2009, 1), end=c(2014, 12), frequency=12)
ts_scores <- anomaly_score(test_ts, score_window = 25)
plot(test_ts, type = 'l')
points(test_ts, col = ifelse(ts_scores > quantile(ts_scores, prob = 0.95),'red',NA), pch = 16)

Anomalies in a noisy time series.

Create a series with a step

test_ts_step <- c(rnorm(1, 1, n=250),
                  rnorm(10, 1, n=250))
ts_scores <- anomaly_score(test_ts_step, score_window = 100)
plot(test_ts_step, type = 'l')
points(test_ts_step, col = ifelse(ts_scores > quantile(ts_scores, prob = 0.99),'red',NA), pch = 16)

Anomalies in a time series with a breakpoint.

References

  1. Time-Series Anomaly Detection Service at Microsoft
  2. ML-based Anomaly Detection
  3. Saliency Detection
  4. anomalydetector


Try the spectralAnomaly package in your browser

Any scripts or data that you put into this service are public.

spectralAnomaly documentation built on Sept. 16, 2024, 1:06 a.m.