nse: Nash-Sutcliffe efficiency (NSE)

View source: R/nse.R

nseR Documentation

Nash-Sutcliffe efficiency (NSE)

Description

The function nse computes the Nash-Sutcliffe efficiency when \textbf{\textit{y}} materialises and \textbf{\textit{x}} is the prediction.

Nash-Sutcliffe efficiency is a skill score corresponding to the squared error scoring function serr_sf. It is defined in eq. (3) in Nash and Sutcliffe (1970).

Usage

nse(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 Nash-Sutcliffe efficiency is defined by:

S_{\textnormal{skill}}(\textbf{\textit{x}}, \textbf{\textit{y}}) := 1 - S_{\textnormal{meth}}(\textbf{\textit{x}}, \textbf{\textit{y}}) / S_{\textnormal{ref}}(\textbf{\textit{x}}, \textbf{\textit{y}})

where

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

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

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

\overline{\textbf{\textit{y}}} := (1/n) \textbf{1}^\mathsf{T} \textbf{\textit{y}} = (1/n) \sum_{i = 1}^{n} y_i

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

and the predictions of the method of interest as well as the reference method are evaluated respectively by:

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

S_{\textnormal{ref}}(\textbf{\textit{x}}, \textbf{\textit{y}}) := (1/n) \sum_{i = 1}^{n} L(\overline{\textbf{\textit{y}}}, y_i)

Domain of function:

\textbf{\textit{x}} \in \mathbb{R}^n

\textbf{\textit{y}} \in \mathbb{R}^n

Range of function:

S(\textbf{\textit{x}}, \textbf{\textit{y}}) \leq 1, \forall \textbf{\textit{x}}, \textbf{\textit{y}} \in \mathbb{R}^n

Value

Value of the Nash-Sutcliffe efficiency.

Note

For details on the squared error scoring function, see serr_sf.

The concept of skill scores is defined by Gneiting (2011).

The Nash-Sutcclife efficiency is defined in eq. (3) in Nash and Sutcliffe (1970).

The Nash-Sutcclife efficiency is positevely oriented (i.e. the larger, the better).

References

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

Nash JE, Sutcliffe JV (1970) River flow forecasting through conceptual models part I - A discussion of principles. Journal of Hydrology 10(3):282–290. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/0022-1694(70)90255-6")}.

Examples

# Compute the Nash-Sutcliffe efficiency.

set.seed(12345)

x <- 0

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

print(nse(x = x, y = y))

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

print(nse(x = mean(y), y = y))

print(nse(x = y, y = y))

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