code: def setUp(self) -> None:
      self.obsd1 = ObservationData(
          metric_names=["m1", "m2", "m2"],
          means=np.array([1.0, 2.0, 1.0]),
          covariance=np.array(
              [[1.0, 0.2, 0.4], [0.2, 2.0, 0.8], [0.4, 0.8, 3.0]]
          ),
      )
      self.obsd2 = ObservationData(
          metric_names=["m1", "m1", "m2", "m2"],
          means=np.array([1.0, 1.0, 2.0, 1.0]),
          covariance=np.array(
              [
                  [1.0, 0.0, 0.0, 0.0],
                  [0.0, 1.0, 0.2, 0.4],
                  [0.0, 0.2, 2.0, 0.8],
                  [0.0, 0.4, 0.8, 3.0],
              ]
          ),
      )
      obs1 = Observation(
          features=ObservationFeatures({}), data=self.obsd1
      )
      obs2 = Observation(
          features=ObservationFeatures({}), data=self.obsd2
      )
      self.t = StandardizeY(
          search_space=None,
          observations=[obs1, obs2],
      )
  
imports: from copy import deepcopy
  from math import sqrt
  from typing import List
  import numpy
  from ax.core.metric import Metric
  from ax.core.objective import Objective
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.core.optimization_config import OptimizationConfig
  from ax.core.outcome_constraint import OutcomeConstraint, ScalarizedOutcomeConstraint
  from ax.core.types import ComparisonOp
  from ax.exceptions.core import DataRequiredError
  from ax.modelbridge.transforms.standardize_y import StandardizeY
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 1 for calling the StandardizeYTransformTest obj's underlying member method code with example usage: obj.setUp() without return types