tsseg.algorithms.dynp package
Dynamic Programming (DynP) — exact optimal segmentation.
Description
Dynamic programming finds the exact minimum of the sum of segment costs by enumerating all admissible partitions. The user must specify the number of change points in advance (consider PELT or BinSeg when this is unknown).
Complexity is \(O(C\,K\,n^{2})\) where K is the number of change points,
n the sample count and C the cost-function complexity. To reduce runtime,
increase min_size and jump:
min_sizecontrols the minimum distance between change points.jumpcontrols the grid of admissible positions (only multiples ofjump).
n_cps required)Parameters
Name |
Type |
Default |
Description |
|---|---|---|---|
|
int |
|
Number of change points to detect (>= 0). |
|
str |
|
Ruptures cost model. |
|
int |
|
Minimum segment length. |
|
int |
|
Grid step for candidate positions. |
|
dict / None |
|
Extra arguments for the cost function. |
|
int |
|
Time axis. |
Usage
from tsseg.algorithms import DynpDetector
detector = DynpDetector(n_cps=3, model="l2")
labels = detector.fit_predict(X)
Implementation: Vendored from ruptures v1.1.8. BSD 2-Clause.
Reference: Auger & Lawrence (1989), Bulletin of Mathematical Biology.