Mean percentage error
Calculate the mean percentage error. This metric is in relative
units. It can be used as a measure of the estimate
's bias.
Note that if any truth
values are 0
, a value of:
-Inf
(estimate > 0
), Inf
(estimate < 0
), or NaN
(estimate == 0
)
is returned for mpe()
.
mpe(data, ...) ## S3 method for class 'data.frame' mpe(data, truth, estimate, na_rm = TRUE, ...) mpe_vec(truth, estimate, na_rm = TRUE, ...)
data |
A |
... |
Not currently used. |
truth |
The column identifier for the true results
(that is |
estimate |
The column identifier for the predicted
results (that is also |
na_rm |
A |
A tibble
with columns .metric
, .estimator
,
and .estimate
and 1 row of values.
For grouped data frames, the number of rows returned will be the same as the number of groups.
For mpe_vec()
, a single numeric
value (or NA
).
Thomas Bierhance
Other accuracy metrics:
ccc()
,
huber_loss_pseudo()
,
huber_loss()
,
iic()
,
mae()
,
mape()
,
mase()
,
msd()
,
rmse()
,
smape()
# `solubility_test$solubility` has zero values with corresponding # `$prediction` values that are negative. By definition, this causes `Inf` # to be returned from `mpe()`. solubility_test[solubility_test$solubility == 0,] mpe(solubility_test, solubility, prediction) # We'll remove the zero values for demonstration solubility_test <- solubility_test[solubility_test$solubility != 0,] # Supply truth and predictions as bare column names mpe(solubility_test, solubility, prediction) library(dplyr) set.seed(1234) size <- 100 times <- 10 # create 10 resamples solubility_resampled <- bind_rows( replicate( n = times, expr = sample_n(solubility_test, size, replace = TRUE), simplify = FALSE ), .id = "resample" ) # Compute the metric by group metric_results <- solubility_resampled %>% group_by(resample) %>% mpe(solubility, prediction) metric_results # Resampled mean estimate metric_results %>% summarise(avg_estimate = mean(.estimate))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.