Percent Bias between `sim`

and `obs`

, with treatment of missing values.

1 2 3 4 5 6 7 8 9 10 11 12 13 |

`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.

`gof`

, `ggof`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ```
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)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.