_OneSegmentSTLTransform

class _OneSegmentSTLTransform(in_column: str, period: int, model: Union[str, statsmodels.tsa.base.tsa_model.TimeSeriesModel] = 'arima', robust: bool = False, model_kwargs: Optional[Dict[str, Any]] = None, stl_kwargs: Optional[Dict[str, Any]] = None)[source]

Bases: etna.transforms.base.OneSegmentTransform

Init _OneSegmentSTLTransform.

Parameters
  • in_column (str) – name of processed column

  • period (int) – size of seasonality

  • model (Union[str, statsmodels.tsa.base.tsa_model.TimeSeriesModel]) –

    model to predict trend, default options are:

    1. ”arima”: ARIMA(data, 1, 1, 0) (default)

    2. ”holt”: ETSModel(data, trend='add')

    Custom model should be a subclass of statsmodels.tsa.base.tsa_model.TimeSeriesModel and have method get_prediction (not just predict)

  • robust (bool) – flag indicating whether to use robust version of STL

  • model_kwargs (Optional[Dict[str, Any]]) – parameters for the model like in statsmodels.tsa.seasonal.STLForecast

  • stl_kwargs (Optional[Dict[str, Any]]) – additional parameters for statsmodels.tsa.seasonal.STLForecast

Inherited-members

Methods

fit(df)

Perform STL decomposition and fit trend model.

fit_transform(df)

Fit and transform Dataframe.

inverse_transform(df)

Add trend and seasonal component.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

transform(df)

Subtract trend and seasonal component.

fit(df: pandas.core.frame.DataFrame) etna.transforms.decomposition.stl._OneSegmentSTLTransform[source]

Perform STL decomposition and fit trend model.

Parameters

df (pandas.core.frame.DataFrame) – Features dataframe with time

Returns

result – instance after processing

Return type

_OneSegmentSTLTransform

fit_transform(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

Fit and transform Dataframe.

May be reimplemented. But it is not recommended.

Parameters

df (pandas.core.frame.DataFrame) – Dataframe in etna long format to transform.

Returns

Transformed Dataframe.

Return type

pandas.core.frame.DataFrame

inverse_transform(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame[source]

Add trend and seasonal component.

Parameters

df (pandas.core.frame.DataFrame) – Features dataframe with time

Returns

result – Dataframe with extracted features

Return type

pd.DataFrame

set_params(**params: dict) etna.core.mixins.TMixin

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 a Pipeline.

Nested parameters are expected to be in a <component_1>.<...>.<parameter> form, where components are separated by a dot.

Parameters
  • **params – Estimator parameters

  • self (etna.core.mixins.TMixin) –

  • params (dict) –

Returns

New instance with changed parameters

Return type

etna.core.mixins.TMixin

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, )
to_dict()

Collect all information about etna object in dict.

transform(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame[source]

Subtract trend and seasonal component.

Parameters

df (pandas.core.frame.DataFrame) – Features dataframe with time

Returns

result – Dataframe with extracted features

Return type

pd.DataFrame