code: def testLogprobCorrectness(self):
      # Compare the state-space model's log-prob to an explicit implementation.
      num_timesteps = 10
      observed_time_series_ = np.random.randn(num_timesteps)
      ar_coefficients_ = np.array([0.7, -0.1]).astype(self.dtype)
      ma_coefficients_ = np.array([0.5, -0.4]).astype(self.dtype)
      level_scale_ = 1.0
  
      observed_time_series = self._build_placeholder(
          observed_time_series_
      )
      level_scale = self._build_placeholder(level_scale_)
  
      expected_logp = arma_explicit_logp(
          observed_time_series_,
          ar_coefficients_,
          ma_coefficients_,
          level_scale_,
      )
  
      ssm = AutoregressiveMovingAverageStateSpaceModel(
          num_timesteps=num_timesteps,
          ar_coefficients=ar_coefficients_,
          ma_coefficients=ma_coefficients_,
          level_scale=level_scale,
          initial_state_prior=mvn_diag.MultivariateNormalDiag(
              scale_diag=[level_scale, 0.0, 0.0]
          ),
      )
  
      lp = ssm.log_prob(observed_time_series[..., tf.newaxis])
      self.assertAllClose(lp, expected_logp, rtol=5e-2)
  
imports: import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.sts.components.autoregressive import AutoregressiveStateSpaceModel
  from tensorflow_probability.python.sts.components.autoregressive_moving_average import AutoregressiveMovingAverageStateSpaceModel
label_desc: Use image node_id 2 for calling the _AutoregressiveMovingAverageStateSpaceModelTest obj's underlying member method code with example usage: obj.testLogprobCorrectness() without return types