sam


Namesam JSON
Version 4.0.0 PyPI version JSON
download
home_pageNone
SummaryTime series anomaly detection and forecasting
upload_time2024-11-14 13:51:49
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords python data-science time-series forecasting anomaly-detection asset-management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
    <img src="docs/source/images/logo.png" width=600><br>
</div>

# SAM

[![PyPI Latest Release](https://img.shields.io/pypi/v/sam.svg)](https://pypi.org/project/sam/)
[![Documentation Status](https://readthedocs.org/projects/sam-rhdhv/badge/?version=latest)](https://sam-rhdhv.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://static.pepy.tech/personalized-badge/sam?period=month&units=international_system&left_color=black&right_color=orange&left_text=PyPI%20downloads%20per%20month)](https://pepy.tech/project/sam)
[![License](https://img.shields.io/pypi/l/sam.svg)](https://github.com/RoyalHaskoningDHV/sam/blob/main/LICENSE)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)

SAM (Smart Asset Management) is a Python package for *timeseries analysis*, *anomaly detection* and *forecasting*.

The documentation is available on [ReadTheDocs](https://sam-rhdhv.readthedocs.io/en/latest/).

Author: [Royal HaskoningDHV](https://global.royalhaskoningdhv.com/)

Email: [ruud.kassing@rhdhv.com](mailto:ruud.kassing@rhdhv.com)

## Getting started

### Installation

The easiest way to install is package is using pip:
```
pip install sam
```

There are different optional dependencies for SAM, if you are unsure use `pip install 'sam[all]'` other options include `plotting` (just use the plotting functionality), `data_science` (all dependencies needed for a data scientist) and `data_engineering` (dependencies for data engineer).

Keep in mind that the sam package is updated frequently, and after a while, your local version may be out of date with the online documentation. To be sure, run the `pip install -U sam` command to install the latest version.

### Simple example

Below you can find a simple example on how to use one of our timeseries models. For more examples, check our [example notebooks](https://github.com/RoyalHaskoningDHV/sam/tree/main/examples)

```python
from sam.datasets import load_rainbow_beach
from sam.models import MLPTimeseriesRegressor
from sam.feature_engineering import SimpleFeatureEngineer

data = load_rainbow_beach()
X, y = data, data["water_temperature"]

# Easily create rolling and time features to be used by the model
simple_features = SimpleFeatureEngineer(
    rolling_features=[
        ("wave_height", "mean", 24),
        ("wave_height", "mean", 12),
    ],
    time_features=[
        ("hour_of_day", "cyclical"),
    ],
    keep_original=False,
)

# Define your model, see the docs for all parameters
model = MLPTimeseriesRegressor(
    predict_ahead=(1, 2, 3), # Multiple predict aheads are possible
    quantiles=(0.025, 0.975), # Predict quantile bounds for anomaly detection
    feature_engineer=simple_features,
    epochs=20,
)
model.fit(X, y)
```

### Configuration

A configuration file can be created as `.config` and should be located in your working directory. This configuration file only stores api credentials for now, but more options may be added in the future. The configuration file is parsed using the [Python3 configparser](https://docs.python.org/3/library/configparser.html), and an example configuration is shown below:

```ini
[regenradar]
url=https://rhdhv.lizard.net/api/v3/raster-aggregates/?
user=user.name
password=secret

[openweathermap]
apikey=secret
```

## Issue tracking and Feature Requests

Anyone can create feature requests or bug reports! You can browse and create new issues on GitHub: https://github.com/RoyalHaskoningDHV/sam/issues

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sam",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "python, data-science, time-series, forecasting, anomaly-detection, asset-management",
    "author": null,
    "author_email": "Royal HaskoningDHV <ruben.peters@rhdhv.com>",
    "download_url": "https://files.pythonhosted.org/packages/42/f0/f688e9739d5146949686fd70f483d721fa549ae884c272e1975edf2efafe/sam-4.0.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n    <img src=\"docs/source/images/logo.png\" width=600><br>\n</div>\n\n# SAM\n\n[![PyPI Latest Release](https://img.shields.io/pypi/v/sam.svg)](https://pypi.org/project/sam/)\n[![Documentation Status](https://readthedocs.org/projects/sam-rhdhv/badge/?version=latest)](https://sam-rhdhv.readthedocs.io/en/latest/?badge=latest)\n[![Downloads](https://static.pepy.tech/personalized-badge/sam?period=month&units=international_system&left_color=black&right_color=orange&left_text=PyPI%20downloads%20per%20month)](https://pepy.tech/project/sam)\n[![License](https://img.shields.io/pypi/l/sam.svg)](https://github.com/RoyalHaskoningDHV/sam/blob/main/LICENSE)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)\n\nSAM (Smart Asset Management) is a Python package for *timeseries analysis*, *anomaly detection* and *forecasting*.\n\nThe documentation is available on [ReadTheDocs](https://sam-rhdhv.readthedocs.io/en/latest/).\n\nAuthor: [Royal HaskoningDHV](https://global.royalhaskoningdhv.com/)\n\nEmail: [ruud.kassing@rhdhv.com](mailto:ruud.kassing@rhdhv.com)\n\n## Getting started\n\n### Installation\n\nThe easiest way to install is package is using pip:\n```\npip install sam\n```\n\nThere are different optional dependencies for SAM, if you are unsure use `pip install 'sam[all]'` other options include `plotting` (just use the plotting functionality), `data_science` (all dependencies needed for a data scientist) and `data_engineering` (dependencies for data engineer).\n\nKeep in mind that the sam package is updated frequently, and after a while, your local version may be out of date with the online documentation. To be sure, run the `pip install -U sam` command to install the latest version.\n\n### Simple example\n\nBelow you can find a simple example on how to use one of our timeseries models. For more examples, check our [example notebooks](https://github.com/RoyalHaskoningDHV/sam/tree/main/examples)\n\n```python\nfrom sam.datasets import load_rainbow_beach\nfrom sam.models import MLPTimeseriesRegressor\nfrom sam.feature_engineering import SimpleFeatureEngineer\n\ndata = load_rainbow_beach()\nX, y = data, data[\"water_temperature\"]\n\n# Easily create rolling and time features to be used by the model\nsimple_features = SimpleFeatureEngineer(\n    rolling_features=[\n        (\"wave_height\", \"mean\", 24),\n        (\"wave_height\", \"mean\", 12),\n    ],\n    time_features=[\n        (\"hour_of_day\", \"cyclical\"),\n    ],\n    keep_original=False,\n)\n\n# Define your model, see the docs for all parameters\nmodel = MLPTimeseriesRegressor(\n    predict_ahead=(1, 2, 3), # Multiple predict aheads are possible\n    quantiles=(0.025, 0.975), # Predict quantile bounds for anomaly detection\n    feature_engineer=simple_features,\n    epochs=20,\n)\nmodel.fit(X, y)\n```\n\n### Configuration\n\nA configuration file can be created as `.config` and should be located in your working directory. This configuration file only stores api credentials for now, but more options may be added in the future. The configuration file is parsed using the [Python3 configparser](https://docs.python.org/3/library/configparser.html), and an example configuration is shown below:\n\n```ini\n[regenradar]\nurl=https://rhdhv.lizard.net/api/v3/raster-aggregates/?\nuser=user.name\npassword=secret\n\n[openweathermap]\napikey=secret\n```\n\n## Issue tracking and Feature Requests\n\nAnyone can create feature requests or bug reports! You can browse and create new issues on GitHub: https://github.com/RoyalHaskoningDHV/sam/issues\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Time series anomaly detection and forecasting",
    "version": "4.0.0",
    "project_urls": {
        "discussions": "https://github.com/RoyalHaskoningDHV/sam/discussions",
        "documentation": "https://sam-rhdhv.readthedocs.io/en/latest/",
        "homepage": "https://github.com/RoyalHaskoningDHV/sam",
        "issues": "https://github.com/RoyalHaskoningDHV/sam/issues"
    },
    "split_keywords": [
        "python",
        " data-science",
        " time-series",
        " forecasting",
        " anomaly-detection",
        " asset-management"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ec9e76d1e71afc7fceda6ecdd38a2059ac11804f167f8221a479fb8e0a6712f",
                "md5": "ba839f3d7cecb37491d7af9050cec44b",
                "sha256": "cd2b7f60557a2237ad9918ccd43351bc354a1e85ae8822a05591b0da68fe452b"
            },
            "downloads": -1,
            "filename": "sam-4.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ba839f3d7cecb37491d7af9050cec44b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 668884,
            "upload_time": "2024-11-14T13:51:46",
            "upload_time_iso_8601": "2024-11-14T13:51:46.507205Z",
            "url": "https://files.pythonhosted.org/packages/4e/c9/e76d1e71afc7fceda6ecdd38a2059ac11804f167f8221a479fb8e0a6712f/sam-4.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42f0f688e9739d5146949686fd70f483d721fa549ae884c272e1975edf2efafe",
                "md5": "bec430bdc545874c5ec6fbe6789abfaa",
                "sha256": "3e3bdde2cb145d974719b73f008b9aa6b8530752ebe033a1cfa143d94fe93b1b"
            },
            "downloads": -1,
            "filename": "sam-4.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bec430bdc545874c5ec6fbe6789abfaa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 1989909,
            "upload_time": "2024-11-14T13:51:49",
            "upload_time_iso_8601": "2024-11-14T13:51:49.147468Z",
            "url": "https://files.pythonhosted.org/packages/42/f0/f688e9739d5146949686fd70f483d721fa549ae884c272e1975edf2efafe/sam-4.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-14 13:51:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "RoyalHaskoningDHV",
    "github_project": "sam",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "sam"
}
        
Elapsed time: 1.57651s