GaussCrpsDecomposition(mean, sd, obs, probs, n.boot)
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).
# 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