ADIDA
adida.ADIDA ยท inherits BaseForecaster
Aggregate-Dissagregate Intermittent Demand Approach: Uses temporal aggregation to reduce the number of zero observations. Once the data has been agregated, it uses the optimized SES to generate the forecasts at the new level. It then breaks down the forecast to the original level using equal weights.
ADIDA specializes on sparse or intermittent series are series with very few non-zero observations. They are notoriously hard to forecast, and so, different methods have been developed especifically for them.
Attributes:
* alias: str (Custom name of the model.)
* conformal_params: Optional[ConformalIntervals] (Information used for computing conformal prediction intervals.)
* model_: Dict[str, jnp.ndarray] (Stores the fitted mean forecast used for subsequent predictions.)
__init__(self, alias='ADIDA', prediction_intervals=None)
ADIDA model.
| Parameter | Type | Default | Description |
|---|---|---|---|
alias |
str |
"ADIDA" |
Custom name of the model. |
prediction_intervals |
Optional[ConformalIntervals] |
None |
Information to compute conformal prediction intervals. By default, the model will compute the native prediction intervals. |
fit(self, y, X=None) -> Self
Fit an ADIDA to a time series (numpy array) y.
| Parameter | Type | Default | Description |
|---|---|---|---|
y |
jnp.ndarray |
- | Clean time series of shape (t, ). |
X |
Optional[jnp.ndarray] |
None |
Optional exogenous variables. |
Returns: Self (the fitted forecaster; sets self.model_).
predict(self, h, X=None, level=None) -> Dict[str, jnp.ndarray]
Predict with fitted ADIDA.
| Parameter | Type | Default | Description |
|---|---|---|---|
h |
int |
- | Forecast horizon. |
X |
Optional[jnp.ndarray] |
None |
Optional exogenous of shape (h, n_x). |
level |
Optional[List[int]] |
None |
Confidence levels (0-100) for prediction intervals. |
Returns: dict (Dictionary with entries mean for point predictions and level_* for probabilistic predictions.)
predict_in_sample(self, level=None) -> Dict[str, jnp.ndarray]
Access fitted ADIDA insample predictions.
| Parameter | Type | Default | Description |
|---|---|---|---|
level |
Optional[List[int]] |
None |
Confidence levels (0-100) for prediction intervals. |
Returns: dict (Dictionary with entries fitted for point predictions and level_* for probabilistic predictions.)
forecast(self, y, h, X=None, X_future=None, level=None, fitted=False) -> Dict[str, jnp.ndarray]
Memory Efficient ADIDA predictions.
This method avoids memory burden due from object storage. It is analogous to fit_predict without storing information. It assumes you know the forecast horizon in advance.
| Parameter | Type | Default | Description |
|---|---|---|---|
y |
jnp.ndarray |
- | Clean time series of shape (n,). |
h |
int |
- | Forecast horizon. |
X |
Optional[jnp.ndarray] |
None |
Optional insample exogenous of shape (t, n_x). |
X_future |
Optional[jnp.ndarray] |
None |
Optional exogenous of shape (h, n_x). |
level |
Optional[List[int]] |
None |
Confidence levels (0-100) for prediction intervals. |
fitted |
bool |
False |
Whether or not to return insample predictions. |
Returns: dict (Dictionary with entries mean for point predictions and level_* for probabilistic predictions.)