| pdfgev {lmomco} | R Documentation |
Probability Density Function of the Generalized Extreme Value Distribution
Description
This function computes the probability density
of the Generalized Extreme Value distribution given parameters (\xi, \alpha, and \kappa) computed by pargev. The probability density function is
f(x) = \alpha^{-1} \exp[-(1-\kappa)Y - \exp(-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 -\infty < x \le \xi + \alpha/\kappa if k > 0; \xi + \alpha/\kappa \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
pdfgev(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
cdfgev, quagev, lmomgev, pargev
Examples
lmr <- lmoms(c(123, 34, 4, 654, 37, 78))
gev <- pargev(lmr)
x <- quagev(0.5, gev)
pdfgev( x, gev)
## Not run:
# We explore using maximum likelihood for GEV estimation on its density function.
# We check the convergence and check on parameters back estimating the mean.
small <- .Machine$double.eps
for(k in c(-2, -1/2, -small, 0, +small, 1/2, 2)) {
names(k) <- "myKappa"
gev <- vec2par(c(2, 2, k), type="gev")
x <- rlmomco(1000, gev)
mu1 <- mean(x); names(mu1) <- "mean"
cv1 <- NA; names(cv1) <- "converge"
mle <- mle2par(x, type="gev", init.para=pargev(lmoms(x)),
ptransf=function(t) { c(t[1], log(t[2]), t[3]) },
pretransf=function(t) { c(t[1], exp(t[2]), t[3]) },
null.on.not.converge=FALSE)
mu2 <- lmomgev(mle)$lambdas[1]; names(mu2) <- "backMean"
cv2 <- mle$optim$convergence; names(cv2) <- "converge"
print(round(c(k, cv1, mu1, gev$para), digits=5))
print(round(c(k, cv2, mu2, mle$para), digits=5))
} #
## End(Not run)