pyemu.utils.metrics
Module Contents
Functions
|
Calculate the Nash-Sutcliffe Efficiency |
|
Calculate the Normalized Nash-Sutcliffe Efficiency |
|
Calculate the Mean Absolute Error |
|
Calculate Standard Error as defined in TSPROC manual |
|
Calculate Relative Standard Error as defined in TSPROC manual |
|
Calculate Volumetric Efficiency as defined in TSPROC manual |
|
Calculate the Mean Squared Error |
|
Calculate the Root Mean Squared Error |
|
Calculate the Normalized Root Mean Squared Error |
|
Calculate the Normalized Root Mean Squared Error |
|
Calculate the Normalized Root Mean Squared Error |
|
Calculate the Normalized Root Mean Squared Error |
|
Calculate the percent bias |
|
Calculate Bias as defined in TSPROC manual |
|
Calculate Relative Bias as defined in TSPROC manual |
|
Calculate the Kling-Gupta Efficiency (KGE) |
|
Calculates unweighted metrics to quantify fit to observations for residuals |
|
Calculates unweighted metrics to quantify fit to observations for ensemble members |
Attributes
- pyemu.utils.metrics._NSE(obs, mod)
Calculate the Nash-Sutcliffe Efficiency (https://www.sciencedirect.com/science/article/pii/0022169470902556?via%3Dihub) :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Nash-Sutcliffe Efficiency
- Return type:
NSE
- pyemu.utils.metrics._NNSE(obs, mod)
Calculate the Normalized Nash-Sutcliffe Efficiency (https://meetingorganizer.copernicus.org/EGU2012/EGU2012-237.pdf) :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Nash-Sutcliffe Efficiency
- Return type:
NSE
- pyemu.utils.metrics._MAE(mod, obs)
Calculate the Mean Absolute Error :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Mean Absolute Error
- Return type:
MAE
- pyemu.utils.metrics._STANDARD_ERROR(mod, obs)
Calculate Standard Error as defined in TSPROC manual https://pubs.usgs.gov/tm/tm7c7/pdf/TM7_C7_112712.pdf
- Parameters:
obs – numpy array of observed values
mod – numpy array of modeled values
- pyemu.utils.metrics._RELATIVE_STANDARD_ERROR(mod, obs)
Calculate Relative Standard Error as defined in TSPROC manual https://pubs.usgs.gov/tm/tm7c7/pdf/TM7_C7_112712.pdf
- Parameters:
obs – numpy array of observed values
mod – numpy array of modeled values
- pyemu.utils.metrics._VOLUMETRIC_EFFICIENCY(mod, obs)
Calculate Volumetric Efficiency as defined in TSPROC manual https://pubs.usgs.gov/tm/tm7c7/pdf/TM7_C7_112712.pdf
- Parameters:
obs – numpy array of observed values
mod – numpy array of modeled values
- pyemu.utils.metrics._MSE(mod, obs)
Calculate the Mean Squared Error :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Mean Squared Error
- Return type:
MSE
- pyemu.utils.metrics._RMSE(mod, obs)
Calculate the Root Mean Squared Error :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Root Mean Squared Error
- Return type:
RMSE
- pyemu.utils.metrics._NRMSE_SD(mod, obs)
Calculate the Normalized Root Mean Squared Error normalized by observation standard deviation https://www.marinedatascience.co/blog/2019/01/07/normalizing-the-rmse/ :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Root Mean Squared Error normalized by observation standard deviation
- Return type:
NRMSE_SD
- pyemu.utils.metrics._NRMSE_MEAN(mod, obs)
Calculate the Normalized Root Mean Squared Error normalized by observation mean https://www.marinedatascience.co/blog/2019/01/07/normalizing-the-rmse/ :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Root Mean Squared Error normalized by observation mean
- Return type:
NRMSE_SD
- pyemu.utils.metrics._NRMSE_IQ(mod, obs)
Calculate the Normalized Root Mean Squared Error normalized by observation interquartile range https://www.marinedatascience.co/blog/2019/01/07/normalizing-the-rmse/ :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Root Mean Squared Error normalized by observation interquartile range
- Return type:
NRMSE_SD
- pyemu.utils.metrics._NRMSE_MAXMIN(mod, obs)
Calculate the Normalized Root Mean Squared Error normalized by observation max - min https://www.marinedatascience.co/blog/2019/01/07/normalizing-the-rmse/ :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Root Mean Squared Error normalized by observation max - min
- Return type:
NRMSE_SD
- pyemu.utils.metrics._PBIAS(mod, obs)
Calculate the percent bias :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Percent Bias
- Return type:
PBIAS
- pyemu.utils.metrics._BIAS(mod, obs)
Calculate Bias as defined in TSPROC manual https://pubs.usgs.gov/tm/tm7c7/pdf/TM7_C7_112712.pdf
- Parameters:
obs – numpy array of observed values
mod – numpy array of modeled values
- pyemu.utils.metrics._RELATIVE_BIAS(mod, obs)
Calculate Relative Bias as defined in TSPROC manual https://pubs.usgs.gov/tm/tm7c7/pdf/TM7_C7_112712.pdf
- Parameters:
obs – numpy array of observed values
mod – numpy array of modeled values
- pyemu.utils.metrics._KGE(mod, obs)
Calculate the Kling-Gupta Efficiency (KGE) (https://www.sciencedirect.com/science/article/pii/S0022169409004843) :param obs: numpy array of observed values :param mod: numpy array of modeled values
- Returns:
Kling-Gupta Efficiency
- Return type:
KGE
- pyemu.utils.metrics.ALLMETRICS
- pyemu.utils.metrics.calc_metric_res(res, metric='all', bygroups=True, drop_zero_weight=True)
Calculates unweighted metrics to quantify fit to observations for residuals
- Parameters:
res (pandas DataFrame or filename) – DataFrame read from a residuals file or filename
metric (list of str) – metric to calculate (PBIAS, RMSE, MSE, NSE, MAE, NRMSE_SD, NRMSE_MEAN, NRMSE_IQ, NRMSE_MAXMIN) case insensitive Defaults to ‘all’ which calculates all available metrics
bygroups (Bool) – Flag to summarize by groups or not. Defaults to True.
drop_zero_weight (Bool) – flag to exclude zero-weighted observations
- Returns:
single row. Columns are groups. Content is requested metrics
- Return type:
pandas.DataFrame
- pyemu.utils.metrics.calc_metric_ensemble(ens, pst, metric='all', bygroups=True, subset_realizations=None, drop_zero_weight=True)
Calculates unweighted metrics to quantify fit to observations for ensemble members
- Parameters:
ens (pandas DataFrame) – DataFrame read from an observation
pst (pyemu.Pst object) – needed to obtain observation values and weights
metric (list of str) – metric to calculate (PBIAS, RMSE, MSE, NSE, MAE, NRMSE_SD, NRMSE_MEAN, NRMSE_IQ, NRMSE_MAXMIN) case insensitive Defaults to ‘all’ which calculates all available metrics
bygroups (Bool) – Flag to summarize by groups or not. Defaults to True.
subset_realizations (iterable, optional) – Subset of realizations for which to report metric. Defaults to None which returns all realizations.
drop_zero_weight (Bool) – flag to exclude zero-weighted observations
- Returns:
rows are realizations. Columns are groups. Content is requested metrics
- Return type:
pandas.DataFrame