class_docstr: More generic tests for simulation smoothing; use actual N(0,1) variates
class_docstr_tok: ["More","generic","tests","for","simulation","smoothing",";","use","actual","N","(","0,1",")","variates"]
code: def test_simulation_smoothing(self):
      sim = self.sim
  
      Z = self.model["design"]
  
      nobs = self.model.nobs
      k_endog = self.model.k_endog
  
      # Simulate with known variates
      # TODO
      sim.simulate(
          measurement_disturbance_variates=(
              self.variates[: nobs * k_endog]
          ),
          state_disturbance_variates=(
              self.variates[nobs * k_endog : -3]
          ),
          initial_state_variates=self.variates[-3:],
      )
  
      # Test against R package KFAS values
      assert_allclose(
          sim.simulated_state.T,
          self.true[["state1", "state2", "state3"]],
          atol=1e-7,
      )
      assert_allclose(
          sim.simulated_measurement_disturbance,
          self.true[["eps1", "eps2", "eps3"]].T,
          atol=1e-7,
      )
      assert_allclose(
          sim.simulated_state_disturbance,
          self.true[["eta1", "eta2", "eta3"]].T,
          atol=1e-7,
      )
      signals = np.zeros((3, self.model.nobs))
      for t in range(self.model.nobs):
          signals[:, t] = np.dot(Z, sim.simulated_state[:, t])
      assert_allclose(
          signals,
          self.true[["signal1", "signal2", "signal3"]].T,
          atol=1e-7,
      )
  
imports: import os
  import numpy
  import pandas
  from numpy.testing import assert_allclose, assert_equal
  import pytest
  from statsmodels import datasets
  from statsmodels.tsa.statespace import mlemodel, sarimax, structural, varmax
  from statsmodels.tsa.statespace.simulation_smoother import SIMULATION_STATE, SIMULATION_DISTURBANCE, SIMULATION_ALL
label_desc: Use image node_id 3 for calling the MultivariateVAR obj's underlying member method code with example usage: obj.test_simulation_smoothing() without return types