code: def setup_class(cls, which="none", *args, **kwargs):
      # Data
      dta = datasets.macrodata.load_pandas().data
      dta.index = pd.date_range(
          start="1959-01-01", end="2009-7-01", freq="QS"
      )
      levels = dta[["realgdp", "realcons", "realinv"]]
      obs = np.log(levels).diff().iloc[1:] * 400
  
      if which == "all":
          obs.iloc[:50, :] = np.nan
          obs.iloc[119:130, :] = np.nan
      elif which == "partial":
          obs.iloc[0:50, 0] = np.nan
          obs.iloc[119:130, 0] = np.nan
      elif which == "mixed":
          obs.iloc[0:50, 0] = np.nan
          obs.iloc[19:70, 1] = np.nan
          obs.iloc[39:90, 2] = np.nan
          obs.iloc[119:130, 0] = np.nan
          obs.iloc[119:130, 2] = np.nan
  
      # Create the model with typical state space
      mod = mlemodel.MLEModel(obs, k_states=2, k_posdef=2, **kwargs)
      mod["design"] = np.array(
          [
              [-32.47143586, 17.33779024],
              [-7.40264169, 1.69279859],
              [-209.04702853, 125.2879374],
          ]
      )
      mod["obs_cov"] = np.diag(
          np.array([0.0622668, 1.95666886, 58.37473642])
      )
      mod["transition"] = np.array(
          [[0.29935707, 0.33289005], [-0.7639868, 1.2844237]]
      )
      mod["selection"] = np.eye(2)
      mod["state_cov"] = np.array([[1.2, -0.25], [-0.25, 1.1]])
      mod.initialize_approximate_diffuse(1e6)
      mod.ssm.filter_univariate = True
      mod.ssm.filter_collapsed = True
      cls.model = mod
      cls.results = mod.smooth([], return_ssm=True)
  
      cls.sim = cls.model.simulation_smoother()
  
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 1 for calling the TestDFM obj's underlying member method code with example usage: obj.setup_class(cls, which) without return types