mojolearn.CrostonOptimized#

class mojolearn.CrostonOptimized(alias=None, numeric_mode=None)[source]#

Bases: _Croston

Croston’s method with optimized smoothing parameters.

As CrostonClassic, but each smoothing parameter (for demands and for intervals) is chosen by golden-section search on [0.1, 0.3]. Follows statsforecast’s CrostonOptimized. fit takes one series or a batch of shape (batch_size, n_obs).

Parameters:
  • alias (str or None, default None) – A display name for the model, stored as alias.

  • numeric_mode (str or None, default None) – Numeric mode for this model ('identical', 'deterministic' or 'fast'); None uses the process default (see mojolearn.set_numeric_mode()).

Variables:

mean_ (ndarray of shape (batch_size,), float32) – The fitted demand rate of each series; the point forecast.

Notes

Input must be float32; float64 raises TypeError. Prediction intervals, fitted values and exogenous regressors are not supported and raise NotImplementedError.

Examples

>>> import numpy as np, mojolearn
>>> rng = np.random.default_rng(0)
>>> y = (rng.random(120) < 0.3).astype(np.float32) * rng.integers(1, 10, 120).astype(np.float32)
>>> mojolearn.CrostonOptimized().fit(y).predict(12)["mean"].shape
(12,)
__init__(alias=None, numeric_mode=None)#

Methods

fit(y[, X])

Fit one series or a batch of series.

forecast(y, h[, X, X_future, level, fitted])

Fit y and forecast h steps in one call.

predict(h[, X, level])

Forecast h steps ahead.