class_docstr: Forecaster that plays back known or prescribed values as forecasts.
  
  Takes a data set of "known future values" to produces these in the sktime interface.
  
  Common use cases for this forecaster:
  
  * as a dummy or naive forecaster with a known baseline expectation
  * as a forecaster with (non-naive) expert forecasts, "known" values as per expert
  * as a counterfactual in benchmarking experiments, "what if we knew the truth"
  * to pass forecast data values in a composite used for postprocessing,
    e.g., in combination with ReconcilerForecaster for an isolated reconciliation step
  
  When forecasting, uses `pandas.DataFrame.reindex` under the hood to obtain predicted
  values from `y_known`. Parameters other than `y_known` are directly passed
  on to `pandas.DataFrame.reindex`.
  
  Parameters
  ----------
  y_known : pd.DataFrame or pd.Series in one of the sktime compatible data formats
      should contain known values that the forecaster will replay in predict
      can also be in a non-pandas sktime data format, will then be coerced to pandas
  method : str or None, optional, default=None
      one of {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}
      method to use for imputing indices at which forecasts are unavailable in y_known
  fill_value : scalar, optional, default=np.NaN
      value to use for any missing values (e.g., if `method` is None)
  limit : int, optional, default=None=infinite
      maximum number of consecutive elements to bfill/ffill if `method=bfill`/`ffill`
  
  Examples
  --------
  >>> y_known = pd.DataFrame(range(100))
  >>> y_train = y_known[:24]
  >>>
  >>> from sktime.forecasting.dummy import ForecastKnownValues
  >>>
  >>> fcst = ForecastKnownValues(y_known)
  >>> fcst.fit(y_train, fh=[1, 2, 3])
  ForecastKnownValues(...)
  
  The forecast "plays back" the known/prescribed values from y_known
  
  >>> y_pred = fcst.predict()
docstr: Forecast time series at future horizon.
  
  private _predict containing the core logic, called from predict
  
  State required:
      Requires state to be "fitted".
  
  Accesses in self:
      Fitted model attributes ending in "_"
      self.cutoff
  
  Parameters
  ----------
  fh : guaranteed to be ForecastingHorizon or None, optional (default=None)
      The forecasting horizon with the steps ahead to to predict.
      If not passed in _fit, guaranteed to be passed here
  X : pd.DataFrame, optional (default=None)
      Exogenous time series
  
  Returns
  -------
  y_pred : Point predictions
docstr_tok: ["Forecast","time","series","at","future","horizon",".","private","_predict","containing","the","core","logic",",","called","from","predict","State","required",":","Requires","state","to","be","``","fitted","''",".","Accesses","in","self",":","Fitted","model","attributes","ending","in","``","_","''","self.cutoff","Parameters","--","--","--","--","--","fh",":","guaranteed","to","be","ForecastingHorizon","or","None",",","optional","(","default=None",")","The","forecasting","horizon","with","the","steps","ahead","to","to","predict",".","If","not","passed","in","_fit",",","guaranteed","to","be","passed","here","X",":","pd.DataFrame",",","optional","(","default=None",")","Exogenous","time","series","Returns","--","--","--","-","y_pred",":","Point","predictions"]
code: def _predict(self, fh, X):
      """Forecast time series at future horizon.
  
      private _predict containing the core logic, called from predict
  
      State required:
          Requires state to be "fitted".
  
      Accesses in self:
          Fitted model attributes ending in "_"
          self.cutoff
  
      Parameters
      ----------
      fh : guaranteed to be ForecastingHorizon or None, optional (default=None)
          The forecasting horizon with the steps ahead to to predict.
          If not passed in _fit, guaranteed to be passed here
      X : pd.DataFrame, optional (default=None)
          Exogenous time series
  
      Returns
      -------
      y_pred : Point predictions
      """
      reindex_params = {"method": self.method, "limit": self.limit}
      if self.fill_value is not None:
          reindex_params["fill_value"] = self.fill_value
  
      fh_abs = fh.to_absolute_index(self.cutoff)
  
      try:
          y_pred = self._y_known.reindex(fh_abs, **reindex_params)
          y_pred = y_pred.reindex(
              self._y.columns, axis=1, **reindex_params
          )
      # TypeError happens if indices are incompatible types
      except TypeError:
          if self.fill_value is None:
              y_pred = pd.DataFrame(
                  index=fh_abs, columns=self._y.columns
              )
          else:
              y_pred = pd.DataFrame(
                  self.fill_value, index=fh_abs, columns=self._y.columns
              )
  
      return y_pred
  
file_path: sktime/sktime/forecasting/dummy.py
imports: import pandas
  from sktime.datatypes import convert_to
  from sktime.forecasting.base import BaseForecaster
label_desc: Use image node_id 3 for calling the ForecastKnownValues obj's underlying member method code with example usage: obj._predict(fh, X) and returns: y_pred