mv_sf: Mean - variance scoring function

View source: R/mv_sf.R

mv_sfR Documentation

Mean - variance scoring function

Description

The function mv_sf computes the mean - variance scoring function, when y materialises, x_1 is the predictive mean and x_2 is the predictive variance.

The mean - variance scoring function is defined by eq. (3.11) in Fissler and Ziegel (2019).

Usage

mv_sf(x1, x2, y)

Arguments

x1

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

x2

Predictive variance (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_1).

Details

The mean - variance scoring function is defined by:

S(x_1, x_2, y) := x_2^{-2} (x_1^2 - 2 x_2 - 2 x_1 y + y^2)

Domain of function:

x_1 \in \mathbb{R}

x_2 > 0

y \in \mathbb{R}

Value

Vector of mean - variance losses.

Note

The mean functional is the mean \textnormal{E}_F[Y] of the probability distribution F of y (Gneiting 2011).

The variance functional is the variance \textnormal{Var}_F[Y] := \textnormal{E}_F[Y^2] - (\textnormal{E}_F[Y])^{2} of the probability distribution F of y (Gneiting 2011)

The mean - variance scoring function is negatively oriented (i.e. the smaller, the better).

The mean - variance scoring function is strictly consistent for the pair (mean, variance) functional (Osband 1985, p.9; Gneiting 2011; Fissler and Ziegel 2019).

References

Fissler T, Ziegel JF (2019) Order-sensitivity and equivariance of scoring functions. Electronic Journal of Statistics 13(1):1166–1211. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1214/19-EJS1552")}.

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")}.

Osband KH (1985) Providing Incentives for Better Cost Forecasting. PhD thesis, University of California, Berkeley. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.5281/zenodo.4355667")}.

Examples

# Compute the mean - variance scoring function.

df <- data.frame(
    y = rep(x = 0, times = 6),
    x1 = c(2, 2, -2, -2, 0, 0),
    x2 = c(1, 2, 1, 2, 1, 2)
)

df$mv_penalty <- mv_sf(x1 = df$x1, x2 = df$x2, y = df$y)

print(df)

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