https://github.com/norskregnesentral/skchange

skchange provides sktime-compatible change detection and changepoint-based anomaly detection algorithms

https://github.com/norskregnesentral/skchange

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

anomaly-detection change-detection machine-learning statistics time-series-segmentation
Last synced: 10 months ago · JSON representation

Repository

skchange provides sktime-compatible change detection and changepoint-based anomaly detection algorithms

Basic Info
  • Host: GitHub
  • Owner: NorskRegnesentral
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://skchange.readthedocs.io
  • Size: 5.16 MB
Statistics
  • Stars: 35
  • Watchers: 4
  • Forks: 5
  • Open Issues: 6
  • Releases: 14
Topics
anomaly-detection change-detection machine-learning statistics time-series-segmentation
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

skchange

codecov tests docs BSD 3-clause !black Python PyPI Downloads

skchange provides sktime-compatible change detection and changepoint-based anomaly detection algorithms.

Experimental but maturing.

Documentation

Installation

It is recommended to install skchange with numba for faster performance: sh pip install skchange[numba]

Alternatively, you can install skchange without numba: sh pip install skchange

Quickstart

Changepoint detection / time series segmentation

```python from skchange.changedetectors import MovingWindow from skchange.datasets import generatepiecewisenormaldata

df = generatepiecewisenormal_data( means=[0, 5, 10, 5, 0], lengths=[50, 50, 50, 50, 50], seed=1, )

detector = MovingWindow(bandwidth=20) detector.fit_predict(df) python ilocs 0 50 1 100 2 150 3 200 ```

Multivariate anomaly detection with variable identification

```python from skchange.anomalydetectors import CAPA from skchange.anomalyscores import L2Saving from skchange.compose.penalisedscore import PenalisedScore from skchange.datasets import generatepiecewisenormaldata from skchange.penalties import makelinearchi2_penalty

df = generatepiecewisenormaldata( means=[0, 8, 0, 5], lengths=[100, 20, 130, 50], proportionaffected=[1.0, 0.1, 1.0, 0.5], n_variables=10, seed=1, )

score = L2Saving() # Looks for segments with non-zero means. penalty = makelinearchi2penalty(score.getmodelsize(1), df.shape[0], df.shape[1]) penalisedscore = PenalisedScore(score, penalty) detector = CAPA(penalisedscore, findaffectedcomponents=True) detector.fitpredict(df) python ilocs labels icolumns 0 [100, 120) 1 [0] 1 [250, 300) 2 [2, 0, 3, 1, 4] ```

License

skchange is a free and open-source software licensed under the BSD 3-clause license.

Owner

  • Name: Norsk Regnesentral (Norwegian Computing Center)
  • Login: NorskRegnesentral
  • Kind: organization
  • Location: Oslo, Norway

Norwegian Computing Center is a private foundation performing research in statistical modeling, machine learning and information/communication technology

GitHub Events

Total
  • Create event: 68
  • Issues event: 31
  • Release event: 10
  • Watch event: 26
  • Delete event: 54
  • Member event: 10
  • Issue comment event: 102
  • Push event: 587
  • Pull request review comment event: 86
  • Pull request review event: 83
  • Pull request event: 112
  • Fork event: 3
Last Year
  • Create event: 68
  • Issues event: 31
  • Release event: 10
  • Watch event: 26
  • Delete event: 54
  • Member event: 10
  • Issue comment event: 102
  • Push event: 587
  • Pull request review comment event: 86
  • Pull request review event: 83
  • Pull request event: 112
  • Fork event: 3

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 1,756
  • Total Committers: 5
  • Avg Commits per committer: 351.2
  • Development Distribution Score (DDS): 0.202
Past Year
  • Commits: 1,421
  • Committers: 5
  • Avg Commits per committer: 284.2
  • Development Distribution Score (DDS): 0.242
Top Committers
Name Email Commits
tveten t****n@n****o 1,401
johannvk j****o@n****o 280
johannvk-Acer-Windows j****k@p****m 54
peraugustmoen p****a@g****m 11
Martin Tveten m****n@g****m 10
Committer Domains (Top 20 + Academic)
nr.no: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 23
  • Total pull requests: 130
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 4 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 2.13
  • Average comments per pull request: 1.25
  • Merged pull requests: 106
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 20
  • Pull requests: 112
  • Average time to close issues: 25 days
  • Average time to close pull requests: 4 days
  • Issue authors: 4
  • Pull request authors: 4
  • Average comments per issue: 1.2
  • Average comments per pull request: 1.3
  • Merged pull requests: 88
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Tveten (13)
  • fkiraly (6)
  • johannvk (3)
  • jonnor (1)
Pull Request Authors
  • Tveten (94)
  • johannvk (30)
  • peraugustmoen (4)
  • LinusOstlund (2)
Top Labels
Issue Labels
enhancement (3) documentation (1)
Pull Request Labels
enhancement (11) documentation (6) bug (4) internal (2)

Dependencies

.github/workflows/tests.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pre-commit/action v3.0.0 composite
  • trilom/file-changes-action v1.2.4 composite
pyproject.toml pypi
  • numba >=0.56
  • numpy <1.27,>=1.21
  • pandas <2.2.0,>=1.3
  • sktime >=0.23.0