code: def test_no_uncertainty(self):
      self.model = LGBMForecaster(
          LGBMForecasterConfig(
              transform=TemporalResample("1h"),
              maxlags=24 * 7,
              prediction_stride=24,
          )
      )
      self.model.train(self.vals_train)
      fig, _ = self.model.plot_forecast(
          time_series=self.vals_test, plot_forecast_uncertainty=True
      )
      figdir = join(rootdir, "tmp", "plot", "no_uncertainty")
      os.makedirs(figdir, exist_ok=True)
      fig.savefig(join(figdir, "lgbm_forecast.png"))
  
imports: import logging
  import math
  import os
  from os.path import abspath, dirname, join
  import sys
  import unittest
  from merlion.transform.base import Identity
  from merlion.transform.moving_average import DifferenceTransform
  from merlion.transform.normalize import BoxCoxTransform
  from merlion.transform.resample import TemporalResample
  from merlion.models.anomaly.forecast_based.prophet import ProphetDetector, ProphetDetectorConfig
  from merlion.models.forecast.trees import LGBMForecaster, LGBMForecasterConfig
  from merlion.plot import plot_anoms, plot_anoms_plotly
  from merlion.utils.data_io import csv_to_time_series
label_desc: Use image node_id 5 for calling the TestPlot obj's underlying member method code with example usage: obj.test_no_uncertainty() without return types