code: def test_smoother_output(univariate, missing, init, periods, option):
      # Test the output when the multivariate filter switches to the univariate
      # filter
  
      mod = get_model(univariate, missing, init)
      if option == "alternate_timing":
          # Can't use diffuse initialization with alternate timing
          if init == "diffuse":
              return
          mod.ssm.timing_init_filtered = True
      atol = 1e-12
      # Tolerance is lower for approximate diffuse for one attribute in this case
      if missing == "init" and init == "approximate_diffuse":
          atol = 1e-6
      check_smoother_output(mod, periods, atol=atol)
  
file_path: statsmodels/statsmodels/tsa/statespace/tests/test_multivariate_switch_univariate.py
imports: import numpy
  import pytest
  from statsmodels.tsa.statespace import mlemodel, sarimax, structural, varmax, dynamic_factor
  from statsmodels.tsa.statespace.tests.test_impulse_responses import TVSS
  from numpy.testing import assert_allclose
label_desc: Use image node_id 6 for calling a global function with example usage: test_smoother_output(univariate, missing, init, periods, option) without return types