tsseg.algorithms.fluss package
FLUSS — Fast Low-cost Unipotent Semantic Segmentation.
Description
FLUSS is a domain-agnostic method for semantic segmentation of time series. It
leverages the matrix profile (computed by stumpy) and derives the arc
curve: for each time index the number of nearest-neighbour arcs crossing that
index is counted. Valleys in the arc curve indicate semantic boundaries because
few matching subsequences span across a true regime change.
A sequential peak search on the inverted arc curve yields the requested number of change points. FLUSS has only one parameter — the window size — which corresponds to the dominant period length.
stumpyParameters
Name |
Type |
Default |
Description |
|---|---|---|---|
|
int |
|
Sliding window size (use the dominant period length). |
|
int |
|
Number of segments (= change points + 1). |
|
int |
|
Multiplying factor for the exclusion zone around detected points. |
|
str |
|
Strategy for multivariate inputs ( |
|
float |
|
Tolerance for aggregating change points. |
|
int |
|
Time axis. |
Usage
from tsseg.algorithms import FLUSSDetector
detector = FLUSSDetector(window_size=50, n_segments=4)
labels = detector.fit_predict(X)
Implementation: Wrapper around stumpy. BSD 3-Clause.
Reference: Gharghabi, Yeh, Ding, Ding, Hibbing, LaMunion, Kaplan, Crouter & Keogh (2017, 2019), Domain Agnostic Online Semantic Segmentation, ICDM / DMKD.