skchange
provides sktime-compatible change detection and changepoint-based anomaly detection algorithms.
A playground for now.
pip install skchange
Requires Python >= 3.9, < 3.13.
from skchange.change_detectors.moscore import Moscore
from skchange.datasets.generate import generate_teeth_data
df = generate_teeth_data(n_segments=10, segment_length=50, mean=5, random_state=1)
detector = Moscore(bandwidth=10)
detector.fit_predict(df)
>>>
0 49
1 99
2 149
3 199
4 249
5 299
6 349
7 399
8 449
Name: changepoint, dtype: int64
from skchange.anomaly_detectors.mvcapa import Mvcapa
from skchange.datasets.generate import generate_teeth_data
df = generate_teeth_data(
n_segments=5,
segment_length=50,
p=10,
mean=10,
affected_proportion=0.2,
random_state=2,
)
detector = Mvcapa(collective_penalty="sparse")
detector.fit_predict(df)
>>>
anomaly_interval anomaly_columns
0 [50, 99] [0, 1]
1 [150, 199] [0, 1]
skchange
is a free and open-source software licensed under the BSD 3-clause license.