etna.reconciliation.BottomUpReconciliator#

class BottomUpReconciliator(target_level: str, source_level: str)[source]#

Bases: BaseReconciliator

Bottom-up reconciliation.

Create bottom-up reconciliator from source_level to target_level.

Parameters:
  • target_level (str) – Level to be reconciled from the forecasts.

  • source_level (str) – Level to be forecasted.

Methods

aggregate(ts)

Aggregate the dataset to the source_level.

fit(ts)

Fit the reconciliator parameters.

reconcile(ts)

Reconcile the forecasts in the dataset.

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.

aggregate(ts: TSDataset) TSDataset[source]#

Aggregate the dataset to the source_level.

Parameters:

ts (TSDataset) – TSDataset on the level which is lower or equal to source_level.

Returns:

TSDataset on the source_level.

Return type:

TSDataset

fit(ts: TSDataset) BottomUpReconciliator[source]#

Fit the reconciliator parameters.

Parameters:

ts (TSDataset) – TSDataset on the level which is lower or equal to target_level, source_level.

Returns:

Fitted instance of reconciliator.

Return type:

BottomUpReconciliator

reconcile(ts: TSDataset) TSDataset[source]#

Reconcile the forecasts in the dataset.

Parameters:

ts (TSDataset) – TSDataset on the source_level.

Returns:

TSDataset on the target_level.

Return type:

TSDataset

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 = 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.