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.
In just the last year or so, numerous relevant R packages have surfaced. Therefore, I have stopped trying to give much information about any one of them, but perhaps this list will help point you in the right direction. I have not included any packages for GARCH modeling, but there are several (see, e.g., tseries, fGarch, ccgarch, CreditMetrics, gogarch, QRM, rmgarch, rugarch and tseries).
For implementing the approximate Bayesian computation for spatial extreme value analysis.
For using the ACER method for estimating return levels of extreme values.
Aimed at functions useful in actuarial science, contains functionality associated with risk theory, including heavy-tailed distributions.
Regression models for binary rare events with linear and non-linear covariate effects for the quantile function of the GEV distribution.
Bayesian estimation of the dependence structure in parametric multivariate extreme value models.
BSquare is a package that models the quantile function using splines for non extremes and the generalized Pareto distribution for extremes. For more information, see its web page.
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.
Some analysis methods for extremes.
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.
Univariate EVA in addition to kernel density estimation. Some consistency with evd.
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).
Estimating the lower quantile using subjectively censored Weibull MLE and censored Weibull mixture model.
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.
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, 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.
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.
This package provides some functions to perform extreme value analysis, under the bayesian paradigm, specifically for the GEV and GPD distributions. It performs MCMC samples of posterior distribution for the distributions, and provides important measures as the predictive distribution of the data, expected return levels for t periods of time, and return level plots for t=1,..,100 with 95% credibility intervals. The package also provides some environmental datasets used as example.
revdbayes performs some simple Bayesian extreme value analyses and has similar functionality to the evdbayes package. The main difference is that revdbayes samples directly from the posterior rather than using MCMC.
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/
VGAM is a package for fitting vector generalized additive models. That is, it allows for modeling parameters as linear or smooth functions of covariates.
Designed for a specific project using spatial Bayesian hierarchical modeling to fit the GEV distribution to data by way of Bayesian model averaging.
Testing the extreme value conditions.
Univariate methods along with the conditional EVA approach introduced in Heffernan and Tawn (2004), J. R. Statist. Soc. B, 66 (3), 497 - 546.
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.
Original S functions by Jan Heffernan and S-PLUS package by Harry Southworth (available on the Comprehensive S-PLUS Archive Network (CSAN). The functions are used extensively in Coles (2001). This package was ported into R including documentation (using the same name) by Alec Stephenson.
The S+Finmetrics Module
S+Finmetrics is an S-Plus module that can be purchased from Insightful. It contains a number of functions associated with extreme value theory. The EVIS library, written by Alexander McNeil and Rene Carmona for the book Carmona (2004).
QRMlib is a freely available S-plus package that accompanies the text by McNeil et al (2005). The package contains functionality for stationary univariate EVA, as well as copula modeling.
Other Various Software
- Xtremes (Version 3.1)
- Stable Distributions
- EVIM -- Extreme Value Analysis in MATLAB
- GLSnet and peakFQ
Xtremes (Version 3.1)
Xtremes is a statistical software system for Windows that accompanies the book by Reiss and Thomas (2007, 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.
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.
GLSnet and peakFQ
GLSnet and peakFQ are two stand-alone software packages written in Fortran and freely available from the U.S. Geological Survey's Water Resources Applications Software. Each is aimed at modeling flow characteristics, but do not include any extreme value distributions. GLSNet performs prediction of low/high flows at locations without observations using regression techniques and generalized least squares. peakFQ estimates annual peak flows for several return periods by fitting a Pearson Type III (Gamma) distribution using the logarithmic sample moments.
Carmona, R. A. (2004) Statistical Analysis of Financial Data in S-Plus. New York: Springer, 455 pp.
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.
McNeil, A. J., R. Frey, and P. Embrechts, 2005. Quantitative Risk Management: Concepts, Techniques, and Tools. Princeton University Press, Princeton, New Jersey, U.S.A., 544 pp.
Reiss, R.-D. and M. Thomas (2007) Statistical Analysis of Extreme Values: with Applications to Insurance, Finance, Hydrology and Other Fields. Birkhäuser, Boston, Third Edition, 511 pp.
Stephenson, A. and E. Gilleland, 2005. Software for the Analysis of Extreme Events: The Current State and Future Directions, Extremes 8:87--109.