Skip to main content

Time series anomaly detection and forecasting

Project description


SAM

PyPI Latest Release Documentation Status Downloads License Code style: black Imports: isort

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

The documentation is available on ReadTheDocs.

Author: Royal HaskoningDHV

Email: 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

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, and an example configuration is shown below:

[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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sam-6.0.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sam-6.0.1-py3-none-any.whl (672.5 kB view details)

Uploaded Python 3

File details

Details for the file sam-6.0.1.tar.gz.

File metadata

  • Download URL: sam-6.0.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for sam-6.0.1.tar.gz
Algorithm Hash digest
SHA256 3fc374af43833dbc5eead3413e12af474eb41b9573bbc6b2419d4c96e85ed3f0
MD5 713d8ee91b202140f97d9910f9a7eb77
BLAKE2b-256 c7b08ad86418efc8e4452ea3de4695b19d7a4bd07e1e9718edb4d9991a6e27d7

See more details on using hashes here.

File details

Details for the file sam-6.0.1-py3-none-any.whl.

File metadata

  • Download URL: sam-6.0.1-py3-none-any.whl
  • Upload date:
  • Size: 672.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for sam-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c3cc870cdef0ce94604c37e90a02598601073e6ef79407d2b6fafe62d2777e4
MD5 585f2f0b4d4601c82ae4cf5c69de47f7
BLAKE2b-256 addc28b004d40ba1b2825db2a7a75cd13f875b6c11514ef934ff2c530a133501

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page