pdfgev | R Documentation |
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.)
pdfgev(x, para, paracheck=TRUE)
x |
A real value vector. |
para |
The parameters from |
paracheck |
A logical switch as to whether the validity of the parameters should be checked. |
Probability density (f
) for x
.
W.H. Asquith
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.
cdfgev
, quagev
, lmomgev
, pargev
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.