The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

smooth

License: LGPL-2.1

R:

CRAN_Status_Badge Downloads R-CMD-check

Python:

PyPI version PyPI - Downloads Python versions Python CI SLSA Build Level 3

Python wheels on PyPI ship with PEP 740 attestations — SLSA Build Level 3 provenance, signed via Sigstore on the GitHub Actions runner that built them. Verifiable client-side with pypi-attestations.

The smooth package implements Single Source of Error (SSOE) state-space models for forecasting and time series analysis, available for both R and Python.

hex-sticker of the smooth package for R hex-sticker of the smooth package for Python

Both the R and Python versions of smooth depend on the greybox package for distributions, information criteria, and supporting utilities (in Python this also provides the LOWESS smoother). It is installed automatically with smooth.

Installation

R (CRAN):

install.packages("smooth")

R (github):

if (!require("remotes")) install.packages("remotes")
remotes::install_github("config-i1/smooth")

Python (PyPI):

pip install smooth

Python (github, dev):

pip install "git+https://github.com/config-i1/smooth.git@master#subdirectory=python"

For development versions and system requirements, see the Installation wiki page.

Quick Examples

R

library(smooth)

# ADAM - the recommended function for most tasks
model <- adam(y, model="ZXZ", lags=12)
forecast(model, h=12)

# Exponential Smoothing
model <- es(y, model="ZXZ", lags=12)

# Automatic model selection for ETS+ARIMA and distributions
model <- auto.adam(y, model="ZZZ",
                   orders=list(ar=2, i=2, ma=2, select=TRUE))

Python

from smooth import ADAM, ES

# ADAM model
model = ADAM(model="ZXZ", lags=12)
model.fit(y)
model.predict(h=12)

# Exponential Smoothing
model = ES(model="ZXZ")
model.fit(y)

Documentation

Full documentation is available on the GitHub Wiki, including:

Book: Svetunkov, I. (2023). Forecasting and Analytics with the Augmented Dynamic Adaptive Model (ADAM). Chapman and Hall/CRC. Online: https://openforecast.org/adam/

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.