Learn R Programming

VGAM (version 1.1-2)

bisa: Birnbaum-Saunders Distribution Family Function

Description

Estimates the shape and scale parameters of the Birnbaum-Saunders distribution by maximum likelihood estimation.

Usage

bisa(lscale = "loglink", lshape = "loglink", iscale = 1,
     ishape = NULL, imethod = 1, zero = "shape", nowarning = FALSE)

Arguments

nowarning

Logical. Suppress a warning? Ignored for VGAM 0.9-7 and higher.

lscale, lshape

Parameter link functions applied to the shape and scale parameters (\(a\) and \(b\) below). See Links for more choices. A log link is the default for both because they are positive.

iscale, ishape

Initial values for \(a\) and \(b\). A NULL means an initial value is chosen internally using imethod.

imethod

An integer with value 1 or 2 or 3 which specifies the initialization method. If failure to converge occurs try the other value, or else specify a value for ishape and/or iscale.

zero

Specifies which linear/additive predictor is modelled as intercept-only. If used, choose one value from the set {1,2}. See CommonVGAMffArguments for more details.

Value

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

Details

The (two-parameter) Birnbaum-Saunders distribution has a cumulative distribution function that can be written as $$F(y;a,b) = \Phi[ \xi(y/b)/a] $$ where \(\Phi(\cdot)\) is the cumulative distribution function of a standard normal (see pnorm), \(\xi(t) = \sqrt{t} - 1 / \sqrt{t}\), \(y > 0\), \(a>0\) is the shape parameter, \(b>0\) is the scale parameter. The mean of \(Y\) (which is the fitted value) is \(b(1 + a^2/2)\). and the variance is \(a^2 b^2 (1 + \frac{5}{4}a^2)\). By default, \(\eta_1 = \log(a)\) and \(\eta_2 = \log(b)\) for this family function.

Note that \(a\) and \(b\) are orthogonal, i.e., the Fisher information matrix is diagonal. This family function implements Fisher scoring, and it is unnecessary to compute any integrals numerically.

References

Lemonte, A. J. and Cribari-Neto, F. and Vasconcellos, K. L. P. (2007) Improved statistical inference for the two-parameter Birnbaum-Saunders distribution. Computational Statistics \& Data Analysis, 51, 4656--4681.

Birnbaum, Z. W. and Saunders, S. C. (1969) A new family of life distributions. Journal of Applied Probability, 6, 319--327.

Birnbaum, Z. W. and Saunders, S. C. (1969) Estimation for a family of life distributions with applications to fatigue. Journal of Applied Probability, 6, 328--347.

Engelhardt, M. and Bain, L. J. and Wright, F. T. (1981) Inferences on the parameters of the Birnbaum-Saunders fatigue life distribution based on maximum likelihood estimation. Technometrics, 23, 251--256.

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

See Also

pbisa, inv.gaussianff, CommonVGAMffArguments.

Examples

Run this code
# NOT RUN {
bdata1 <- data.frame(x2 = runif(nn <- 1000))
bdata1 <- transform(bdata1, shape = exp(-0.5 + x2), scale = exp(1.5))
bdata1 <- transform(bdata1, y = rbisa(nn, scale, shape))
fit1 <- vglm(y ~ x2, bisa(zero = 1), data = bdata1, trace = TRUE)
coef(fit1, matrix = TRUE)

# }
# NOT RUN {
bdata2 <- data.frame(shape = exp(-0.5), scale = exp(0.5))
bdata2 <- transform(bdata2, y = rbisa(nn, scale, shape))
fit <- vglm(y ~ 1, bisa, data = bdata2, trace = TRUE)
with(bdata2, hist(y, prob = TRUE, ylim = c(0, 0.5), col = "lightblue"))
coef(fit, matrix = TRUE)
with(bdata2, mean(y))
head(fitted(fit))
x <- with(bdata2, seq(0, max(y), len = 200))
lines(dbisa(x, Coef(fit)[1], Coef(fit)[2]) ~ x, data = bdata2,
      col = "orange", lwd = 2) 
# }

Run the code above in your browser using DataLab