code: def testComputeMSE(self):
      self.dlm1._forwardFilter(start=0, end=19, renew=False)
      self.dlm1.result.filteredSteps = (0, 19)
      mse1 = self.dlm1._getMSE()
      mse_expect = 0
      for i in range(20):
          mse_expect += (
              self.dlm1.result.predictedObs[i] - self.data[i]
          ) ** 2
      mse_expect /= 20
      self.assertAlmostEqual(mse1, mse_expect)
  
      self.dlm2._forwardFilter(start=0, end=19, renew=False)
      self.dlm2.result.filteredSteps = (0, 19)
      mse2 = self.dlm2._getMSE()
      mse_expect = 2.0 / 20
      self.assertAlmostEqual(mse2, mse_expect)
  
      # Test missing data
      self.dlm7._forwardFilter(start=0, end=6, renew=False)
      self.dlm7.result.filteredSteps = (0, 6)
      mse3 = self.dlm7._getMSE()
      mse_expect = 0
      for i in range(7):
          if self.dlm7.data[i] is not None:
              mse_expect += (
                  self.dlm7.result.predictedObs[i] - self.dlm7.data[i]
              ) ** 2
      mse_expect /= 7
      self.assertAlmostEqual(mse3, mse_expect)
  
file_path: pydlm/tests/tuner/test_dlmTune.py
imports: import unittest
  from pydlm.modeler.trends import trend
  from pydlm.modeler.seasonality import seasonality
  from pydlm.modeler.autoReg import autoReg
  from pydlm.tuner._dlmTune import _dlmTune
label_desc: Use image node_id 2 for calling the test_dlmTune obj's underlying member method code with example usage: obj.testComputeMSE() without return types