Learn R Programming

VGAM (version 1.0-2)

frechet: Frechet Distribution Family Function

Description

Maximum likelihood estimation of the 2-parameter Frechet distribution.

Usage

frechet(location = 0, lscale = "loge", lshape = logoff(offset = -2), iscale = NULL, ishape = NULL, nsimEIM = 250, zero = NULL)

Arguments

location
Numeric. Location parameter. It is called $a$ below.

lscale, lshape
Link functions for the parameters; see Links for more choices.

iscale, ishape, zero, nsimEIM
See CommonVGAMffArguments for information.

x, q
vector of quantiles.
p
vector of probabilities.
n
number of observations. Passed into runif.

location, scale, shape
the location parameter $a$, scale parameter $b$, and shape parameter $s$.
log
Logical. If log = TRUE then the logarithm of the density is returned.

lower.tail, log.p
Same meaning as in punif or qunif.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm and vgam.

Warning

Family function frechet may fail for low values of the shape parameter, e.g., near 2 or lower.

Details

The (3-parameter) Frechet distribution has a density function that can be written $$f(y) = \frac{sb}{(y-a)^2} [b/(y-a)]^{s-1} \, \exp[-(b/(y-a))^s] $$ for $y > a$ and scale parameter $b > 0$. The positive shape parameter is $s$. The cumulative distribution function is $$F(y) = \exp[-(b/(y-a))^s]. $$ The mean of $Y$ is $a + b*gamma(1-1/s)$ for $s > 1$ (these are returned as the fitted values). The variance of $Y$ is $b^2 * [gamma(1 - 2/s) - gamma(1 - 1/s)^2]$ for $s > 2$.

Family frechet has $a$ known, and $log(b)$ and $log(s - 2)$ are the default linear/additive predictors. The working weights are estimated by simulated Fisher scoring.

References

Castillo, E., Hadi, A. S., Balakrishnan, N. Sarabia, J. S. (2005) Extreme Value and Related Models with Applications in Engineering and Science, Hoboken, NJ, USA: Wiley-Interscience.

See Also

rfrechet, gev.

Examples

Run this code
## Not run: 
# set.seed(123)
# fdata <- data.frame(y1 = rfrechet(nn <- 1000, shape = 2 + exp(1)))
# with(fdata, hist(y1))
# fit2 <- vglm(y1 ~ 1, frechet, data = fdata, trace = TRUE)
# coef(fit2, matrix = TRUE)
# Coef(fit2)
# head(fitted(fit2))
# with(fdata, mean(y1))
# head(weights(fit2, type = "working"))
# vcov(fit2)
# ## End(Not run)

Run the code above in your browser using DataLab