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 __init__(
      self, parameter: p.Parameter, y: float, *, reference: p.Parameter
  ) -> None:
      self.count = 1
      self.mean = y
      self._minimum = y
      self.square = y * y
      # TODO May be safer to use a default variance which depends on y for scale invariance?
      self.variance = 1.0e6
      parameter.freeze()
      self.parameter = parameter
      self._ref = reference
  
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 1 to create a new MultiValue object  with example: obj = MultiValue(parameter, y)