code: def fit(
      self,
      series: Union[TimeSeries, Sequence[TimeSeries]],
      past_covariates: Optional[
          Union[TimeSeries, Sequence[TimeSeries]]
      ] = None,
      future_covariates: Optional[
          Union[TimeSeries, Sequence[TimeSeries]]
      ] = None,
  ):
      super().fit(
          series=series,
          past_covariates=past_covariates,
          future_covariates=future_covariates,
      )
      if self.train_forecasting_models:
          for model in self.forecasting_models:
              model._fit_wrapper(
                  series=series,
                  past_covariates=past_covariates
                  if model.supports_past_covariates
                  else None,
                  future_covariates=future_covariates
                  if model.supports_future_covariates
                  else None,
              )
  
      return self
  
imports: from typing import List, Optional, Sequence, Union
  import numpy
  from darts.logging import get_logger, raise_if, raise_if_not
  from darts.models.forecasting.ensemble_model import EnsembleModel
  from darts.models.forecasting.forecasting_model import ForecastingModel, LocalForecastingModel
  from darts.timeseries import TimeSeries
label_desc: Use image node_id 2 for calling the NaiveEnsembleModel obj's underlying member method code with example usage: obj.fit(series, past_covariates, future_covariates) and returns: self