GpdDistribution {fExtremes} | R Documentation |
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:
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. |
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.
## SOURCE("fExtremes.53A-GpdModelling") ## *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 >") qgpd(pgpd(seq(-1, 5, 0.25), xi = 1/4 ), xi = 1/4)