etna.reconciliation.TopDownReconciliator#
- class TopDownReconciliator(target_level: str, source_level: str, period: int, method: str)[source]#
- Bases: - BaseReconciliator- Top-down reconciliation methods. - Notes - Top-down reconciliation methods support only non-negative data. - Create top-down reconciliator from - source_levelto- target_level.- Parameters:
- target_level (str) – Level to be reconciled from the forecasts. 
- source_level (str) – Level to be forecasted. 
- period (int) – Period length for calculation reconciliation proportions. 
- method (str) – - Proportions calculation method. Selects last - periodtimestamps for estimation. Currently supported options:- AHP - Average historical proportions 
- PHA - Proportions of the historical averages 
 
 
 - 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.- fit(ts: TSDataset) TopDownReconciliator[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:
 
 - 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 - modelin 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, )