class_docstr: Estimation of a value based on one or multiple evaluations.
  This class provides easy access to:
  - count: how many times the point was evaluated
  - mean: the mean value.
  - square: the mean square value
  - variance: the variance
  - parameter: the corresponding Parameter
  
  
  It also provides access to optimistic and pessimistic bounds for the value.
  
  Parameter
  ---------
  parameter: Parameter
      the parameter for one of the evaluations
  y: float
      the first evaluation of the value
code: def get_estimation(self, name: str) -> float:
      # Note: pruning below relies on the fact than only 3 modes exist. If a new mode is added, update pruning
      if name == "optimistic":
          return self.optimistic_confidence_bound
      elif name == "pessimistic":
          return self.pessimistic_confidence_bound
      elif name == "minimum":
          return self._minimum
      elif name == "average":
          return self.mean
      else:
          raise NotImplementedError
  
imports: import math
  import operator
  import numpy
  from nevergrad.parametrization import parameter
  from nevergrad.parametrization.utils import float_penalty
  import nevergrad.common.typing
  from nevergrad.common.tools import OrderedSet
label_desc: Use image node_id 5 for calling the MultiValue obj's underlying member method code with example usage: obj.get_estimation(name) and returns: self, self, self, self