mre: Mean relative error (MRE)

View source: R/mre.R

mreR Documentation

Mean relative error (MRE)

Description

The function mre computes the mean relative error when \textbf{\textit{y}} materialises and \textbf{\textit{x}} is the prediction.

Mean relative error is a realised score corresponding to the relative error scoring function relerr_sf.

Usage

mre(x, y)

Arguments

x

Prediction. It can be a vector of length n (must have the same length as \textbf{\textit{y}}).

y

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

Details

The mean relative error is defined by:

S(\textbf{\textit{x}}, \textbf{\textit{y}}) := (1/n) \sum_{i = 1}^{n} L(x_i, y_i)

where

\textbf{\textit{x}} = (x_1, ..., x_n)^\mathsf{T}

\textbf{\textit{y}} = (y_1, ..., y_n)^\mathsf{T}

and

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

Domain of function:

\textbf{\textit{x}} > \textbf{0}

\textbf{\textit{y}} > \textbf{0}

where

\textbf{0} = (0, ..., 0)^\mathsf{T}

is the zero vector of length n and the symbol > indicates pairwise inequality.

Range of function:

S(\textbf{\textit{x}}, \textbf{\textit{y}}) \geq 0, \forall \textbf{\textit{x}}, \textbf{\textit{y}} > \textbf{0}

Value

Value of the mean relative error.

Note

For details on the relative error scoring function, see relerr_sf.

The concept of realised (average) scores is defined by Gneiting (2011) and Fissler and Ziegel (2019).

The mean relative error is the realised (average) score corresponding to the relative error scoring function.

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

Examples

# Compute the mean relative error.

set.seed(12345)

x <- 0.5

y <- rlnorm(n = 100, mean = 0, sdlog = 1)

print(mre(x = x, y = y))

print(mre(x = rep(x = x, times = 100), y = y))

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