gpdFamily {fExtremes}R Documentation

GPD Distributions for Extreme Value Theory

Description

This is a collection of distribution functions used in extreme value theory. The functions compute density, distribution function, quantile function and generate random deviates for the Generalized Pareto Distribution GPD.

The functions are:

1 dgpd Density of the GPD Distribution,
2 pgpd Probability function of the GPD Distribution,
3 qgpd Quantile function of the GPD Distribution,
4 rgpd Random variates from the GPD Distribution.

Usage

dgpd(x, xi = 1, mu = 0, beta = 1) 
pgpd(q, xi = 1, mu = 0, beta = 1) 
qgpd(p, xi = 1, mu = 0, beta = 1) 
rgpd(n, xi = 1, mu = 0, beta = 1)

Arguments

n the number of observations.
p a numeric vector of probabilities.
q a numeric vector of quantiles.
x a numeric vector of quantiles.
xi, mu, beta xi is the shape parameter, mu the location parameter, and beta is the scale parameter.

Details

Generalized Pareto Distribution:

Compute density, distribution function, quantile function and generates random variates for the Generalized Pareto Distribution.

Value

All values are numeric vectors:
d* returns the density,
p* returns the probability,
q* returns the quantiles, and
r* generates random deviates.

Author(s)

Alec Stephenson for the functions from R's evd package,
Diethelm Wuertz for this R-port.

References

Embrechts, P., Klueppelberg, C., Mikosch, T. (1997); Modelling Extremal Events, Springer.

See Also

gevFit, gpdFit.

Examples

## *gpd  -
   xmpExtremes("\nStart: Simulate GPD Distributed sample >")
   par(mfrow = c(2, 2))
   r = rgpd(n = 1000, xi = 1/4)
   plot(r, type = "l", main="GPD Series")
   
## Plot empirical density and compare with true density:
## Omit values greater than 500 from plot
   xmpExtremes("\nNext: Plot Empirical and True Density >")
   hist(r, n = 50, probability = TRUE, xlab = "r", 
     xlim = c(-5, 5), ylim = c(0, 1.1), main = "Density")
   x = seq(-5, 5, by = 0.01)
   lines(x, dgpd(x, xi = 1/4), col = "steelblue3")
   
## Plot df and compare with true df:
   xmpExtremes("\nNext: Plot Empirical and True Probability >")
   plot(sort(r), (1:length(r)/length(r)), 
     xlim = c(-3, 6), ylim = c(0, 1.1),
         cex = 0.5, ylab = "p", xlab = "q", main = "Probability")
   q = seq(-5,5, by=0.1)
   lines(q, pgpd(q, xi = 1/4), col = "steelblue3")
   
## Compute quantiles, a test:
   xmpExtremes("\nNext: Compute Quantiles >")
   qgev(pgev(seq(-5, 5, 0.25), xi = 1/4 ), xi = 1/4) 

[Package Contents]