| 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)