pdfgpa: Probability Density Function of the Generalized Pareto...

pdfgpaR Documentation

Probability Density Function of the Generalized Pareto Distribution

Description

This function computes the probability density of the Generalized Pareto distribution given parameters (\xi, \alpha, and \kappa) computed by pargpa. The probability density function is

f(x) = \alpha^{-1} \exp(-(1-\kappa)Y) \mbox{,}

where Y is

Y = -\kappa^{-1} \log\left(1 - \frac{\kappa(x - \xi)}{\alpha}\right)\mbox{,}

for \kappa \ne 0, and

Y = (x - \xi)/\alpha\mbox{,}

for \kappa = 0, where f(x) is the probability density for quantile x, \xi is a location parameter, \alpha is a scale parameter, and \kappa is a shape parameter. The range of x is \xi \le x \le \xi + \alpha/\kappa if k > 0; \xi \le x < \infty if \kappa \le 0. Note that the shape parameter \kappa parameterization of the distribution herein follows that in tradition by the greater L-moment community and others use a sign reversal on \kappa. (The evd package is one example.)

Usage

pdfgpa(x, para, paracheck=TRUE)

Arguments

x

A real value vector.

para

The parameters from pargpa or vec2par.

paracheck

A logical switch as to whether the validity of the parameters should be checked.

Value

Probability density (f) for x.

Author(s)

W.H. Asquith

References

Hosking, J.R.M., 1990, L-moments—Analysis and estimation of distributions using linear combinations of order statistics: Journal of the Royal Statistical Society, Series B, v. 52, pp. 105–124, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1111/j.2517-6161.1990.tb01775.x")}.

Hosking, J.R.M., 1996, FORTRAN routines for use with the method of L-moments: Version 3, IBM Research Report RC20525, T.J. Watson Research Center, Yorktown Heights, New York.

Hosking, J.R.M. and Wallis, J.R., 1997, Regional frequency analysis—An approach based on L-moments: Cambridge University Press.

See Also

cdfgpa, quagpa, lmomgpa, pargpa

Examples

  lmr <- lmoms(c(123, 34, 4, 654, 37, 78))
  gpa <- pargpa(lmr)
  x   <- quagpa(0.5, gpa)
         pdfgpa(  x, gpa)

## Not run: 
  # We explore using maximum likelihood for GPA estimation on its density function
  # with stress testing near the K > -1 lower limit, K near zero, and then large K
  # producing extreme densities. We check the convergence and check on parameters
  # back estimating the mean. The experiment is designed that with repeated
  # operations that convergence "failures" in stats::optim()
  #   1  'indicates that the iteration limit maxit had been reached'
  #   10 'indicates degeneracy of the Nelder-Mead simplex.'
  # With the 10 being a bit more common and 1 but still for many runs convergence
  # at K = 8 is still attainable. Also, note the care in the construction of the
  # ptransf and pretransf for the honoring the GPA parameter space.
  small <- .Machine$double.eps; n <- 1000 # samples
  for(k in c(-1+small, -0.99, -1/2, -small, 0, 1/2, 8)) {
    names(k) <- "myKappa"
    gpa <- vec2par(c(2, 2, k), type="gpa")
    x <- rlmomco(n, gpa)
    mu1 <- mean(x); names(mu1) <- "mean"
    cv1 <-      NA; names(cv1) <- "converge"
    mle <- mle2par(x, type="gpa", init.para=pargpa(lmoms(x)),
             ptransf=function(t) { c(t[1], log(t[2]), log(t[3] +1)) },
           pretransf=function(t) { c(t[1], exp(t[2]), exp(t[3])-1)  },
                      null.on.not.converge=FALSE)
    mu2 <- lmomgpa(mle)$lambdas[1]; names(mu2) <- "backMean"
    cv2 <- mle$optim$convergence;   names(cv2) <- "converge"
    print(round(c(k, cv1, mu1, gpa$para), digits=5))
    print(round(c(k, cv2, mu2, mle$para), digits=5))
  } # 
## End(Not run)

lmomco documentation built on Aug. 30, 2023, 5:10 p.m.