gpdFamily {fExtremes} | R Documentation |
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. |
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)
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.
|
Generalized Pareto Distribution:
Compute density, distribution function, quantile function and
generates random variates for the Generalized Pareto Distribution.
All values are numeric vectors:
d*
returns the density,
p*
returns the probability,
q*
returns the quantiles, and
r*
generates random deviates.
Alec Stephenson for the functions from R's evd
package,
Diethelm Wuertz for this R-port.
Embrechts, P., Klueppelberg, C., Mikosch, T. (1997); Modelling Extremal Events, Springer.
## *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)