def test_predict_likelihood_parameters_regression_models(self, config):
        """
        Check that the shape of the predicted likelihood parameters match expectations, for both
        univariate and multivariate series.

        Note: values are not tested as it would be too time consuming
        """
        (
            (model_cls, supports_gaussian, model_kwargs),
            n_comp,
            likelihood,
            multi_models,
            horizon,
        ) = config

        seed = 142857
        n_times, n_samples = 100, 1
        lkl = {"kwargs": {"likelihood": likelihood}}

        if likelihood == "quantile":
            lkl["kwargs"]["quantiles"] = [0.05, 0.50, 0.95]
            lkl["ts"] = TimeSeries.from_values(
                np.random.normal(loc=0, scale=1, size=(n_times, n_comp, n_samples))
            )
            lkl["expected"] = np.array([-1.67, 0, 1.67])
        elif likelihood == "poisson":
            lkl["ts"] = TimeSeries.from_values(
                np.random.poisson(lam=4, size=(n_times, n_comp, n_samples))
            )
            lkl["expected"] = np.array([4])
        elif likelihood == "gaussian":
            if not supports_gaussian:
                return

            lkl["ts"] = TimeSeries.from_values(
                np.random.normal(loc=10, scale=3, size=(n_times, n_comp, n_samples))
            )
            lkl["expected"] = np.array([10, 3])
        else:
            assert False, f"unknown likelihood {likelihood}"

        model = model_cls(
            lags=3,
            output_chunk_length=2,
            random_state=seed,
            **lkl["kwargs"],
            multi_models=multi_models,
            **model_kwargs,
        )
        model.fit(lkl["ts"])
        pred_lkl_params = model.predict(
            n=horizon, num_samples=1, predict_likelihood_parameters=True
        )
        if n_comp == 1:
            assert lkl["expected"].shape == pred_lkl_params.values()[0].shape, (
                "The shape of the predicted likelihood parameters do not match expectation "
                "for univariate series."
            )
        else:
            assert (
                horizon,
                len(lkl["expected"]) * n_comp,
                1,
            ) == pred_lkl_params.all_values().shape, (
                "The shape of the predicted likelihood parameters do not match expectation "
                "for multivariate series."
            )

        Check that the shape of the predicted likelihood parameters match expectations, for both
        univariate and multivariate series.

        Note: values are not tested as it would be too time consuming
        
darts/tests/models/forecasting/test_probabilistic_models.py