Skip to content

Forecasting

Performance snapshots for this task, comparing deep-river models against strong baselines on standard river datasets.

AirlinePassengers (target only)

Summary

Model MAE RMSE SMAPE Memory in Mb Time in s
Deep River GRU 294.115 315.123 197.554 0.0329781 18.9884
Deep River LSTM 295.086 316.16 198.842 0.03298 13.5827
Deep River Linear 57.66 72.2396 33.7468 0.0158186 3.74214
Deep River Liquid 293.711 314.679 197.037 0.0328302 32.3297
Deep River MLP 67.8867 82.534 40.9045 0.0372353 6.61261
Deep River N-BEATS 48.5183 60.8551 21.0501 0.0746565 11.7495
Deep River RNN 294.655 315.604 198.381 0.0330992 11.1271
Holt-Winters 39.4407 50.5302 13.2046 0.0044384 0.566215
SNARIMAX 32.7727 41.7392 11.378 0.00846672 1.02697

Charts

TrumpApproval (target only)

Summary

Model MAE RMSE SMAPE Memory in Mb Time in s
Deep River GRU 21.7723 23.6523 81.9672 0.0334435 106.264
Deep River LSTM 22.4099 24.1704 84.935 0.0334454 71.471
Deep River Linear 1.33074 4.49723 4.06335 0.0162611 18.1434
Deep River Liquid 21.9987 23.7984 82.7777 0.0332499 201.501
Deep River MLP 1.82508 5.54169 5.73855 0.0376472 33.3228
Deep River N-BEATS 1.06645 2.67359 2.80861 0.0751066 64.0395
Deep River RNN 22.1253 24.0073 83.9181 0.0335493 59.1101
Holt-Winters 0.393099 0.517923 0.970281 0.00443077 0.721287
SNARIMAX 0.310209 0.414372 0.765805 0.00873375 2.70793

Charts

Datasets

AirlinePassengers (target only)

Monthly number of international airline passengers.

The stream contains 144 items and only one single feature, which is the month. The goal is to predict the number of passengers each month by capturing the trend and the seasonality of the data.

Name  AirlinePassengers                                                                                                          
Task  Regression

Samples 144
Features 1
Sparse False
Path /Users/cedrickulbach/Documents/Projects/deep-river/.venv/lib/python3.12/site-packages/river/datasets/airline-passengers.csv

Forecasting benchmark variant: only the historical target values are used.

TrumpApproval (target only)

Donald Trump approval ratings.

This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald Trump's approval ratings. It contains 5 features, which are approval ratings collected by 5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of this task is to see if we can reproduce FiveThirtyEight's model.

Name  TrumpApproval                                                                                                             
Task  Regression

Samples 1,001
Features 6
Sparse False
Path /Users/cedrickulbach/Documents/Projects/deep-river/.venv/lib/python3.12/site-packages/river/datasets/trump_approval.csv.gz

Forecasting benchmark variant: only the historical target values are used.

Models

Holt-Winters

HoltWinters (
  alpha=0.3
  beta=0.1
  gamma=0.1
  seasonality=12
  multiplicative=False
)

SNARIMAX

SNARIMAX (
  p=1
  d=1
  q=0
  m=12
  sp=1
  sd=0
  sq=0
  regressor=Pipeline (
    steps=OrderedDict({'StandardScaler': StandardScaler (
  with_std=True
), 'LinearRegression': LinearRegression (
  optimizer=SGD (
    lr=Constant (
      learning_rate=0.01
    )
  )
  loss=Squared ()
  l2=0.
  l1=0.
  intercept_init=0.
  intercept_lr=Constant (
    learning_rate=0.01
  )
  clip_gradient=1e+12
  initializer=Zeros ()
)})
  )
)

Deep River Linear

LinearForecaster (
  n_features=0
  window_size=12
  loss_fn="mse"
  optimizer_fn="sgd"
  lr=0.005
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River MLP

MLPForecaster (
  n_features=0
  window_size=12
  n_width=16
  n_layers=2
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River RNN

RNNForecaster (
  n_features=0
  window_size=12
  hidden_size=32
  num_layers=1
  nonlinearity="tanh"
  dropout=0.
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River GRU

GRUForecaster (
  n_features=0
  window_size=12
  hidden_size=32
  num_layers=1
  dropout=0.
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River LSTM

LSTMForecaster (
  n_features=0
  window_size=12
  hidden_size=32
  num_layers=1
  dropout=0.
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River Liquid

LiquidForecaster (
  n_features=0
  window_size=12
  hidden_size=32
  num_layers=1
  dropout=0.
  time_delta=1.
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Deep River N-BEATS

NBEATSForecaster (
  n_features=0
  window_size=12
  n_width=32
  n_layers=2
  n_blocks=2
  loss_fn="mse"
  optimizer_fn="adam"
  lr=0.001
  is_feature_incremental=False
  device="cpu"
  seed=42
  gradient_clip_value=1.
)

Environment

Python implementation: CPython
Python version       : 3.12.13
IPython version      : 9.6.0

river       : 0.25.0
numpy       : 2.5.0
scikit-learn: 1.5.2
pandas      : 2.2.3
scipy       : 1.16.2

Compiler    : Clang 22.1.3 
OS          : Linux
Release     : 6.17.0-1018-azure
Machine     : x86_64
Processor   : x86_64
CPU cores   : 4
Architecture: 64bit