Title: | Forecast Verification for Extreme Events |
---|---|
Description: | An index measuring the amount of information brought by forecasts for extreme events, subject to calibration, is computed. This index is originally designed for weather or climate forecasts, but it may be used in other forecasting contexts. This is the implementation of the index in Taillardat et al. (2019) <arXiv:1905.04022>. |
Authors: | Maxime Taillardat [aut, cre] |
Maintainer: | Maxime Taillardat <[email protected]> |
License: | GPL-3 |
Version: | 0.0.3 |
Built: | 2025-03-10 05:04:44 UTC |
Source: | https://github.com/cran/extremeIndex |
Function for heuristically choosing the domain where extreme value theory can be applied
choosethres(data, thresh, guess = c(1, 0.1), plots = 1:3, R = 200, ncpus = 1)
choosethres(data, thresh, guess = c(1, 0.1), plots = 1:3, R = 200, ncpus = 1)
data |
a numeric vector containing the observation used for verification |
thresh |
vector of thresholds to try |
guess |
starting values for GPD's sigma and xi (0<xi<1) |
plots |
which parameter plots do you want |
R |
number of bootstrap estimates for confidence intervals |
ncpus |
if you want to make bootstrap on several cores |
three plots summarizing the stability of the parameters to threshold. The starting threshold admits kappa=1 and its confidence interval ; according Papastathopoulos & Tawn (2013)
a list with thresholds used, GP parameters and CIs, optimal threshold and xi.
Observations of 6-h rainfall amount with CRPS values of 3 calibrated ensemble forecasts for one lead time across France.
crps
crps
A matrix with 112221 rows and 4 variables:
observations, in mm/6h
CRPS values of the forecaster X, in mm/6h
...
Maxime Taillardat
Function which plots the index for differents forecasts sharing the same observations
index.plot(forecasts, col = NULL, leg = NULL, xtypq = TRUE, ...)
index.plot(forecasts, col = NULL, leg = NULL, xtypq = TRUE, ...)
forecasts |
list of "indexfore" objects, all forecasts must be computed on the same climatology and thresholds |
col |
colors of the differents forecasts for the plot |
leg |
legend of the plot |
xtypq |
the x-axis of the plot is quantiles values or orders (TRUE for quantiles) |
... |
other arguments for the plot |
a plot of the indices and a matrix containing the indexes for each threshold/order
data("crps") y=crps[1:500,1] cli=indexclim(y,thresh=seq(3,quantile(y,probs=0.995),length=2),xi=0.2) frcst=crps[1:500,2] idf=indexfore(frcst,cli) frcst=crps[1:500,3] idf2=indexfore(frcst,cli) fore=list(idf,idf2) idxp2=index.plot(fore,col=c("red","blue"),leg=c("forecast 1", "forecast 2"),main="Index plot")
data("crps") y=crps[1:500,1] cli=indexclim(y,thresh=seq(3,quantile(y,probs=0.995),length=2),xi=0.2) frcst=crps[1:500,2] idf=indexfore(frcst,cli) frcst=crps[1:500,3] idf2=indexfore(frcst,cli) fore=list(idf,idf2) idxp2=index.plot(fore,col=c("red","blue"),leg=c("forecast 1", "forecast 2"),main="Index plot")
Function which computes the index for the climatological CRPS/MAE. You must provide the observations. If you computes climatological CRPS/MAE previously, you can add the corresponding vector
indexclim( y, thresh = NULL, score_clim = NULL, xi = NULL, score = "crps", estim_xi = FALSE )
indexclim( y, thresh = NULL, score_clim = NULL, xi = NULL, score = "crps", estim_xi = FALSE )
y |
The observations |
thresh |
Vector of thresholds where you want to compute the index |
score_clim |
If not NULL, must be the time serie of the CRPS/MAE of the climatology. It is recommended to compute CRPS/MAE out of this function |
xi |
Shape parameter of the GP ( xi > 0) |
score |
A character string indicating if you want to work with CRPS ("crps") or MAE ("mae"), by default "crps" |
estim_xi |
If you want xi estimated for each threshold (for numerical reasons for instance) |
An indexclim object containing xi, y, the score time serie, the score considered, the index values, and the corresponding quantiles of the observations
Function for computing the index for a forecast system vs. climatological forecast. You must provide an indexclim object.
indexfore(score_fore, clim)
indexfore(score_fore, clim)
score_fore |
the time serie of the ensemble forecast's CRPS/MAE. Be careful that score_fore is consistent with "score" in indexclim |
clim |
an indexclim object coming from indexclim |
an indexfore object with the index computed vs. climatological forecast and the statistic omega2