Skip to contents

It estimates the MAPE of a continuous predicted-observed dataset.

Usage

MAPE(data = NULL, obs, pred, tidy = FALSE, na.rm = TRUE)

Arguments

data

(optional) argument to call an existing data frame containing the data.

obs

Vector with observed values (numeric).

pred

Vector with predicted values (numeric).

tidy

Logical operator (TRUE/FALSE) to decide the type of return. TRUE returns a data.frame, FALSE returns a list; Default : FALSE.

na.rm

Logic argument to remove rows with missing values (NA). Default is na.rm = TRUE.

Value

an object of class numeric within a list (if tidy = FALSE) or within a data frame (if tidy = TRUE).

Details

The MAPE is expressed in percentage units (independent scale), which it makes easy to explain and to compare performance across models with different response variables. MAPE is asymmetric (sensitive to axis orientation). The lower the better. As main disadvantage, MAPE produces infinite or undefined values for zero or close-to-zero observed values. For the formula and more details, see online-documentation

References

Kim & Kim (2016). A new metric of absolute percentage error for intermittent demand forecast. _Int. J. Forecast. 32, 669-679._doi:10.1016/j.ijforecast.2015.12.003

Examples

# \donttest{
set.seed(1)
X <- rnorm(n = 100, mean = 0, sd = 10)
Y <- X + rnorm(n=100, mean = 0, sd = 3)
MAPE(obs = X, pred = Y)
#> $MAPE
#> [1] 542.9795
#> 
# }