pastas.stats.metrics.mae ======================== .. py:function:: pastas.stats.metrics.mae(obs: pandas.Series | None = None, sim: pandas.Series | None = None, res: pandas.Series | None = None, missing: str = 'drop', weighted: bool = False, max_gap: int = 30) -> float Compute the (weighted) Mean Absolute Error (MAE). :param sim: Series with the simulated values. :type sim: pandas.Series, optional :param obs: The Series with the observed values. :type obs: pandas.Series, optional :param res: The Series with the residual values. If time series for the residuals are provided, the sim and obs arguments are ignored. Note that the residuals must be computed as `obs - sim` here. :type res: pandas.Series, optional :param missing: string with the rule to deal with missing values. Only "drop" is supported now. :type missing: str, optional :param weighted: Weight the values by the normalized time step to account for irregular time series. Default is True. :type weighted: bool, optional :param max_gap: maximum allowed gap period in days to use for the computation of the weights. All time steps larger than max_gap are replace with the max_gap value. Default value is 30 days. :type max_gap: int, optional .. rubric:: Notes The Mean Absolute Error (MAE) between the observed (:math:`y_o`) and simulated (:math:`y_s`) time series is computed as follows: .. math:: \text{MAE} = \sum_{i=1}^{N} w_i |y_s - y_o| where :math:`N` is the number of observations in the observed time series. .. !! processed by numpydoc !!