class_docstr: Base class for probabilistic forecasting error metrics in sktime.
  
  Extends sktime's BaseMetric to the forecasting interface. Forecasting error
  metrics measure the error (loss) between forecasts and true values. Lower
  values are better.
  
  Parameters
  ----------
  multioutput : {'raw_values', 'uniform_average'}  or array-like of shape             (n_outputs,), default='uniform_average'
      Defines how to aggregate metric for multivariate (multioutput) data.
      If array-like, values used as weights to average the errors.
      If 'raw_values', returns a full set of errors in case of multioutput input.
      If 'uniform_average', errors of all outputs are averaged with uniform weight.
  score_average : bool, optional, default=True
      for interval and quantile losses only
          if True, metric/loss is averaged by upper/lower and/or quantile
          if False, metric/loss is not averaged by upper/lower and/or quantile
class_docstr_tok: ["Base","class","for","probabilistic","forecasting","error","metrics","in","sktime",".","Extends","sktime","'s","BaseMetric","to","the","forecasting","interface",".","Forecasting","error","metrics","measure","the","error","(","loss",")","between","forecasts","and","true","values",".","Lower","values","are","better",".","Parameters","--","--","--","--","--","multioutput",":","{","'raw_values","'",",","'uniform_average","'","}","or","array-like","of","shape","(","n_outputs",",",")",",","default='uniform_average'","Defines","how","to","aggregate","metric","for","multivariate","(","multioutput",")","data",".","If","array-like",",","values","used","as","weights","to","average","the","errors",".","If","'raw_values","'",",","returns","a","full","set","of","errors","in","case","of","multioutput","input",".","If","'uniform_average","'",",","errors","of","all","outputs","are","averaged","with","uniform","weight",".","score_average",":","bool",",","optional",",","default=True","for","interval","and","quantile","losses","only","if","True",",","metric\/loss","is","averaged","by","upper\/lower","and\/or","quantile","if","False",",","metric\/loss","is","not","averaged","by","upper\/lower","and\/or","quantile"]
docstr: Logic for finding the metric evaluated at each index.
  
  By default this uses _evaluate to find jackknifed pseudosamples. This
  estimates the error at each of the time points.
  
  Parameters
  ----------
  y_true : pd.Series, pd.DataFrame or np.array of shape (fh,) or             (fh, n_outputs) where fh is the forecasting horizon
  Ground truth (correct) target values.
  
  y_pred : pd.Series, pd.DataFrame or np.array of shape (fh,) or              (fh, n_outputs)  where fh is the forecasting horizon
      Forecasted values.
  
  multioutput : string "uniform_average" or "raw_values" determines how             multioutput results will be treated.
docstr_tok: ["Logic","for","finding","the","metric","evaluated","at","each","index",".","By","default","this","uses","_evaluate","to","find","jackknifed","pseudosamples",".","This","estimates","the","error","at","each","of","the","time","points",".","Parameters","--","--","--","--","--","y_true",":","pd.Series",",","pd.DataFrame","or","np.array","of","shape","(","fh",",",")","or","(","fh",",","n_outputs",")","where","fh","is","the","forecasting","horizon","Ground","truth","(","correct",")","target","values",".","y_pred",":","pd.Series",",","pd.DataFrame","or","np.array","of","shape","(","fh",",",")","or","(","fh",",","n_outputs",")","where","fh","is","the","forecasting","horizon","Forecasted","values",".","multioutput",":","string","``","uniform_average","''","or","``","raw_values","''","determines","how","multioutput","results","will","be","treated","."]
code: def _evaluate_by_index(self, y_true, y_pred, multioutput, **kwargs):
      """Logic for finding the metric evaluated at each index.
  
          By default this uses _evaluate to find jackknifed pseudosamples. This
          estimates the error at each of the time points.
  
          Parameters
          ----------
          y_true : pd.Series, pd.DataFrame or np.array of shape (fh,) or \
              (fh, n_outputs) where fh is the forecasting horizon
          Ground truth (correct) target values.
  
          y_pred : pd.Series, pd.DataFrame or np.array of shape (fh,) or  \
              (fh, n_outputs)  where fh is the forecasting horizon
              Forecasted values.
  
          multioutput : string "uniform_average" or "raw_values" determines how \
              multioutput results will be treated.
          """
      n = y_true.shape[0]
      out_series = pd.Series(index=y_pred.index)
      try:
          x_bar = self.evaluate(y_true, y_pred, multioutput, **kwargs)
          for i in range(n):
              out_series[i] = n * x_bar - (n - 1) * self.evaluate(
                  np.vstack(
                      (y_true[:i, :], y_true[i + 1 :, :])
                  ),  # noqa
                  np.vstack(
                      (y_pred[:i, :], y_pred[i + 1 :, :])
                  ),  # noqa
                  multioutput,
                  **kwargs,
              )
          return out_series
      except RecursionError:
          raise RecursionError(
              "Must implement one of _evaluate or _evaluate_by_index"
          )
  
imports: from logging import warning
  import numpy
  import pandas
  from pandas.api.types import is_numeric_dtype
  from sklearn.utils import check_array, check_consistent_length
  from sktime.datatypes import check_is_scitype, convert, convert_to
  from sktime.performance_metrics.forecasting._classes import BaseForecastingErrorMetric
  from sktime.performance_metrics.forecasting._coerce import _coerce_to_scalar
label_desc: Use image node_id 6 for calling the _BaseProbaForecastingErrorMetric obj's underlying member method code with example usage: obj._evaluate_by_index(y_true, y_pred, multioutput) and returns: out_series