Modified Nash-Sutcliffe efficiency
Modified Nash-Sutcliffe efficiency between sim
and obs
, with treatment of missing values.
mNSE(sim, obs, ...) ## Default S3 method: mNSE(sim, obs, j=1, na.rm=TRUE, ...) ## S3 method for class 'data.frame' mNSE(sim, obs, j=1, na.rm=TRUE, ...) ## S3 method for class 'matrix' mNSE(sim, obs, j=1, na.rm=TRUE, ...) ## S3 method for class 'zoo' mNSE(sim, obs, j=1, na.rm=TRUE, ...)
sim |
numeric, zoo, matrix or data.frame with simulated values |
obs |
numeric, zoo, matrix or data.frame with observed values |
j |
numeric, with the exponent to be used in the computation of the modified Nash-Sutcliffe efficiency. The default value is |
na.rm |
a logical value indicating whether 'NA' should be stripped before the computation proceeds. |
... |
further arguments passed to or from other methods. |
mNSE = 1 - ( sum( abs(obs - sim)^j ) / sum( abs(obs - mean(obs))^j )
When j=1
, the modified NSeff is not inflated by the squared values of the differences, because the squares are replaced by absolute values.
Modified Nash-Sutcliffe efficiency between sim
and obs
.
If sim
and obs
are matrixes, the returned value is a vector, with the modified Nash-Sutcliffe efficiency between each column of sim
and obs
.
obs
and sim
has to have the same length/dimension
The missing values in obs
and sim
are removed before the computation proceeds, and only those positions with non-missing values in obs
and sim
are considered in the computation
Mauricio Zambrano Bigiarini <mzb.devel@gmail.com>
Krause, P., Boyle, D. P., and Base, F.: Comparison of different efficiency criteria for hydrological model assessment, Adv. Geosci., 5, 89-97, 2005
Legates, D. R., and G. J. McCabe Jr. (1999), Evaluating the Use of "Goodness-of-Fit" Measures in Hydrologic and Hydroclimatic Model Validation, Water Resour. Res., 35(1), 233-241
sim <- 1:10 obs <- 1:10 mNSE(sim, obs) sim <- 2:11 obs <- 1:10 mNSE(sim, obs) ################## # Loading daily streamflows of the Ega River (Spain), from 1961 to 1970 data(EgaEnEstellaQts) obs <- EgaEnEstellaQts # Generating a simulated daily time series, initially equal to the observed series sim <- obs # Computing the 'mNSE' for the "best" (unattainable) case mNSE(sim=sim, obs=obs) # Randomly changing the first 2000 elements of 'sim', by using a normal distribution # with mean 10 and standard deviation equal to 1 (default of 'rnorm'). sim[1:2000] <- obs[1:2000] + rnorm(2000, mean=10) # Computing the new 'mNSE' mNSE(sim=sim, obs=obs)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.