
u
with
parameters sigmau
and xi
. Unconditional
quantities are provided when the probability phiu
of being above the threshold u
is given.dgpd(x, u = 0, sigmau = 1, xi = 0, phiu = 1, log = FALSE)
pgpd(q, u = 0, sigmau = 1, xi = 0, phiu = 1,
lower.tail = TRUE)
qgpd(p, u = 0, sigmau = 1, xi = 0, phiu = 1,
lower.tail = TRUE)
rgpd(n = 1, u = 0, sigmau = 1, xi = 0, phiu = 1)
evd
package, so most code using
these functions can simply be reused. The key difference
is the introduction of phiu
to permit output of
unconditional quantities.evd
package.evd
and
fpot
Other gpd: fgpd
, lgpd
,
nlgpd
par(mfrow=c(2,2))
x = rgpd(1000) # simulate sample from GPD
xx = seq(-1, 10, 0.01)
hist(x, breaks = 100, freq = FALSE, xlim = c(-1, 10))
lines(xx, dgpd(xx))
# three tail behaviours
plot(xx, pgpd(xx), type = "l")
lines(xx, pgpd(xx, xi = 0.3), col = "red")
lines(xx, pgpd(xx, xi = -0.3), col = "blue")
legend("bottomright", paste("xi =",c(0, 0.3, -0.3)),
col=c("black", "red", "blue"), lty = 1)
# GPD when xi=0 is exponential, and demonstrating phiu
x = rexp(1000)
hist(x, breaks = 100, freq = FALSE, xlim = c(-1, 10))
lines(xx, dgpd(xx, u = 0, sigmau = 1, xi = 0), lwd = 2)
lines(xx, dgpd(xx, u = 0.5, phiu = 1 - pexp(0.5)), col = "red", lwd = 2)
lines(xx, dgpd(xx, u = 1.5, phiu = 1 - pexp(1.5)), col = "blue", lwd = 2)
legend("topright", paste("u =",c(0, 0.5, 1.5)),
col=c("black", "red", "blue"), lty = 1, lwd = 2)
# Quantile function and phiu
p = pgpd(xx)
plot(qgpd(p), p, type = "l")
lines(xx, pgpd(xx, u = 2), col = "red")
lines(xx, pgpd(xx, u = 5, phiu = 0.2), col = "blue")
legend("bottomright", c("u = 0 phiu = 1","u = 2 phiu = 1","u = 5 phiu = 0.2"),
col=c("black", "red", "blue"), lty = 1)
Run the code above in your browser using DataLab