aperr_sf: Absolute percentage error scoring function

View source: R/aperr_sf.R

aperr_sfR Documentation

Absolute percentage error scoring function

Description

The function aperr_sf computes the absolute percentage error scoring function when y materialises and x is the predictive \textnormal{med}^{(-1)}(F) functional.

The absolute percentage error scoring function is defined in Table 1 in Gneiting (2011).

Usage

aperr_sf(x, y)

Arguments

x

Predictive \textnormal{med}^{(-1)}(F) functional (prediction). It can be a vector of length n (must have the same length as y).

y

Realisation (true value) of process. It can be a vector of length n (must have the same length as x).

Details

The absolute percentage error scoring function is defined by:

S(x, y) := |(x - y)/y|

Domain of function:

x > 0

y > 0

Range of function:

S(x, y) \geq 0, \forall x, y > 0

Value

Vector of absolute percentage errors.

Note

For details on the absolute percentage error scoring function, see Gneiting (2011).

The \beta-median functional, \textnormal{med}^{(\beta)}(F) is the median of a probability distribution whose density is proportional to y^\beta f(y), where f is the density of the probability distribution F of y (Gneiting 2011).

The absolute percentage error scoring function is negatively oriented (i.e. the smaller, the better).

The absolute percentage error scoring function is strictly \mathbb{F}^{(w)}-consistent for the \textnormal{med}^{(-1)}(F) functional. \mathbb{F} is the family of probability distributions for which \textnormal{E}_F[Y] exists and is finite. \mathbb{F}^{(w)} is the subclass of probability distributions in \mathbb{F}, which are such that w(y) f(y), w(y) = 1/y has finite integral over (0, \infty), and the probability distribution F^{(w)} with density proportional to w(y) f(y) belongs to \mathbb{F} (see Theorems 5 and 9 in Gneiting 2011).

References

Gneiting T (2011) Making and evaluating point forecasts. Journal of the American Statistical Association 106(494):746–762. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1198/jasa.2011.r10138")}.

Examples

# Compute the absolute percentage error scoring function.

df <- data.frame(
    y = rep(x = 2, times = 3),
    x = 1:3
)

df$absolute_percentage_error <- aperr_sf(x = df$x, y = df$y)

print(df)

scoringfunctions documentation built on April 4, 2025, 12:28 a.m.