# differencing¶

Classes

 `DifferencingTransform`(in_column[, period, ...]) Calculate a time series differences. `_SingleDifferencingTransform`(in_column[, ...]) Calculate a time series differences of order 1.
class DifferencingTransform(in_column: str, period: int = 1, order: int = 1, inplace: bool = True, out_column: Optional[str] = None)[source]

Calculate a time series differences.

During `fit` this transform can work with NaNs at the beginning of the segment, but fails when meets NaN inside the segment. During `transform` and `inverse_transform` there is no special treatment of NaNs.

Notes

To understand how transform works we recommend: Stationarity and Differencing

Create instance of DifferencingTransform.

Parameters
• in_column (str) – name of processed column

• period (int) – number of steps back to calculate the difference with, it should be >= 1

• order (int) – number of differences to make, it should be >= 1

• inplace (bool) –

• if True, apply transformation inplace to in_column,

• if False, add transformed column to dataset

• out_column (Optional[str]) –

• if set, name of added column, the final name will be ‘{out_column}’;

• if isn’t set, name will be based on `self.__repr__()`

Raises
• ValueError: – if period is not integer >= 1

• ValueError: – if order is not integer >= 1

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

Fit the transform.

Parameters
Return type

etna.transforms.math.differencing.DifferencingTransform

fit_transform(ts: etna.datasets.tsdataset.TSDataset)

Fit and transform TSDataset.

May be reimplemented. But it is not recommended.

Parameters

ts (etna.datasets.tsdataset.TSDataset) – TSDataset to transform.

Returns

Transformed TSDataset.

Return type

etna.datasets.tsdataset.TSDataset

get_regressors_info() List[str][source]

Return the list with regressors created by the transform.

Return type

List[str]

inverse_transform(ts: etna.datasets.tsdataset.TSDataset)

Inverse transform TSDataset.

Apply the _inverse_transform method.

Parameters

ts (etna.datasets.tsdataset.TSDataset) – TSDataset to be inverse transformed.

Returns

TSDataset after applying inverse transformation.

Return type

etna.datasets.tsdataset.TSDataset

Warning

This method uses `dill` module which is not secure. It is possible to construct malicious data which will execute arbitrary code during loading. Never load data that could have come from an untrusted source, or that could have been tampered with.

Parameters

path (pathlib.Path) – Path to load object from.

Returns

Return type

typing_extensions.Self

params_to_tune() [source]

Get default grid for tuning hyperparameters.

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

Returns

Grid to tune.

Return type
save(path: pathlib.Path)

Save the object.

Parameters

path (pathlib.Path) – Path to save object to.

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
>>> model = model=NaiveModel(lag=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(ts: etna.datasets.tsdataset.TSDataset)

Transform TSDataset inplace.

Parameters

ts (etna.datasets.tsdataset.TSDataset) – Dataset to transform.

Returns

Transformed TSDataset.

Return type

etna.datasets.tsdataset.TSDataset