code: def create_model(ocl, use_ll=True, model_type="regression"):
      if model_type == "regression":
          return LinearRegressionModel(
              lags=3,
              likelihood="quantile" if use_ll else None,
              quantiles=[0.05, 0.4, 0.5, 0.6, 0.95] if use_ll else None,
              output_chunk_length=ocl,
          )
      else:  # model_type == "torch"
          if not TORCH_AVAILABLE:
              return None
          return NLinearModel(
              input_chunk_length=3,
              likelihood=QuantileRegression([0.05, 0.4, 0.5, 0.6, 0.95])
              if use_ll
              else None,
              output_chunk_length=ocl,
              n_epochs=1,
              random_state=42,
              **tfm_kwargs,
          )
  
imports: import itertools
  from itertools import product
  import numpy
  import pandas
  import pytest
  import darts
  from darts import TimeSeries, concatenate
  from darts.dataprocessing.transformers import Scaler
  from darts.datasets import AirPassengersDataset
  from darts.logging import get_logger
  from darts.models import ARIMA, AutoARIMA, CatBoostModel, LightGBMModel, LinearRegressionModel, NaiveSeasonal, NotImportedModule
  from darts.tests.conftest import tfm_kwargs
  from darts.utils import timeseries_generation
label_desc: Use image node_id 1 for calling the TestHistoricalforecast obj's underlying member method code with example usage: obj.create_model(ocl, use_ll, model_type) and returns: LinearRegressionModel, NLinearModel, None