Learn R Programming

VGAM (version 1.1-12)

gumbelII: Gumbel-II Regression Family Function

Description

Maximum likelihood estimation of the 2-parameter Gumbel-II distribution.

Usage

gumbelII(lscale = "loglink", lshape = "loglink", iscale = NULL, ishape = NULL,
         probs.y = c(0.2, 0.5, 0.8), perc.out = NULL, imethod = 1,
         zero = "shape", nowarning = FALSE)

Value

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

Arguments

nowarning

Logical. Suppress a warning?

lshape, lscale

Parameter link functions applied to the (positive) shape parameter (called \(s\) below) and (positive) scale parameter (called \(b\) below). See Links for more choices.

Parameter link functions applied to the

ishape, iscale

Optional initial values for the shape and scale parameters.

imethod

See weibullR.

zero, probs.y

Details at CommonVGAMffArguments.

perc.out

If the fitted values are to be quantiles then set this argument to be the percentiles of these, e.g., 50 for median.

Author

T. W. Yee

Details

The Gumbel-II density for a response \(Y\) is $$f(y;b,s) = s y^{s-1} \exp[-(y/b)^s] / (b^s)$$ for \(b > 0\), \(s > 0\), \(y > 0\). The cumulative distribution function is $$F(y;b,s) = \exp[-(y/b)^{-s}].$$ The mean of \(Y\) is \(b \, \Gamma(1 - 1/s)\) (returned as the fitted values) when \(s>1\), and the variance is \(b^2\,\Gamma(1-2/s)\) when \(s>2\). This distribution looks similar to weibullR, and is due to Gumbel (1954).

This VGAM family function currently does not handle censored data. Fisher scoring is used to estimate the two parameters. Probably similar regularity conditions hold for this distribution compared to the Weibull distribution.

References

Gumbel, E. J. (1954). Statistical theory of extreme values and some practical applications. Applied Mathematics Series, volume 33, U.S. Department of Commerce, National Bureau of Standards, USA.

See Also

dgumbelII, gumbel, gev.

Examples

Run this code
gdata <- data.frame(x2 = runif(nn <- 1000))
gdata <- transform(gdata, heta1  = +1,
                          heta2  = -1 + 0.1 * x2,
                          ceta1 =  0,
                          ceta2 =  1)
gdata <- transform(gdata, shape1 = exp(heta1),
                          shape2 = exp(heta2),
                          scale1 = exp(ceta1),
                          scale2 = exp(ceta2))
gdata <- transform(gdata,
                   y1 = rgumbelII(nn, scale = scale1, shape = shape1),
                   y2 = rgumbelII(nn, scale = scale2, shape = shape2))

fit <- vglm(cbind(y1, y2) ~ x2,
            gumbelII(zero = c(1, 2, 3)), data = gdata, trace = TRUE)
coef(fit, matrix = TRUE)
vcov(fit)
summary(fit)

Run the code above in your browser using DataLab