Skip to content

paulnorthrop/threshr

Repository files navigation

threshr

AppVeyor Build Status R-CMD-check Coverage Status CRAN_Status_Badge Downloads (monthly) Downloads (total)

Threshold Selection and Uncertainty for Extreme Value Analysis

What does threshr do?

The threshr package deals primarily with the selection of thresholds for use in extreme value models. It also performs predictive inferences about future extreme values. These inferences can either be based on a single threshold or on a weighted average of inferences from multiple thresholds. The weighting reflects an estimated measure of the predictive performance of the threshold and can incorporate prior probabilities supplied by a user. At the moment only the simplest case, where the data can be treated as independent identically distributed observations, is considered, as described in Northrop et al. (2017). Future releases will tackle more general situations.

A simple example

The main function in the threshr package is ithresh. It uses Bayesian leave-one-out cross-validation to compare the extreme value predictive ability resulting from the use of each of a user-supplied set of thresholds. The following code produces a threshold diagnostic plot using a dataset gom containing 315 storm peak significant waveheights. We set a vector u_vec of thresholds; call ithresh, supplying the data and thresholds; and use then plot the results. In this minimal example (ithresh has further arguments) thresholds are judged in terms of the quality of prediction of whether the validation observation lies above the highest threshold in u_vec and, if it does, how much it exceeds this highest threshold.

library(threshr)
u_vec_gom <- quantile(gom, probs = seq(0, 0.9, by = 0.05))
gom_cv <- ithresh(data = gom, u_vec = u_vec_gom)
plot(gom_cv)

Installation

To get the current released version from CRAN:

install.packages("threshr")

Vignette

See vignette("threshr-vignette", package = "threshr") for an overview of the package.