Percent Bias
Percent Bias between sim
and obs
, with treatment of missing values.
pbias(sim, obs, ...) ## Default S3 method: pbias(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'data.frame' pbias(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'matrix' pbias(sim, obs, na.rm=TRUE, ...) ## S3 method for class 'zoo' pbias(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. |
PBIAS = 100 * [ sum( sim - obs ) / sum( obs ) ]
Percent bias (PBIAS) measures the average tendency of the simulated values to be larger or smaller than their observed ones.
The optimal value of PBIAS is 0.0, with low-magnitude values indicating accurate model simulation. Positive values indicate overestimation bias, whereas negative values indicate model underestimation bias
Percent bias between sim
and obs
. The result is given in percentage (%)
If sim
and obs
are matrixes, the returned value is a vector, with the percent bias 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>
Yapo P. O., Gupta H. V., Sorooshian S., 1996. Automatic calibration of conceptual rainfall-runoff models: sensitivity to calibration data. Journal of Hydrology. v181 i1-4. 23-48
Sorooshian, S., Q. Duan, and V. K. Gupta. 1993. Calibration of rainfall-runoff models: Application of global optimization to the Sacramento Soil Moisture Accounting Model, Water Resources Research, 29 (4), 1185-1194, doi:10.1029/92WR02617.
obs <- 1:10 sim <- 1:10 pbias(sim, obs) obs <- 1:10 sim <- 2:11 pbias(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 'pbias' for the "best" case pbias(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 'pbias' pbias(sim=sim, obs=obs)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.