class_docstr: Custom forecaster. todo: write docstring.
  
  todo: describe your custom forecaster here
  
  Parameters
  ----------
  parama : int
      descriptive explanation of parama
  paramb : string, optional (default='default')
      descriptive explanation of paramb
  paramc : boolean, optional (default= whether paramb is not the default)
      descriptive explanation of paramc
  and so on
docstr: Fit forecaster to training data.
  
  private _fit containing the core logic, called from fit
  
  Writes to self:
      Sets fitted model attributes ending in "_".
  
  Parameters
  ----------
  y : pd.DataFrame
      if self.get_tag("scitype:y")=="univariate":
          guaranteed to have a single column
      if self.get_tag("scitype:y")=="both": no restrictions apply
  fh : guaranteed to be ForecastingHorizon or None, optional (default=None)
      The forecasting horizon with the steps ahead to to predict.
      Required (non-optional) here.
  X : pd.DataFrame, optional (default=None)
      Exogeneous time series to fit to.
  
  Returns
  -------
  self : reference to self
docstr_tok: ["Fit","forecaster","to","training","data",".","private","_fit","containing","the","core","logic",",","called","from","fit","Writes","to","self",":","Sets","fitted","model","attributes","ending","in","``","_","''",".","Parameters","--","--","--","--","--","y",":","pd.DataFrame","if","self.get_tag","(","``","scitype",":","y","''",")","==","''","univariate","''",":","guaranteed","to","have","a","single","column","if","self.get_tag","(","``","scitype",":","y","''",")","==","''","both","''",":","no","restrictions","apply","fh",":","guaranteed","to","be","ForecastingHorizon","or","None",",","optional","(","default=None",")","The","forecasting","horizon","with","the","steps","ahead","to","to","predict",".","Required","(","non-optional",")","here",".","X",":","pd.DataFrame",",","optional","(","default=None",")","Exogeneous","time","series","to","fit","to",".","Returns","--","--","--","-","self",":","reference","to","self"]
code: def _fit(self, y, X=None, fh=None):
      """Fit forecaster to training data.
  
      private _fit containing the core logic, called from fit
  
      Writes to self:
          Sets fitted model attributes ending in "_".
  
      Parameters
      ----------
      y : pd.DataFrame
          if self.get_tag("scitype:y")=="univariate":
              guaranteed to have a single column
          if self.get_tag("scitype:y")=="both": no restrictions apply
      fh : guaranteed to be ForecastingHorizon or None, optional (default=None)
          The forecasting horizon with the steps ahead to to predict.
          Required (non-optional) here.
      X : pd.DataFrame, optional (default=None)
          Exogeneous time series to fit to.
  
      Returns
      -------
      self : reference to self
      """
      # any model parameters should be written to attributes ending in "_"
      #  attributes set by the constructor must not be overwritten
      #
      # todo:
      # insert logic here
      # self.fitted_model_param_ = sthsth
      #
      return self
  
imports: from sktime.forecasting.base import BaseForecaster
label_desc: Use image node_id 2 for calling the MyForecaster obj's underlying member method code with example usage: obj._fit(y, X, fh) and returns: self