Software for Extreme Value Analysis (EVA)
Software for Extreme Value Analysis (EVA)
This page is intended as a brief guide to the various software for implementing extreme value theory with links to the various packages. See also Stephenson and Gilleland (2005) and Gilleland, Ribatet and Stephenson (2012) for information about some of the packages.
If you have (or know of) software (or updates to software) for EVA that should be listed here, please contact Eric Gilleland.
Software in R
R is a language and environment for statistical computing and graphics. Detailed information about R and the R project is available from http://www.r-project.org/. R is one of the best statistical environments available. It is also free (effectively). The latest version of R can be downloaded via the R project web site. The R project is an Open Source project. The code you are using (whether written in the R language itself or in other languages through an R interface) is always available for you to look at. If you do not trust the routines, or want to know exactly what is going on, read the code!
All R packages can be downloaded and installed from the R prompt using the install.packages function. See the R help file for install.packages for installation instructions. That is, from the R prompt, type:
[R prompt]> ?install.packages
Once a package has been installed, it can be loaded using the library function. Again, see the help file for library for help and more information on doing this.
To cite the R language in a journal article (or other), use citation() from the R prompt, which will give you the correct citation for the version of R that you are using. Similarly, to cite an R package, use citation(pkgname). For example, to cite the evd package (for the version you are using), use citation(evd) from the R prompt.
copula is a package containing functions for exploring and modeling several commonly used copulas. MLE, pseudo-MLE and method of moments are all avialable. It does not allow for non-stationary regression, but does allow for multivariate modeling (as you would expect).
evd (extreme value distributions) is and add-on package for the R system. It extends simulation, distribution, quantile and density functions to univariate and multivariate parametric extreme value distributions, and provides fitting functions which calculate maximum likelihood estimates for univariate and bivariate models, and for univariate and bivariate threshold models.
evdbayes is and add-on package for the R system. It provides functions for the bayesian analysis of extreme value models, using MCMC methods.
evir is and add-on package for the R system. It is an R port (conversion) of Version 3 of Alexander McNeil's S library EVIS (Extreme Values in S). It contains functions for extreme value theory, which may be divided into the following groups; exploratory data analysis, block maxima, peaks over thresholds (univariate and bivariate), point processes, gev/gpd distributions.
ismev is and add-on package for the R system. It is an R port of S functions written by Stuart Coles to support (univariate) extreme value modelling (or modeling, if you're on the other side of the pond), including the computations carried out in Coles (2001). The functions may be divided into the following groups; maxima/minima, order statistics, peaks over thresholds and point processes. Coles (2001) is a textbook that provides an introduction to the topic at a relatively simple statistical level.
Versions 1.37 and 1.38 include only very minor changes. The first was an update to add a NAMESPACE for consistency and usability with the newer versions of R. The latter fixed a couple of unimportant warnings: (i) a warning was given in the calls to gev.diag and gpd.diag because of the prob = TRUE argument that was not used, (ii) a warning about a partial argument match in one of the functions (this was potentially more serious in the event of change that does not allow partial argument matching).
Version 1.36 has a minor change to allow users to apply optional arguments to gpd.fit and pp.fit when calling gpd.fitrange and pp.fitrange, respectively.
Changes in version 1.34 have fixed a bug in the numerical derivative used by gpd.rl by using the exact gradients instead of the numerical ones. The change has also been made to gev.rl to use the exact gradient.
Changes in version 1.33 include the ability for the user to provide their own initial values for the MLE numerical optimization routine. Also, classes are assigned to some of the fits. Though ismev does not (presently) use the classes, extRemes does make use of them. In the future, ismev may as well, but for now there is a desire to keep this pacakge as similar as possible to the original that accompanied Coles' book.
New to version 1.32 are a couple of bug fixes. The first invovles fitting point process models with parameter covariates. A more accurate approximation to the exceedance rate intensity is now used at the cost of computational efficiency. Second, the qq-plot for the point process with covariates has also been fixed, and should now be correct.
extRemes is and add-on package for the R system, written by Eric Gilleland, Rick Katz and Greg Young, and maintained by Eric Gilleland. It provides a windows GUI for the ismev package, allowing easy use of the tools that the ismev package provides, in addition to a few extra useful functions. See the extRemes web site for details on the package and version updates.
Software package for detecting extreme values in one-dimensional data. According to the description section of the help file for the package (version 2.1), the package implements outlier detection methods introduced in a discussion paper by the package author, Mark van der Loo (M.P.J. van der Loo, Discussion paper 10003, Statistics Netherlands, The Hague, 2010; available at http://www.cbs.nl).
fExtremes is and add-on package for the R system, maintained and primarily written by Diethelm Wuertz. The package contains functions for the exploratory data analysis of extreme values for insurance, economic and financial applications. It also brings together many of the elements of the packages evd, evir and ismev. The fExtremes package comprises part of the Rmetrics software collection. See the Rmetrics web site for details.
Functions related to L-moments, includes functions to compute L-moment estimates for extreme value distribution parameters.
Package written and maintained by J.R.M. Hosking containing functions for regional frequency analysis (RFAA) using the methods of Hosking and Wallis (1997) Regional frequency analysis: an approach based on L-moments, Cambridge University Press (newest edition, 2005; 244 pp., ISBN-10: 0521019400).
Package written by William H. Asquith to compute L-moments, trimmed L-momes, L-comoments, and probability-weighted moment estimation for many distributions including extreme value distributions.
Functions written by Mathieu Ribatet for performing peak over threshold (POT) analysis for both univariate and bivariate cases.
The SpatialExtremes Package
A new package by Mathieu Ribatet for performing multivariate and other spatial extremes methods, called SpatialExtremes, is now available via CRAN. It is still in a development stage, but check its web site for further information at http://spatialextremes.r-forge.r-project.org/
A relatively new package with functions for performing the conditional EVA approach introduced in Heffernan and Tawn (2004), J. R. Statist. Soc. B, 66 (3), 497 - 546. Also contains good functions for fitting the GP df to data.
VGAM is a package for fitting vector generalized additive models. That is, it allows for modeling parameters as linear or smooth functions of covariates.
Software in S
S is a language which is similar to R. Technically, S is a language and S-PLUS is an environment under which this language is used. In practice, no other environment uses (or is allowed to use) S, so the two terms are often used interchangeably. S-PLUS is a commercial product which can be purchased from Insightful. More details can be found on Insightful's web site.
The EVIS Library (Version 4)
The S-PLUS library EVIS (Extreme
Values in S-PLUS) was written and is maintained by Alexander McNeil.
The library can by downloaded from his web site.
The latest version includes the function
implements a bivariate model for joint exceedances of a pair of thresholds.
For those who do not have access to S-PLUS the R package
evir is an R port of Version 3 of EVIS.
Stuart Coles' S Routines
Stuart Coles has
written a comprehensive set of functions in the S language to support
(univariate) extreme value modelling.
The functions are used extensively in Coles (2001).
Stuart can provide a file containing the functions which
can then be read in with
It is best to ensure the working directory is empty before the file is
read in, otherwise objects in the directory with the same name as objects
defined in the file will be lost.
The S+Finmetrics Module
S+Finmetrics is an S-Plus module (meaning that you have to spend even more money to obtain it), which can be purchased from Insightful. It contains a number of functions associated with extreme value theory. From what I can determine, these functions appear to be (based on) Version 4 of the EVIS library by Alexander McNeil and functions written by Rene Carmona for the book Carmona(2004). It appears that the latter functions can still be dowloaded from a fairly obscure link on the authors web site.
Other Various Software
Xtremes (Version 3.0)
Xtremes is a statistical software system that accompanies the book by Reiss and Thomas (2001, see references tab). It possesses a graphical user interface and provides a large number of statistical procedures and diagnostic tools. This includes procedures specifically targeted to applications in finance and hydrology. A professional version of Xtremes, which allows data sets of any size to be analysed, can be purchased from RiskTex.
John Nolan has written two programs for Windows. STABLE (Version 3.13) calculates density, distribution and quantile functions for stable distributions, and includes simulation and maximum likelihood fitting procedures. MVSTABLE (Version 2.0) includes similar routines for multivariate stable distributions. STABLE is also included in the Xtremes system.
EVIMEVIM -- Extreme Value Analysis in MATLAB is created by Ramazan Gençay (University of Windsor), Faruk Selçuk (Bilkent University) and Abdurrahman Ulugülyagci (Bilkent University). A complete pdf document on EVIM.
EXTREMES contains a full suite of functionality for evaluating extremes as well as more standard statistical procedures. It is written in C++, and provides a graphical user interface.
Carmona, R. A. (2004) Statistical Analysis of Financial Data in S-Plus. New York: Springer.
Coles, S. G. (2001) An Introduction to Statistical Modeling of Extreme Values. London: Springer-Verlag.
Gilleland, E., M. Ribatet and A. G. Stephenson, 2012. A software review for extreme value analysis. Submitted to Extremes.
Reiss, R.-D. and M. Thomas (2001) Statistical Analysis of Extreme Values. Birkhauser, Boston, 316 pp.
Stephenson, A. and E. Gilleland, 2005. Software for the Analysis of Extreme Events: The Current State and Future Directions, Extremes 8:87--109.