class_docstr: Accumulator which maintains summary statistics describing a forecasting
  algorithm's performance. Can be used to compute many different forecasting metrics.
docstr: Mean Absolute Error (MAE)
  
  For ground truth time series :math:`y` and predicted time series :math:`\hat{y}`
  of length :math:`T`, it is computed as
  
  ..  math:: \frac{1}{T}\sum_{t=1}^T{(|y_t - \hat{y}_t|)}.
docstr_tok: ["Mean","Absolute","Error","(","MAE",")","For","ground","truth","time","series",":","math",":","`","y","`","and","predicted","time","series",":","math",":","`","\\hat","{","y","}","`","of","length",":","math",":","`","T","`",",","it","is","computed","as","..","math",":",":","\\frac","{","1","}","{","T","}","\\sum_","{","t=1","}","^T","{","(","|y_t","-","\\hat","{","y","}","_t|",")","}","."]
code: def mae(self):
      """
      Mean Absolute Error (MAE)
  
      For ground truth time series :math:`y` and predicted time series :math:`\\hat{y}`
      of length :math:`T`, it is computed as
  
      ..  math:: \\frac{1}{T}\\sum_{t=1}^T{(|y_t - \\hat{y}_t|)}.
      """
      self.check_before_eval()
      predict_values = self.predict.univariates[
          self.predict.names[0]
      ].np_values
      ground_truth_values = self.ground_truth.univariates[
          self.ground_truth.names[0]
      ].np_values
      return np.mean(np.abs(ground_truth_values - predict_values))
  
imports: from enum import Enum
  from functools import partial
  from typing import List, Union, Tuple
  import warnings
  import numpy
  import pandas
  from merlion.evaluate.base import EvaluatorBase, EvaluatorConfig
  from merlion.models.forecast.base import ForecasterBase
  from merlion.utils import TimeSeries, UnivariateTimeSeries
  from merlion.utils.resample import to_offset
label_desc: Use image node_id 3 for calling the ForecastScoreAccumulator obj's underlying member method code with example usage: obj.mae() and returns: np