Back to models
Detector

PELT

Pruned Exact Linear Time (PELT) changepoint detection.

Quickstart

python
from sktime.detection.pelt import PELT

estimator = PELT(cost=None, penalty=None, min_segment_length=1, step_size=1, split_cost=0.0, prune=True, pruning_margin=0.0)

Parameters(7)

costBaseIntervalScorer, optional, default=L2Cost()
Cost scorer used for changepoint detection.
penaltyfloat or None, default=None

Penalty for adding a changepoint. None uses a BIC penalty computed from the data at prediction time.

min_segment_lengthint, default=1
Minimum number of observations in a segment.
step_sizeint, default=1

Only multiples of step_size are considered as changepoints (JumpPELT).

split_costfloat, default=0.0
Additive cost of splitting a segment.
prunebool, default=True

If False, disables pruning (optimal partitioning).

pruning_marginfloat, default=0.0
Margin added to the pruning criterion.

Examples

>>> from sktime.detection.pelt import PELT
>>> from sktime.detection.costs._l2_cost import L2Cost
>>> import numpy as np
>>> X = np. concatenate ([np. zeros (50), 10 * np. ones (50)])
>>> detector = PELT (cost = L2Cost (), penalty = 15)
>>> detector. fit (X). predict (X)

References

  1. [1 ] Killick, R., Fearnhead, P., & Eckley, I. A. (2012). Optimal detection of changepoints with a linear computational cost. Journal of the American Statistical Association, 107(500), 1590-1598. [2 ] Bakka, K. B. (2018). Changepoint model selection in Gaussian data. Master’s thesis, NTNU.