class_docstr: we test data loading, model instantiation, forecasting consistency, in particular
  (1) load a testing data
  (2) transform data
  (3) instantiate the model and train
  (4) forecast, and the forecasting result agrees with the reference
code: def test_forecast_uni(self):
      print("-" * 80)
      logger.info("test_forecast_uni" + "\n" + "-" * 80)
      self._run_test(
          univariate=True, autoregressive=True, use_exog=False
      )
  
imports: import logging
  from os.path import abspath, dirname, join
  import sys
  import unittest
  from merlion.evaluate.forecast import ForecastMetric
  from merlion.models.forecast.trees import LGBMForecaster, LGBMForecasterConfig
  from merlion.models.utils.rolling_window_dataset import RollingWindowDataset
  from merlion.transform.sequence import TransformSequence
  from merlion.transform.resample import TemporalResample
  from merlion.transform.bound import LowerUpperClip
  from merlion.transform.normalize import MeanVarNormalize
  from merlion.utils import TimeSeries
  from ts_datasets.forecast import SeattleTrail
label_desc: Use image node_id 5 for calling the TestLGBMForecaster obj's underlying member method code with example usage: obj.test_forecast_uni() without return types