Skip to content

config-i1/smooth

Repository files navigation

smooth

License: LGPL-2.1

R:

CRAN_Status_Badge Downloads R-CMD-check

Python:

PyPI version PyPI - Downloads Python CI Python versions

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

Installation

R (CRAN):

install.packages("smooth")

R (github):

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

Python (PyPI):

# Not yet available

Python (github, release): Choose the wheel file for your platform from the latest release then run:

pip install <wheel-file-for-your-platform>

For example, for Windows with Python 3.13:

pip install https://github.com/config-i1/smooth/releases/download/v4.4.0/smooth-1.0.0-cp313-cp313-win_amd64.whl

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/