tsseg.algorithms.autoplait package
AutoPlait — parameter-free mining of co-evolving time sequences.
Description
AutoPlait is a fully automatic algorithm for segmenting and summarising large collections of co-evolving time series. It discovers an unknown number of regimes (recurring patterns of different durations) by compressing the data into a hierarchy of Hidden Markov Models. Each regime is modelled as a separate AR-HMM, and the algorithm uses a Minimum Description Length (MDL) criterion to jointly determine the optimal number of regimes, their boundaries and their internal structure — all without user-specified parameters.
The method operates in four steps:
CutPointSearch — locate candidate segment boundaries by fitting HMMs.
CreateRegime — build an AR-HMM for each candidate segment.
MergeRegime — greedily merge similar regimes to reduce the description length.
Iterate — repeat until convergence.
AutoPlait is linear in the input size and achieves near-perfect precision and recall on the benchmarks reported in the original paper.
n_cps)Parameters
Name |
Type |
Default |
Description |
|---|---|---|---|
|
int / None |
|
Number of change points. Required if ground-truth |
Usage
from tsseg.algorithms import AutoPlaitDetector
detector = AutoPlaitDetector(n_cps=4)
labels = detector.fit_predict(X)
Note
AutoPlait relies on a compiled C binary (autoplait_c). The binary is
bundled in tsseg/c/autoplait/ and must be built before first use.
Implementation: Adapted from the original C implementation by Matsubara et al. BSD 3-Clause.
Reference: Matsubara, Sakurai & Faloutsos (2014), AutoPlait: Automatic Mining of Co-evolving Time Sequences, SIGMOD.
Submodules
tsseg.algorithms.autoplait.detector module
This module provides an aeon-compatible wrapper for the AutoPlait algorithm.
- class tsseg.algorithms.autoplait.detector.AutoPlaitDetector(n_cps=None)[source]
Bases:
BaseSegmenterWrapper for the AutoPlait state detection algorithm.
References
- set_fit_request(*, axis: bool | None | str = '$UNCHANGED$') AutoPlaitDetector
Configure whether metadata should be requested to be passed to the
fitmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed tofitif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it tofit.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- set_predict_request(*, axis: bool | None | str = '$UNCHANGED$') AutoPlaitDetector
Configure whether metadata should be requested to be passed to the
predictmethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed topredictif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it topredict.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.