mae {hydroGOF} | R Documentation |
Mean absolute error between sim
and obs
, in the same units of them, with treatment of missing values.
mae(sim, obs, ...) ## Default S3 method: mae(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'data.frame' mae(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'matrix' mae(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'zoo' mae(sim, obs, na.rm=TRUE, ...)
sim |
numeric, zoo, matrix or data.frame with simulated values |
obs |
numeric, zoo, matrix or data.frame with observed values |
na.rm |
a logical value indicating whether 'NA' should be stripped before the computation proceeds. |
... |
further arguments passed to or from other methods. |
mae = mean( abs(sim - obs), na.rm = TRUE)
Mean absolute error between sim
and obs
.
If sim
and obs
are matrixes, the returned value is a vector, with the mean absolute error between each column of sim
and obs
.
obs
and sim
have 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>
http://en.wikipedia.org/wiki/Mean_absolute_error
obs <- 1:10 sim <- 1:10 mae(sim, obs) obs <- 1:10 sim <- 2:11 mae(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 mean absolute error for the "best" case mae(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 mean absolute error mae(sim=sim, obs=obs)