Learn R Programming

scoringfunctions (version 1.2)

nmoment_rs: Realised \(n\)-th moment score

Description

The function nmoment_rs computes the realised \(n\)-th moment score, when \(\textbf{\textit{y}}\) materialises and \(\textbf{\textit{x}}\) is the prediction.

Realised \(n\)-th moment score is a realised score corresponding to the \(n\)-th moment scoring function nmoment_sf.

Usage

nmoment_rs(x, y, n)

Value

Value of the realised \(n\)-th moment score.

Arguments

x

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

y

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

n

Moment order. It can be a scalar.

Details

The realised \(n\)-th moment score is defined by:

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

where

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

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

and

$$L(x, y, n) := -x^2 - 2 x (y^n - x)$$

Domain of function:

$$\textbf{\textit{x}} \in \mathbb{R}^m$$

$$\textbf{\textit{y}} \in \mathbb{R}^m$$

$$n \in \mathbb{N}$$

Range of function:

$$S(\textbf{\textit{x}}, \textbf{\textit{y}}, n) \geq -(1/m) \sum_{i = 1}^{m} y_i^{2 n}, \forall \textbf{\textit{x}}, \textbf{\textit{y}} \in \mathbb{R}^m, n \in \mathbb{N}$$

References

Fissler T, Ziegel JF (2019) Order-sensitivity and equivariance of scoring functions. Electronic Journal of Statistics 13(1):1166--1211. 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. tools:::Rd_expr_doi("10.1198/jasa.2011.r10138").

See Also

nmoment_sf, nmoment_if

Examples

Run this code
# Compute the realised n-th moment score.
# x = 1 is the predictive 2nd moment E[Y^2] of a standard normal distribution.

set.seed(12345)

n <- 2

x <- 1

y <- rnorm(n = 100, mean = 0, sd = 1)

print(nmoment_rs(x = x, y = y, n = n))

print(nmoment_rs(x = rep(x = x, times = 100), y = y, n = n))

Run the code above in your browser using DataLab