class_docstr: The MultivariateEvaluator class evaluates forecasts for multivariate or
  multi-dimensional observations.
  
  Evaluations of individual dimensions will be stored with the corresponding
  dimension prefix and contain metrics calculated only for this dimension.
  Metrics with the plain metric name correspond to metrics calculated over
  all dimensions.
  Additionally, the user can provide custom aggregation functions that
  first aggregate the target and forecast over dimensions and then calculate
  the metric. These metrics will be prefixed with m_<aggregation_fun_name>_
  
  The evaluation dimensions can be set by the user.
  
  Example:
      {'0_MSE': 0.004307240342677687, # MSE of dimension 0
      '0_abs_error': 1.6246897801756859,
      '1_MSE': 0.003949341769475723, # MSE of dimension 1
      '1_abs_error': 1.5052175521850586,
      'MSE': 0.004128291056076705, # MSE of all dimensions
      'abs_error': 3.1299073323607445,
      'm_sum_MSE': 0.02 # MSE of aggregated target and aggregated forecast
      (if target_agg_funcs is set).
      'm_sum_abs_error': 4.2}
docstr: Parameters
  ----------
  quantiles
      list of strings of the form 'p10' or floats in [0, 1] with the
      quantile levels
  seasonality
      seasonality to use for seasonal_error, if nothing is passed uses
      the default seasonality for the given series frequency as
      returned by `get_seasonality`
  alpha
      parameter of the MSIS metric that defines the CI,
      e.g., for alpha=0.05 the 95% CI is considered in the metric.
  eval_dims
      dimensions of the target that will be evaluated.
  target_agg_funcs
      pass key-value pairs that define aggregation functions over the
      dimension axis. Useful to compute metrics over aggregated target
      and forecast (typically sum or mean).
  num_workers
      The number of multiprocessing workers that will be used to process
      metric for each dimension of the multivariate forecast.
docstr_tok: ["Parameters","--","--","--","--","--","quantiles","list","of","strings","of","the","form","'p10","'","or","floats","in","[","0",",","1","]","with","the","quantile","levels","seasonality","seasonality","to","use","for","seasonal_error",",","if","nothing","is","passed","uses","the","default","seasonality","for","the","given","series","frequency","as","returned","by","`","get_seasonality","`","alpha","parameter","of","the","MSIS","metric","that","defines","the","CI",",","e.g.",",","for","alpha=0.05","the","95","%","CI","is","considered","in","the","metric",".","eval_dims","dimensions","of","the","target","that","will","be","evaluated",".","target_agg_funcs","pass","key-value","pairs","that","define","aggregation","functions","over","the","dimension","axis",".","Useful","to","compute","metrics","over","aggregated","target","and","forecast","(","typically","sum","or","mean",")",".","num_workers","The","number","of","multiprocessing","workers","that","will","be","used","to","process","metric","for","each","dimension","of","the","multivariate","forecast","."]
code: def __init__(
      self,
      quantiles: Iterable[Union[float, str]] = np.linspace(0.1, 0.9, 9),
      seasonality: Optional[int] = None,
      alpha: float = 0.05,
      eval_dims: Optional[List[int]] = None,
      target_agg_funcs: Dict[str, Callable] = {},
      custom_eval_fn: Optional[dict] = None,
      num_workers: Optional[int] = None,
  ) -> None:
      """
  
      Parameters
      ----------
      quantiles
          list of strings of the form 'p10' or floats in [0, 1] with the
          quantile levels
      seasonality
          seasonality to use for seasonal_error, if nothing is passed uses
          the default seasonality for the given series frequency as
          returned by `get_seasonality`
      alpha
          parameter of the MSIS metric that defines the CI,
          e.g., for alpha=0.05 the 95% CI is considered in the metric.
      eval_dims
          dimensions of the target that will be evaluated.
      target_agg_funcs
          pass key-value pairs that define aggregation functions over the
          dimension axis. Useful to compute metrics over aggregated target
          and forecast (typically sum or mean).
      num_workers
          The number of multiprocessing workers that will be used to process
          metric for each dimension of the multivariate forecast.
      """
      super().__init__(
          quantiles=quantiles,
          seasonality=seasonality,
          alpha=alpha,
          custom_eval_fn=custom_eval_fn,
          num_workers=num_workers,
      )
      self._eval_dims = eval_dims
      self.target_agg_funcs = target_agg_funcs
  
imports: import logging
  import multiprocessing
  import sys
  from functools import partial
  from itertools import chain, tee
  from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union, Mapping, cast
  import numpy
  import pandas
  from gluonts.gluonts_tqdm import tqdm
  from gluonts.model.forecast import Forecast, Quantile
  from gluonts.time_feature import get_seasonality
  from .metrics import abs_error, abs_target_mean, abs_target_sum, calculate_seasonal_error, coverage, mape, mase, mse, msis, quantile_loss, smape, num_masked_values
label_desc: Use image node_id 1 to create a new MultivariateEvaluator object from inherited base classes: Evaluator with example: obj = MultivariateEvaluator(quantiles, seasonality, alpha, eval_dims, target_agg_funcs, custom_eval_fn, num_workers)