etna.metrics.Width#
- class Width(quantiles: Tuple[float, float] | None = None, mode: str = MetricAggregationMode.per_segment, upper_name: str | None = None, lower_name: str | None = None, **kwargs)[source]#
- Bases: - Metric,- _IntervalsMetricMixin- Mean width of prediction intervals. \[Width(y\_true, y\_pred) = \frac{\sum_{i=0}^{n-1}\mid y\_pred_i^{upper\_quantile} - y\_pred_i^{lower\_quantile} \mid}{n}\]- Notes - Works just if quantiles presented in - y_pred.- When - quantiles,- upper_nameand- lower_nameall set to- Nonethen 0.025 and 0.975 quantiles will be used.- Init metric. - Parameters:
- quantiles (Tuple[float, float] | None) – lower and upper quantiles 
- mode ('macro' or 'per-segment') – metrics aggregation mode 
- upper_name (str | None) – name of column with upper border of the interval 
- lower_name (str | None) – name of column with lower border of the interval 
- kwargs – metric’s computation arguments 
 
 - Methods - set_params(**params)- Return new object instance with modified parameters. - to_dict()- Collect all information about etna object in dict. - __call__(y_true, y_pred)- Compute metric's value with y_true and y_pred. - Attributes - This class stores its - __init__parameters as attributes.- Whether higher metric value is better. - Name of the metric for representation. - __call__(y_true: TSDataset, y_pred: TSDataset) float | Dict[str, float][source]#
- Compute metric’s value with y_true and y_pred. - Notes - Note that if y_true and y_pred are not sorted Metric will sort it anyway 
 - 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 = 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, )