SeasonalMovingAverageModel

class SeasonalMovingAverageModel(window: int = 5, seasonality: int = 7)[source]

Bases: etna.models.base.NonPredictionIntervalContextRequiredAbstractModel

Seasonal moving average.

\[y_{t} = \frac{\sum_{i=1}^{n} y_{t-is} }{n},\]

where \(s\) is seasonality, \(n\) is window size (how many history values are taken for forecast).

Notes

This model supports in-sample and out-of-sample prediction decomposition. Prediction components are corresponding target lags with weights of \(1/window\).

Initialize seasonal moving average model.

Length of the context is window * seasonality.

Parameters
  • window (int) – Number of values taken for forecast for each point.

  • seasonality (int) – Lag between values taken for forecast.

Inherited-members

Methods

fit(ts)

Fit model.

forecast(ts, prediction_size[, ...])

Make autoregressive forecasts.

get_model()

Get internal model.

load(path)

Load an object.

params_to_tune()

Get default grid for tuning hyperparameters.

predict(ts, prediction_size[, return_components])

Make predictions using true values as autoregression context (teacher forcing).

save(path)

Save the object.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

Attributes

context_size

Context size of the model.

fit(ts: etna.datasets.tsdataset.TSDataset) etna.models.seasonal_ma.SeasonalMovingAverageModel[source]

Fit model.

For this model, fit does nothing.

Parameters

ts (etna.datasets.tsdataset.TSDataset) – Dataset with features

Returns

Model after fit

Return type

etna.models.seasonal_ma.SeasonalMovingAverageModel

forecast(ts: etna.datasets.tsdataset.TSDataset, prediction_size: int, return_components: bool = False) etna.datasets.tsdataset.TSDataset[source]

Make autoregressive forecasts.

Parameters
  • ts (etna.datasets.tsdataset.TSDataset) – Dataset with features

  • prediction_size (int) – Number of last timestamps to leave after making prediction. Previous timestamps will be used as a context.

  • return_components (bool) – If True additionally returns forecast components

Returns

Dataset with predictions

Raises
  • NotImplementedError: – if return_components mode is used

  • ValueError: – if context isn’t big enough

  • ValueError: – if forecast context contains NaNs

Return type

etna.datasets.tsdataset.TSDataset

get_model() etna.models.seasonal_ma.SeasonalMovingAverageModel[source]

Get internal model.

Returns

Itself

Return type

etna.models.seasonal_ma.SeasonalMovingAverageModel

params_to_tune() Dict[str, etna.distributions.distributions.BaseDistribution][source]

Get default grid for tuning hyperparameters.

This grid tunes window parameter. Other parameters are expected to be set by the user.

Returns

Grid to tune.

Return type

Dict[str, etna.distributions.distributions.BaseDistribution]

predict(ts: etna.datasets.tsdataset.TSDataset, prediction_size: int, return_components: bool = False) etna.datasets.tsdataset.TSDataset[source]

Make predictions using true values as autoregression context (teacher forcing).

Parameters
  • ts (etna.datasets.tsdataset.TSDataset) – Dataset with features

  • prediction_size (int) – Number of last timestamps to leave after making prediction. Previous timestamps will be used as a context.

  • return_components (bool) – If True additionally returns prediction components

Returns

Dataset with predictions

Raises
  • NotImplementedError: – if return_components mode is used

  • ValueError: – if context isn’t big enough

  • ValueError: – if forecast context contains NaNs

Return type

etna.datasets.tsdataset.TSDataset

property context_size: int

Context size of the model.