Learn R Programming

fExtremes (version 220.10063)

GpdDistribution: GPD Distributions for Extreme Value Theory

Description

A collection and description 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: ll{ dgpd Density of the GPD Distribution, pgpd Probability function of the GPD Distribution, qgpd Quantile function of the GPD Distribution, 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.

Value

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

Details

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

References

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

Examples

Run this code
## SOURCE("fExtremes.53A-GpdModelling")

## *gpd  -
   xmpExtremes("Start: 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("Next: 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("Next: 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("Next: Compute Quantiles >")
   qgpd(pgpd(seq(-1, 5, 0.25), xi = 1/4 ), xi = 1/4)

Run the code above in your browser using DataLab