Results

class omnicast.ForecastResult(mean, lower, upper, model_name, observed=None)[source]

Bases: object

Point forecasts and prediction intervals in tidy, labelled form.

Parameters:
mean: Series
lower: dict[float, Series]
upper: dict[float, Series]
model_name: str
observed: Series | None = None
to_frame()[source]

Return point forecasts and all intervals as a DataFrame.

Return type:

DataFrame

interval(level=95)[source]

Return the lower and upper bounds for one coverage level.

Return type:

DataFrame

Parameters:

level (float)

plot(observed=None, title=None, **kwargs)[source]

Plot the forecast trajectory with its prediction bands over the observed history.

Return type:

Axes

Parameters:
class omnicast.BacktestResult(scores, predictions, model_name, metric, observed=None)[source]

Bases: object

Rolling-origin backtest scores plus the predictions behind them.

Parameters:
  • scores (DataFrame) – One row per fold: ‘cutoff’, ‘score’, ‘n_train’.

  • predictions (DataFrame) – One row per fold-step: ‘cutoff’, ‘target_date’, ‘step’, ‘predicted’, ‘actual’, and interval columns ‘lower_{level}’ / ‘upper_{level}’.

  • model_name (str) – Name of the evaluated model.

  • metric (str) – Metric used for scoring (e.g. ‘rmse’).

  • observed (Series | None) – The series that was backtested; .plot() falls back to it.

scores: DataFrame
predictions: DataFrame
model_name: str
metric: str
observed: Series | None = None
summary()[source]

Descriptive statistics of the fold scores (pd.Series.describe).

Return type:

Series

plot(observed=None, title=None, **kwargs)[source]

Plot fold predictions against observations. See plot_backtest.

Return type:

Axes

Parameters: