aperr_sf {scoringfunctions}R Documentation

Absolute percentage error scoring function

Description

The function aperr_sf computes the absolute percentage error scoring function when yy materializes and xx is the predictive med(1)(F)\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 med(1)(F)\textnormal{med}^{(-1)}(F) functional (prediction). It can be a vector of length nn (must have the same length as yy).

y

Realization (true value) of process. It can be a vector of length nn (must have the same length as xx).

Details

The absolute percentage error scoring function is defined by:

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

Domain of function:

x>0x > 0

y>0y > 0

Range of function:

S(x,y)0,x,y>0S(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, med(β)(F)\textnormal{med}^{(\beta)}(F) is the median of a probability distribution whose density is proportional to yβf(y)y^\beta f(y), where ff is the density of the probability distribution FF of yy (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 consistent for the med(1)(F)\textnormal{med}^{(-1)}(F) functional relative to the family F\mathbb{F} of potential probability distributions (whose densities are proportional to y1f(y)y^{-1} f(y), where ff is the density of the probability distribution FF for the future yy) for which the first moment exists and is finite (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. 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)

[Package scoringfunctions version 0.0.6 Index]