Time series detection tasks#

The sktime.detection module contains algorithms and tools for time series detection tasks, including:

  • anomaly or outlier detection

  • change point detection

  • time series segmentation and segment detection

The tasks include unsupervised and semi-supervised variants, and can batch or stream/online detection.

Composition#

DetectorPipeline(steps)

Pipeline for time series anomaly, changepoint detection, segmentation.

DetectorAsTransformer(estimator)

Use an anomaly, changepoint detector, segmentation estimator as a transformer.

Change Point Detection#

MovingWindow([change_score, bandwidth, ...])

Moving window algorithm for multiple changepoint detection, from skchange.

PELT([cost, penalty_scale, min_segment_length])

Pruned exact linear time changepoint detection, from skchange.

SeededBinarySegmentation([change_score, ...])

Seeded binary segmentation algorithm for changepoint detection, from skchange.

Naive Baselines#

DummyRegularChangePoints([step_size])

Dummy change point detector which detects a change point every x steps.

ZeroChangePoints()

Dummy change point detector which detects no change points ever.

Time Series Point Anomaly Detection#

Point anomaly detectors identify single anomalous indices.

Window-based Anomaly Detection#

SubLOF(n_neighbors, window_size, *[, ...])

Timeseries version of local outlier factor.

Reduction to Tabular Anomaly Detection#

PyODDetector(estimator[, labels])

Transformer that applies outlier detector from pyOD.

Naive Baselines#

DummyRegularAnomalies([step_size])

Dummy change point detector which detects a change point every x steps.

ZeroAnomalies()

Dummy anomaly detector which detects no anomalies ever.

Time Series Segment Anomaly Detection#

Segment anomaly detectors identify anomalous segment.

StatThresholdAnomaliser(change_detector[, stat])

Anomaly detection based on thresholding values of segment statistics, skchange.

CircularBinarySegmentation([anomaly_score, ...])

Circular binary segmentation algorithm for anomalous segment detection, skchange.

CAPA([collective_saving, point_saving, ...])

CAPA = Collective and point anomaly detection, from skchange.

MVCAPA([collective_saving, point_saving, ...])

MVCAPA = Multivariate collective and point anomaly detection, from skchange.

Naive Baselines#

ZeroSegments()

Dummy segments detector which detects no segments.

Time Series Segmentation#

ClaSPSegmentation([period_length, n_cps, ...])

ClaSP (Classification Score Profile) Segmentation.

EAgglo([member, alpha, penalty])

Hierarchical agglomerative estimation of multiple change points.

GaussianHMM([n_components, covariance_type, ...])

Hidden Markov Model with Gaussian emissions.

GMMHMM([n_components, n_mix, min_covar, ...])

Hidden Markov Model with Gaussian mixture emissions.

GreedyGaussianSegmentation([k_max, lamb, ...])

Greedy Gaussian Segmentation Estimator.

HMM(emission_funcs, transition_prob_mat[, ...])

Implements a simple HMM fitted with Viterbi algorithm.

InformationGainSegmentation([k_max, step])

Information Gain based Temporal Segmentation (IGTS) Estimator.

PoissonHMM([n_components, startprob_prior, ...])

Hidden Markov Model with Poisson emissions.

STRAY([alpha, k, knn_algorithm, p, ...])

STRAY: robust anomaly detection in data streams with concept drift.

ClusterSegmenter([clusterer])

Cluster-based Time Series Segmentation.

Naive Baselines#

ZeroSegments()

Dummy segments detector which detects no segments.