Learn R Programming

Renext (version 3.0-0)

GPD: Generalised Pareto Distribution

Description

Density function, distribution function, quantile function, random generation, hazard and cumulative hazard functions for the Generalised Pareto Distribution.

Usage

dGPD(x, loc = 0.0, scale = 1.0, shape = 0.0, log = FALSE)
   pGPD(q, loc = 0.0, scale = 1.0, shape = 0.0, lower.tail = TRUE)
   qGPD(p, loc = 0.0, scale = 1.0, shape = 0.0, lower.tail = TRUE)
   rGPD(n, loc = 0.0, scale = 1.0, shape = 0.0)
   hGPD(x, loc = 0.0, scale = 1.0, shape = 0.0)
   HGPD(x, loc = 0.0, scale = 1.0, shape = 0.0)

Arguments

x, q
Vector of quantiles.
p
Vector of probabilities.
n
Number of observations.
loc
Location parameter $\mu$.
scale
Scale parameter $\sigma$.
shape
Shape parameter $\xi$.
log
Logical; if TRUE, the log density is returned.
lower.tail
Logical; if TRUE (default), probabilities are $\textrm{Pr}[X <= x]$,="" otherwise,="" $\textrm{pr}[x=""> x]$.

Value

  • dGPD gives the density function, pGPD gives the distribution function, qGPD gives the quantile function, and rGPD generates random deviates. The functions hGPD and HGPD return the hazard rate and the cumulative hazard.

Details

Let $\mu$, $\sigma$ and $\xi$ denote loc, scale and shape. The distribution values $y$ are $\mu \leq y < y_{\textrm{max}}$. When $\xi \neq 0$, the survival function value for $y \geq \mu$ is given by

$$S(y) = \left[1 + \xi(y - \mu)/\sigma\right]^{-1/ \xi} \qquad \mu < y < y_{\textrm{max}}$$ where the upper end-point is $y_{\textrm{max}} = \infty$ for $\xi >0$ and $y_{\textrm{max}} = \mu -\sigma/ \xi$ for $\xi <0$.< p="">

When $\xi = 0$, the distribution is exponential with survival $$S(y) = \exp\left[- (y - \mu)/\sigma\right] \qquad \mu \leq y.$$

See Also

fGPD to fit such a distribution by Maximum Likelihood.

Examples

Run this code
qGPD(p = c(0, 1), shape = -0.2)
shape <- -0.3
xlim <- qGPD(p = c(0, 1), shape = shape)
x <- seq(from = xlim[1], to = xlim[2], length.out = 100)
h <- hGPD(x, shape = shape)
plot(x, h, type = "o", main = "hazard rate for shape < 0")
shape <- 0.2
xlim <- qGPD(p = c(0, 1 - 1e-5), shape = shape)
x <- seq(from = xlim[1], to = xlim[2], length.out = 100)
h <- hGPD(x, shape = shape)
plot(x, h, type = "o", main = "hazard rate shape > 0 ")

Run the code above in your browser using DataLab