weibull {VGAM}R Documentation

Weibull Distribution Family Function

Description

Maximum likelihood estimation of the 2-parameter Weibull distribution. Allows for Type-I right censored data.

Usage

weibull(lshape = "logoff", lscale = "loge", 
        eshape=if(lshape == "logoff") list(offset=-2) else list(),
        escale=list(),
        ishape = NULL, iscale = NULL, imethod=1, zero = 2)

Arguments

lshape, lscale Parameter link functions applied to the (positive) shape parameter (called a below) and (positive) scale parameter (called b below). See Links for more choices.
eshape, escale Extra argument for the respective links. See earg in Links for general information.
ishape, iscale Optional initial values for the shape and scale parameters.
imethod Initialization method used if there are censored observations. Currently only the values 1 and 2 are allowed.
zero An integer specifying which linear/additive predictor is to be modelled as an intercept only. The value must be from the set {1,2}, which correspond to the shape and scale parameters respectively. Setting zero=NULL means none of them.

Details

The Weibull density for a response Y is

f(y;a,b) = a y^(a-1) * exp(-(y/b)^a) / [b^a]

for a > 0, b > 0, y > 0. The cumulative distribution function is

F(y;a,b) = 1 - exp(-(y/b)^a).

The mean of Y is b * gamma(1+ 1/a) (returned as the fitted values), and the mode is at b * (1- 1/a)^(1/a) when a>1. The density is unbounded for a<1. The kth moment about the origin is E(Y^k) = b^k * gamma(1+ k/a). The hazard function is a * t^(a-1) / b^a.

This VGAM family function handles Type-I right censored data as well as complete data. Fisher scoring is used to estimate the two parameters. The Fisher information matrices used here are only valid if a>2; these are where the regularity conditions for maximum likelihood estimation are satisfied. For this reason, the default link function for the shape parameter is a log-link with an offset value of -2.

Value

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

Warning

If the shape parameter is less than two then numerical problems may occur during the fitting and/or misleading inference may result in the summary of the object.

Note

Successful convergence depends on having reasonably good initial values. If the initial values chosen by this function are not good, make use the two initial value arguments. For censored data, numerical integration is used to compute the expected working weight matrices; this may fail if the data is censored `too much' and/or may be quite slow. See the example below on how to input censored data.

The Weibull distribution is often an alternative to the lognormal distribution. The inverse Weibull distribution, which is that of 1/Y where Y has a Weibull(a,b) distribution, is known as the log-Gompertz distribution.

Author(s)

T. W. Yee

References

Kleiber, C. and Kotz, S. (2003) Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ: Wiley-Interscience.

Johnson, N. L. and Kotz, S. and Balakrishnan, N. (1994) Continuous Univariate Distributions, 2nd edition, Volume 1, New York: Wiley.

Gupta, R. D. and Kundu, D. (2006) On the comparison of Fisher information of the Weibull and GE distributions, Journal of Statistical Planning and Inference, 136, 3130–3144.

See Also

dweibull, gev, lognormal, expexp.

Examples

# Complete data
x = runif(n <- 1000)
y = rweibull(n, shape=2+exp(1+x), scale = exp(-0.5))
fit = vglm(y ~ x, weibull, tra=TRUE)
coef(fit, mat=TRUE)
Coef(fit)

# Type-I right censored data
cutpt = 0.6 # Making this too small results in numerical problems
rcensored = y > cutpt
cy = ifelse(rcensored, cutpt, y)
table(rcensored)
## Not run: 
par(mfrow=1:2)
hist(y, xlim=range(y))
hist(cy, xlim=range(y), main="Censored y")
## End(Not run)
cfit = vglm(cy ~ x, weibull, trace=TRUE, crit="l",
            extra=list(rightcensored=rcensored))
coef(cfit, mat=TRUE)
summary(cfit)

[Package VGAM version 0.7-3 Index]