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
  est : sktime.estimator, BaseEstimator descendant
      descriptive explanation of est
  est2: another estimator
      descriptive explanation of est2
  and so on
class_docstr_tok: ["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","est",":","sktime.estimator",",","BaseEstimator","descendant","descriptive","explanation","of","est","est2",":","another","estimator","descriptive","explanation","of","est2","and","so","on"]
docstr: Compute/return fully probabilistic forecasts.
  
  private _predict_proba containing the core logic, called from predict_proba
  
  Parameters
  ----------
  fh : int, list, np.array or ForecastingHorizon (not optional)
      The forecasting horizon encoding the time stamps to forecast at.
      if has not been passed in fit, must be passed, not optional
  X : sktime time series object, optional (default=None)
          Exogeneous time series for the forecast
      Should be of same scitype (Series, Panel, or Hierarchical) as y in fit
      if self.get_tag("X-y-must-have-same-index"),
          X.index must contain fh.index and y.index both
  marginal : bool, optional (default=True)
      whether returned distribution is marginal by time index
  
  Returns
  -------
  pred_dist : sktime BaseDistribution
      predictive distribution
      if marginal=True, will be marginal distribution by time point
      if marginal=False and implemented by method, will be joint
docstr_tok: ["Compute\/return","fully","probabilistic","forecasts",".","private","_predict_proba","containing","the","core","logic",",","called","from","predict_proba","Parameters","--","--","--","--","--","fh",":","int",",","list",",","np.array","or","ForecastingHorizon","(","not","optional",")","The","forecasting","horizon","encoding","the","time","stamps","to","forecast","at",".","if","has","not","been","passed","in","fit",",","must","be","passed",",","not","optional","X",":","sktime","time","series","object",",","optional","(","default=None",")","Exogeneous","time","series","for","the","forecast","Should","be","of","same","scitype","(","Series",",","Panel",",","or","Hierarchical",")","as","y","in","fit","if","self.get_tag","(","``","X-y-must-have-same-index","''",")",",","X.index","must","contain","fh.index","and","y.index","both","marginal",":","bool",",","optional","(","default=True",")","whether","returned","distribution","is","marginal","by","time","index","Returns","--","--","--","-","pred_dist",":","sktime","BaseDistribution","predictive","distribution","if","marginal=True",",","will","be","marginal","distribution","by","time","point","if","marginal=False","and","implemented","by","method",",","will","be","joint"]
code: def _predict_proba(self, fh, X, marginal=True):
      """Compute/return fully probabilistic forecasts.
  
      private _predict_proba containing the core logic, called from predict_proba
  
      Parameters
      ----------
      fh : int, list, np.array or ForecastingHorizon (not optional)
          The forecasting horizon encoding the time stamps to forecast at.
          if has not been passed in fit, must be passed, not optional
      X : sktime time series object, optional (default=None)
              Exogeneous time series for the forecast
          Should be of same scitype (Series, Panel, or Hierarchical) as y in fit
          if self.get_tag("X-y-must-have-same-index"),
              X.index must contain fh.index and y.index both
      marginal : bool, optional (default=True)
          whether returned distribution is marginal by time index
  
      Returns
      -------
      pred_dist : sktime BaseDistribution
          predictive distribution
          if marginal=True, will be marginal distribution by time point
          if marginal=False and implemented by method, will be joint
      """
  
file_path: sktime/extension_templates/forecasting.py
imports: from sktime.forecasting.base import BaseForecaster
label_desc: Use image node_id 9 for calling the MyForecaster obj's underlying member method code with example usage: obj._predict_proba(fh, X, marginal) without return types