-
Notifications
You must be signed in to change notification settings - Fork 22
Home
Ivan Svetunkov edited this page Jan 29, 2026
·
41 revisions
Welcome to the smooth package wiki! The smooth package implements Single Source of Error (SSOE) state-space models for forecasting and time series analysis, available for both R and Python (under development).
| Function | Description | Python | R |
|---|---|---|---|
| ADAM | Augmented Dynamic Adaptive Model - unified ETS/ARIMA/regression framework | Yes | Yes |
| ES | Exponential Smoothing (ETS) wrapper for ADAM | Yes | Yes |
| CES | Complex Exponential Smoothing | TBA | Yes |
| SSARIMA | State Space ARIMA | TBA | Yes |
| MSARIMA | Multiple Seasonal ARIMA | TBA | Yes |
| GUM | Generalised Univariate Model | TBA | Yes |
| SMA | Simple Moving Average | TBA | Yes |
| OES | Occurrence ETS for intermittent demand | TBA | Yes |
| Function | Description | Python | R |
|---|---|---|---|
| msdecompose | Multiple seasonal decomposition (used for ADAM/ES initialization) | Yes | Yes |
| lowess | Scatter plot smoothing from Cleveland, W. S. (1979). | Yes | in stats package |
from smooth import ADAM, ES, msdecompose
# Automatic ETS model selection
model = ADAM(model="ZXZ", lags=12)
model.fit(y)
forecasts = model.predict(h=12)
# Simple Exponential Smoothing
model = ES(model="ZXZ")
model.fit(y)
# Time series decomposition
result = msdecompose(y, lags=[12], type='additive')library(smooth)
# Automatic model selection
model <- adam(y, model="ZXZ", lags=12)
forecast(model, h=12)
# Exponential Smoothing
model <- es(y, model="ZXZ", h=12)ADAM is the recommended function for most forecasting tasks. It provides:
- Unified ETS and ARIMA framework
- Multiple seasonality support
- Various error distributions
- Intermittent demand handling
- External regressors
- Automatic model selection
- ... and more
- Resources - Publications and DOIs for each function