code: def _predict(
      self,
      n: int,
      future_covariates: Optional[TimeSeries] = None,
      num_samples: int = 1,
      verbose: bool = False,
  ):
      super()._predict(n, future_covariates, num_samples)
      forecast_dict = self.model.predict(
          h=n,
          X=future_covariates.values(copy=False)
          if future_covariates
          else None,
          level=(
              one_sigma_rule,
          ),  # ask one std for the confidence interval.
      )
  
      mu, std = unpack_sf_dict(forecast_dict)
      if num_samples > 1:
          samples = create_normal_samples(mu, std, num_samples, n)
      else:
          samples = mu
  
      return self._build_forecast_series(samples)
  
file_path: darts/darts/models/forecasting/sf_auto_arima.py
imports: from typing import Optional
  from statsforecast.models import AutoARIMA
  from darts import TimeSeries
  from darts.models.components.statsforecast_utils import create_normal_samples, one_sigma_rule, unpack_sf_dict
  from darts.models.forecasting.forecasting_model import FutureCovariatesLocalForecastingModel
label_desc: Use image node_id 3 for calling the StatsForecastAutoARIMA obj's underlying member method code with example usage: obj._predict(n, future_covariates, num_samples, verbose) and returns: self