Computes the rmse or normalized rmse (nrmse) between two numeric vectors of the same length representing observations and model predictions.

root_mean_squared_error(
  o,
  p,
  normalization = c("rmse", "all", "mean", "sd", "maxmin", "iq")
)

Arguments

o

Numeric vector with observations, must have the same length as p.

p

Numeric vector with predictions, must have the same length as o.

normalization

character, normalization method, Default: "rmse" (see Details).

Value

Named numeric vector with either one or 5 values, as selected by the user.

Details

The normalization methods go as follows:

  • "rmse": RMSE with no normalization.

  • "mean": RMSE dividied by the mean of the observations (rmse/mean(o)).

  • "sd": RMSE dividied by the standard deviation of the observations (rmse/sd(o)).

  • "maxmin": RMSE divided by the range of the observations (rmse/(max(o) - min(o))).

  • "iq": RMSE divided by the interquartile range of the observations (rmse/(quantile(o, 0.75) - quantile(o, 0.25)))

Examples

if(interactive()){ root_mean_squared_error( o = runif(10), p = runif(10) ) }