| pdfgpa {lmomco} | R 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 |
|
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, 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)