Distance#

class Distance(trim_series: bool = False, inf_value: float = 1.797693134862316e+108)[source]#

Bases: ABC, BaseMixin

Base class for distances between series.

Init Distance.

Parameters:
  • trim_series (bool) –

    • if True, get common (according to timestamp index) part of series and compute distance with it;

    • if False, compute distance with given series without any modifications.

  • inf_value (float) – if two empty series given or series’ indices interception is empty, return inf_value as a distance between the series

Methods

get_average(ts, **kwargs)

Get series that minimizes squared distance to given ones according to the Distance.

set_params(**params)

Return new object instance with modified parameters.

to_dict()

Collect all information about etna object in dict.

__call__(x1, x2)

Compute distance between x1 and x2.

Attributes

This class stores its __init__ parameters as attributes.

__call__(x1: Series, x2: Series) float[source]#

Compute distance between x1 and x2.

Parameters:
  • x1 (Series) – timestamp-indexed series

  • x2 (Series) – timestamp-indexed series

Returns:

distance between x1 and x2

Return type:

float

get_average(ts: TSDataset, **kwargs: Dict[str, Any]) DataFrame[source]#

Get series that minimizes squared distance to given ones according to the Distance.

Parameters:
  • ts (TSDataset) – TSDataset with series to be averaged

  • kwargs (Dict[str, Any]) – additional parameters for averaging

Returns:

dataframe with columns “timestamp” and “target” that contains the series

Return type:

pd.DataFrame

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

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, )
to_dict()[source]#

Collect all information about etna object in dict.