msd | R Documentation |
Mean signed deviation (also known as mean signed difference, or mean signed
error) computes the average differences between truth
and estimate
. A
related metric is the mean absolute error (mae()
).
msd(data, ...)
## S3 method for class 'data.frame'
msd(data, truth, estimate, na_rm = TRUE, case_weights = NULL, ...)
msd_vec(truth, estimate, na_rm = TRUE, case_weights = NULL, ...)
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 |
case_weights |
The optional column identifier for case weights. This
should be an unquoted column name that evaluates to a numeric column in
|
Mean signed deviation is rarely used, since positive and negative errors
cancel each other out. For example, msd_vec(c(100, -100), c(0, 0))
would
return a seemingly "perfect" value of 0
, even though estimate
is wildly
different from truth
. mae()
attempts to remedy this by taking the
absolute value of the differences before computing the mean.
This metric is computed as mean(truth - estimate)
, following the convention
that an "error" is computed as observed - predicted
. If you expected this
metric to be computed as mean(estimate - truth)
, reverse the sign of the
result.
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 msd_vec()
, a single numeric
value (or NA
).
Thomas Bierhance
Other numeric metrics:
ccc()
,
huber_loss_pseudo()
,
huber_loss()
,
iic()
,
mae()
,
mape()
,
mase()
,
mpe()
,
poisson_log_loss()
,
rmse()
,
rpd()
,
rpiq()
,
rsq_trad()
,
rsq()
,
smape()
Other accuracy metrics:
ccc()
,
huber_loss_pseudo()
,
huber_loss()
,
iic()
,
mae()
,
mape()
,
mase()
,
mpe()
,
poisson_log_loss()
,
rmse()
,
smape()
# Supply truth and predictions as bare column names
msd(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) %>%
msd(solubility, prediction)
metric_results
# Resampled mean estimate
metric_results %>%
summarise(avg_estimate = mean(.estimate))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.