expectile_sf {scoringfunctions}R Documentation

Asymmetric piecewise quadratic scoring function (expectile scoring function)

Description

The function expectile_sf computes the asymmetric piecewise quadratic scoring function (expectile scoring function) at a specific level p, when y materializes and x is the predictive expectile at level p.

The asymmetric piecewise quadratic scoring function is defined by eq. (27) in Gneiting (2011).

Usage

expectile_sf(x, y, p)

Arguments

x

Predictive expectile (prediction) at level p. It can be a vector of length n (must have the same length as y).

y

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

p

It can be a vector of length n (must have the same length as y).

Details

The asymmetric piecewise quadratic scoring function is defined by:

S(x, y, p) := |1(x \geq y) - p| (x - y)^2

Domain of function:

x \in \R

y \in \R

0 < p < 1

Range of function:

S(x, y, p) \geq 0, \forall x, y \in \R, p \in (0, 1)

Value

Vector of expectile losses.

Note

For the definition of expectiles, see Newey and Powell (1987).

The asymmetric piecewise quadratic scoring function is negatively oriented (i.e. the smaller, the better).

The asymmetric piecewise quadratic scoring function is strictly consistent for the p-expectile functional relative to the family \mathbb{F} of potential probability distributions F for the future y for which E_F[Y^2] exists and is finite (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.

Newey WK, Powell JL (1987) Asymmetric least squares estimation and testing. Econometrica 55(4):819–847. doi:10.2307/1911031.

Examples

# Compute the asymmetric piecewise quadratic scoring function (expectile scoring
# function).

df <- data.frame(
    y = rep(x = 0, times = 6),
    x = c(2, 2, -2, -2, 0, 0),
    p = rep(x = c(0.05, 0.95), times = 3)
)

df$expectile_penalty <- expectile_sf(x = df$x, y = df$y, p = df$p)

print(df)

# The asymmetric piecewise quadratic scoring function (expectile scoring
# function) at level p = 0.5 is half the squared error scoring function.

df <- data.frame(
    y = rep(x = 0, times = 3),
    x = c(-2, 0, 2),
    p = rep(x = c(0.5), times = 3)
)

df$expectile_penalty <- expectile_sf(x = df$x, y = df$y, p = df$p)

df$squared_error <- serr_sf(x = df$x, y = df$y)

print(df)

[Package scoringfunctions version 0.0.6 Index]