dtaianomaly


Namedtaianomaly JSON
Version 0.2.3 PyPI version JSON
download
home_pageNone
SummaryA simple-to-use Python package for time series anomaly detection!
upload_time2024-12-02 16:55:38
maintainerNone
docs_urlNone
authorNone
requires_python<=3.12,>=3.8
licenseMIT License Copyright (c) 2023-2025 KU Leuven, DTAI Research Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords machine-learning time-series anomaly-detection data-mining
VCS
bugtrack_url
requirements numpy scipy numba stumpy scikit-learn pandas matplotlib statsmodels pyod
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Dtaianomaly for Time Series Anomaly Detection

[![Documentation Status](https://readthedocs.org/projects/dtaianomaly/badge/?version=stable)](https://dtaianomaly.readthedocs.io/en/stable/?badge=stable)
[![PyPi Version](https://img.shields.io/pypi/v/dtaianomaly.svg)](https://pypi.org/project/dtaianomaly/)
[![Downloads](https://static.pepy.tech/badge/dtaianomaly)](https://pepy.tech/project/dtaianomaly)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/dtaianomaly)](https://pypi.python.org/pypi/dtaianomaly/)
[![PyPI license](https://img.shields.io/pypi/l/dtaianomaly.svg)](https://pypi.python.org/pypi/dtaianomaly/)

A simple-to-use Python package for the development and analysis of time series anomaly 
detection techniques. Here we describe the main usage of `dtaianomaly`, but be sure to
check out the [documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html) 
for more information. 

## Installation

The preferred way to install `dtaianomaly` is via PyPi. See the [documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html) 
for more options.
```
pip install dtaianomaly
```

## Features

The three key features of `dtaianomaly` are as follows:
1. State-of-the-art time series anomaly detection via a simple API.
   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/anomaly_detection.html)
2. Develop custom models for anomaly detection.
   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/custom_models.html)
3. Quantitative evaluation of time series anomaly detection.
   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/quantitative_evaluation.html)

## Example

Below code shows a simple example of `dtaianomaly`, which is part of the 
[anomaly detection notebook](notebooks/Anomaly-detection.ipynb). More examples 
are provided in the [other notebooks](notebooks) and in the 
[documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html).

```python
from dtaianomaly.data import demonstration_time_series
from dtaianomaly.preprocessing import MovingAverage
from dtaianomaly.anomaly_detection import MatrixProfileDetector

# Load the data
X, y = demonstration_time_series()

# Preprocess the data using a moving average
preprocessor = MovingAverage(window_size=10)
X_, _ = preprocessor.fit_transform(X)

# Fit the matrix profile detector on the processed data
detector = MatrixProfileDetector(window_size=100)
detector.fit(X_)

# Compute either the decision scores, specific to the detector, or the anomaly probabilities
decision_scores = detector.decision_function(X_)
anomaly_probabilities = detector.predict_proba(X_)
```
![Demonstration-time-series-detected-anomalies.svg](https://github.com/ML-KULeuven/dtaianomaly/blob/main/notebooks/Demonstration-time-series-detected-anomalies.svg?raw=true)

## Contribute

The goal of ``dtaianomaly`` is to be community-driven. All types of contributions
are welcome. This includes code, but also bug reports, improvements to the documentation,
additional tests and more. Check out [the documentation](https://dtaianomaly.readthedocs.io/en/stable/additional_information/contributing.html)
to find more information about how you can contribute!

## License

    Copyright (c) 2023-2025 KU Leuven, DTAI Research Group
    
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dtaianomaly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.12,>=3.8",
    "maintainer_email": null,
    "keywords": "machine-learning, time-series, anomaly-detection, data-mining",
    "author": null,
    "author_email": "Louis Carpentier <louis.carpentier@kuleuven.be>",
    "download_url": "https://files.pythonhosted.org/packages/a4/69/5a6fd870ce122446f55b68f9f0d13b682640317b45fe06d0a78865845d98/dtaianomaly-0.2.3.tar.gz",
    "platform": null,
    "description": "# Dtaianomaly for Time Series Anomaly Detection\r\n\r\n[![Documentation Status](https://readthedocs.org/projects/dtaianomaly/badge/?version=stable)](https://dtaianomaly.readthedocs.io/en/stable/?badge=stable)\r\n[![PyPi Version](https://img.shields.io/pypi/v/dtaianomaly.svg)](https://pypi.org/project/dtaianomaly/)\r\n[![Downloads](https://static.pepy.tech/badge/dtaianomaly)](https://pepy.tech/project/dtaianomaly)\r\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/dtaianomaly)](https://pypi.python.org/pypi/dtaianomaly/)\r\n[![PyPI license](https://img.shields.io/pypi/l/dtaianomaly.svg)](https://pypi.python.org/pypi/dtaianomaly/)\r\n\r\nA simple-to-use Python package for the development and analysis of time series anomaly \r\ndetection techniques. Here we describe the main usage of `dtaianomaly`, but be sure to\r\ncheck out the [documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html) \r\nfor more information. \r\n\r\n## Installation\r\n\r\nThe preferred way to install `dtaianomaly` is via PyPi. See the [documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html) \r\nfor more options.\r\n```\r\npip install dtaianomaly\r\n```\r\n\r\n## Features\r\n\r\nThe three key features of `dtaianomaly` are as follows:\r\n1. State-of-the-art time series anomaly detection via a simple API.\r\n   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/anomaly_detection.html)\r\n2. Develop custom models for anomaly detection.\r\n   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/custom_models.html)\r\n3. Quantitative evaluation of time series anomaly detection.\r\n   [Learn more!](https://dtaianomaly.readthedocs.io/en/stable/getting_started/quantitative_evaluation.html)\r\n\r\n## Example\r\n\r\nBelow code shows a simple example of `dtaianomaly`, which is part of the \r\n[anomaly detection notebook](notebooks/Anomaly-detection.ipynb). More examples \r\nare provided in the [other notebooks](notebooks) and in the \r\n[documentation](https://dtaianomaly.readthedocs.io/en/stable/index.html).\r\n\r\n```python\r\nfrom dtaianomaly.data import demonstration_time_series\r\nfrom dtaianomaly.preprocessing import MovingAverage\r\nfrom dtaianomaly.anomaly_detection import MatrixProfileDetector\r\n\r\n# Load the data\r\nX, y = demonstration_time_series()\r\n\r\n# Preprocess the data using a moving average\r\npreprocessor = MovingAverage(window_size=10)\r\nX_, _ = preprocessor.fit_transform(X)\r\n\r\n# Fit the matrix profile detector on the processed data\r\ndetector = MatrixProfileDetector(window_size=100)\r\ndetector.fit(X_)\r\n\r\n# Compute either the decision scores, specific to the detector, or the anomaly probabilities\r\ndecision_scores = detector.decision_function(X_)\r\nanomaly_probabilities = detector.predict_proba(X_)\r\n```\r\n![Demonstration-time-series-detected-anomalies.svg](https://github.com/ML-KULeuven/dtaianomaly/blob/main/notebooks/Demonstration-time-series-detected-anomalies.svg?raw=true)\r\n\r\n## Contribute\r\n\r\nThe goal of ``dtaianomaly`` is to be community-driven. All types of contributions\r\nare welcome. This includes code, but also bug reports, improvements to the documentation,\r\nadditional tests and more. Check out [the documentation](https://dtaianomaly.readthedocs.io/en/stable/additional_information/contributing.html)\r\nto find more information about how you can contribute!\r\n\r\n## License\r\n\r\n    Copyright (c) 2023-2025 KU Leuven, DTAI Research Group\r\n    \r\n    Permission is hereby granted, free of charge, to any person obtaining a copy\r\n    of this software and associated documentation files (the \"Software\"), to deal\r\n    in the Software without restriction, including without limitation the rights\r\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n    copies of the Software, and to permit persons to whom the Software is\r\n    furnished to do so, subject to the following conditions:\r\n    \r\n    The above copyright notice and this permission notice shall be included in all\r\n    copies or substantial portions of the Software.\r\n    \r\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n    SOFTWARE.\r\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023-2025 KU Leuven, DTAI Research Group  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "A simple-to-use Python package for time series anomaly detection!",
    "version": "0.2.3",
    "project_urls": {
        "changelog": "https://github.com/ML-KULeuven/dtaianomaly/blob/main/CHANGELOG.md",
        "documentation": "https://dtaianomaly.readthedocs.io/en/stable/index.html",
        "homepage": "https://pypi.org/project/dtaianomaly/",
        "repository": "https://github.com/ML-KULeuven/dtaianomaly"
    },
    "split_keywords": [
        "machine-learning",
        " time-series",
        " anomaly-detection",
        " data-mining"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e67643f44574982f3671572dd1a2bc3f5c9fa6fec5f5071eafe55670fd6174b",
                "md5": "d246ffc9ebf7ba3e5fd230eb0199317c",
                "sha256": "5d654f777c02690e9f9ebd47dd8e5ea94aeae0475ed26799506aa160b701c08e"
            },
            "downloads": -1,
            "filename": "dtaianomaly-0.2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d246ffc9ebf7ba3e5fd230eb0199317c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.12,>=3.8",
            "size": 74171,
            "upload_time": "2024-12-02T16:55:36",
            "upload_time_iso_8601": "2024-12-02T16:55:36.891350Z",
            "url": "https://files.pythonhosted.org/packages/5e/67/643f44574982f3671572dd1a2bc3f5c9fa6fec5f5071eafe55670fd6174b/dtaianomaly-0.2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4695a6fd870ce122446f55b68f9f0d13b682640317b45fe06d0a78865845d98",
                "md5": "7462692979cf3f88e2c22c7125a34ad8",
                "sha256": "987ad01d75b8c67d2edcdd356053d00a2d378540b1f74928805ee216641f426c"
            },
            "downloads": -1,
            "filename": "dtaianomaly-0.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7462692979cf3f88e2c22c7125a34ad8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.12,>=3.8",
            "size": 51458,
            "upload_time": "2024-12-02T16:55:38",
            "upload_time_iso_8601": "2024-12-02T16:55:38.661441Z",
            "url": "https://files.pythonhosted.org/packages/a4/69/5a6fd870ce122446f55b68f9f0d13b682640317b45fe06d0a78865845d98/dtaianomaly-0.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-02 16:55:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ML-KULeuven",
    "github_project": "dtaianomaly",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.22"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.10"
                ]
            ]
        },
        {
            "name": "numba",
            "specs": [
                [
                    ">=",
                    "0.58"
                ]
            ]
        },
        {
            "name": "stumpy",
            "specs": [
                [
                    ">=",
                    "1.12"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    ">=",
                    "1.3"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.7"
                ]
            ]
        },
        {
            "name": "statsmodels",
            "specs": [
                [
                    ">=",
                    "0.6"
                ]
            ]
        },
        {
            "name": "pyod",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        }
    ],
    "lcname": "dtaianomaly"
}
        
Elapsed time: 0.39728s