pastas.stats.metrics.evp ======================== .. py:function:: pastas.stats.metrics.evp(obs: pandas.Series, sim: pandas.Series | None = None, res: pandas.Series | None = None, missing: str = 'drop', weighted: bool = False, max_gap: int = 30) -> float Compute the (weighted) Explained Variance Percentage (EVP). :param obs: Series with the observed values. :type obs: pandas.Series :param sim: The Series with the simulated values. :type sim: 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: If weighted is True, the variances are computed using the time step between observations as weights. Default is False. :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 Commonly used goodness-of-fit metric groundwater level models as computed in :cite:t:`von_asmuth_groundwater_2012`. .. math:: \text{EVP} = \frac{\sigma_h^2 - \sigma_r^2}{\sigma_h^2} * 100 where :math:`\sigma_h^2` is the variance of the observations and :math:`\sigma_r^2` is the variance of the errors. The returned value is bounded between 0% and 100%. .. !! processed by numpydoc !!