code: def testDecomposeByComponentSupportsBatchShape(self):
      num_timesteps = 12
      param_batch_shape = [2, 1]
      (
          model,
          observed_time_series,
          param_samples,
      ) = self._build_model_and_params(
          num_timesteps=num_timesteps,
          param_batch_shape=param_batch_shape,
      )
  
      component_dists = decomposition.decompose_by_component(
          model,
          observed_time_series=observed_time_series,
          parameter_samples=param_samples,
      )
  
      self._check_component_shapes_helper(
          model,
          component_dists,
          expected_shape=param_batch_shape + [num_timesteps],
      )
  
imports: import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.sts import decomposition
  from tensorflow_probability.python.sts.components import local_linear_trend
  from tensorflow_probability.python.sts.components import seasonal
  from tensorflow_probability.python.sts.components import sum
  from tensorflow_probability.python.sts.forecast import forecast
  from tensorflow_probability.python.sts.internal import missing_values_util
label_desc: Use image node_id 2 for calling the _DecompositionTest obj's underlying member method code with example usage: obj.testDecomposeByComponentSupportsBatchShape() without return types