Gumbel-II Regression Family Function
gumbelII.RdMaximum 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)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
Linksfor 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.
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.
Value
An object of class "vglmff" (see vglmff-class).
The object is used by modelling functions such as vglm,
and vgam.
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.
Note
See weibullR.
This VGAM family function handles multiple responses.
Examples
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)
#> Iteration 1: loglikelihood = -5992.6654
#> Iteration 2: loglikelihood = -5992.6631
#> Iteration 3: loglikelihood = -5992.6631
coef(fit, matrix = TRUE)
#> loglink(scale1) loglink(shape1) loglink(scale2) loglink(shape2)
#> (Intercept) -0.00349692 1.024985 1.115326 -0.984855721
#> x2 0.00000000 0.000000 0.000000 -0.009192527
vcov(fit)
#> (Intercept):1 (Intercept):2 (Intercept):3 (Intercept):4
#> (Intercept):1 1.427292e-04 -9.222032e-05 0.000000e+00 0.0000000000
#> (Intercept):2 -9.222032e-05 6.079271e-04 0.000000e+00 0.0000000000
#> (Intercept):3 0.000000e+00 0.000000e+00 8.019324e-03 -0.0006943614
#> (Intercept):4 0.000000e+00 0.000000e+00 -6.943614e-04 0.0021854962
#> x2 0.000000e+00 0.000000e+00 6.347477e-06 -0.0032218031
#> x2
#> (Intercept):1 0.000000e+00
#> (Intercept):2 0.000000e+00
#> (Intercept):3 6.347477e-06
#> (Intercept):4 -3.221803e-03
#> x2 6.579751e-03
summary(fit)
#>
#> Call:
#> vglm(formula = cbind(y1, y2) ~ x2, family = gumbelII(zero = c(1,
#> 2, 3)), data = gdata, trace = TRUE)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept):1 -0.003497 0.011947 -0.293 0.77
#> (Intercept):2 1.024985 0.024656 41.571 <2e-16 ***
#> (Intercept):3 1.115326 0.089551 12.455 <2e-16 ***
#> (Intercept):4 -0.984856 0.046749 -21.067 <2e-16 ***
#> x2 -0.009193 0.081116 -0.113 0.91
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Names of linear predictors: loglink(scale1), loglink(shape1), loglink(scale2),
#> loglink(shape2)
#>
#> Log-likelihood: -5992.663 on 3995 degrees of freedom
#>
#> Number of Fisher scoring iterations: 3
#>