Learn R Programming

SpecsVerification (version 0.4-1)

GaussCrpsDecomposition: Decomposition of the continuously ranked probability score for Gaussian forecasts into Reliability, Resolution and Uncertainty

Description

Decomposition of the continuously ranked probability score (CRPS) for Gaussian forecasts into Reliability, Resolution, and Uncertainty.

Usage

GaussCrpsDecomposition(mean, sd, obs, probs, n.boot)

Arguments

mean
vector of length N. The forecast means.
sd
vector of length N. The forecast standard deviations.
obs
vector of length N. The corresponding observations.
probs
probability values for which quantiles are to be estimated by the bootstrap
n.boot
number of bootstrap replicates

Value

A list with the following elements: REL, RES, and UNC: the estimated components of the CRPS decomposition CRPS: the average CRPS of the forecasts CRPS.clim: the average CRPS of the forecast given by the climatological mean and standard deviation CRPS.cal: the average CRPS of the forecast after calibration by Nonhomogeneous Gaussian Regression (NGR, see Details). ngr.par: 4 element vector containing the NGR parameters. BOOT.quantiles: A matrix with 6 columns containing the requested bootstrap quantiles for REL, RES, UNC, CRPS, CRPS.clim, and CRPS.cal.

Details

Decomposition of verification scores requires an estimation of the climatological distribution of the observations, and a calibrated forecast, defined as the conditional distribution of the observation, given the forecast. The climatological distribution is estimated by a Gaussian with mean and variance equal to the mean and variance of the observations. The calibration function is estimated by a parametric model called Nonhomogeneous Gaussian Regression (NGR, Gneiting 2005). Given the forecast mean and standard deviation at time t, m(t) and s(t), the calibrated mean m.cal(t) and calibrated standard deviation s.cal(t) are given by

m.cal(t) = a + b * m(t) s.cal(t) = c + d^2 * s(t)

where a, b, c, d are constant parameters estimated by minimum CRPS estimation using the R function `optim` with option `method="BFGS"`.

Then the decomposition of the CRPS into the three nonnegative terms REL, RES and UNC is written as

CRPS = REL - RES + UNC

where REL, RES and UNC are defined in terms of the divergence function d(F,G) and entropy function e(F)

REL = mean[d(F, F.cal)] RES = mean[d(F.clim, F.cal)] UNC = e(F.clim)

which are defined by the CRPS scoring rule. For more mathematical details see Siegert (2014).

References

Gneiting et al (2005). Calibrated Probabilistic Forecasting Using Ensemble Model Output Statistics and Minimum CRPS Estimation. Mon. Wea. Rev. DOI: 10.1175/MWR2904.1 Siegert et al (2014). Decomposition of the continuously ranked probability score for Gaussian forecasts. In preparation; contact the author for a draft.

Examples

Run this code
  # Example:
  m <- rnorm(100)
  s <- runif(100) + 1
  o <- rnorm(100, m, s)
  # in application, use a higher n.boot than 10! 
  GaussCrpsDecomposition(mean=m, sd=s, obs=o, probs=c(0.05,0.95),n.boot=10)

Run the code above in your browser using DataLab