MovingAverageModel#
- class MovingAverageModel(window: int = 5)[source]#
Bases:
SeasonalMovingAverageModel
MovingAverageModel averages previous series values to forecast future one.
\[y_{t} = \frac{\sum_{i=1}^{n} y_{t-i} }{n},\]where \(n\) is window size.
Notes
This model supports in-sample and out-of-sample prediction decomposition. Prediction components are corresponding target lags with weights of \(1/window\).
Init MovingAverageModel.
- Parameters:
window (int) – number of history points to average
Methods
fit
(ts)Fit model.
forecast
(ts, prediction_size[, ...])Make autoregressive forecasts.
Get internal model.
load
(path)Load an object.
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
This class stores its
__init__
parameters as attributes.Context size of the model.
- fit(ts: TSDataset) SeasonalMovingAverageModel [source]#
Fit model.
For this model, fit does nothing.
- Parameters:
ts (TSDataset) – Dataset with features
- Returns:
Model after fit
- Return type:
- forecast(ts: TSDataset, prediction_size: int, return_components: bool = False) TSDataset [source]#
Make autoregressive forecasts.
- Parameters:
- 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:
- get_model() SeasonalMovingAverageModel [source]#
Get internal model.
- Returns:
Itself
- Return type:
- classmethod load(path: Path) Self [source]#
Load an object.
- Parameters:
path (Path) – Path to load object from.
- Returns:
Loaded object.
- Return type:
Self
- params_to_tune() Dict[str, 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:
- predict(ts: TSDataset, prediction_size: int, return_components: bool = False) TSDataset [source]#
Make predictions using true values as autoregression context (teacher forcing).
- Parameters:
- 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:
- set_params(**params: dict) Self [source]#
Return new object instance with modified parameters.
Method also allows to change parameters of nested objects within the current object. For example, it is possible to change parameters of a
model
in aPipeline
.Nested parameters are expected to be in a
<component_1>.<...>.<parameter>
form, where components are separated by a dot.- Parameters:
**params (dict) – Estimator parameters
- Returns:
New instance with changed parameters
- Return type:
Self
Examples
>>> from etna.pipeline import Pipeline >>> from etna.models import NaiveModel >>> from etna.transforms import AddConstTransform >>> model = model=NaiveModel(lag=1) >>> transforms = [AddConstTransform(in_column="target", value=1)] >>> pipeline = Pipeline(model, transforms=transforms, horizon=3) >>> pipeline.set_params(**{"model.lag": 3, "transforms.0.value": 2}) Pipeline(model = NaiveModel(lag = 3, ), transforms = [AddConstTransform(in_column = 'target', value = 2, inplace = True, out_column = None, )], horizon = 3, )