Learn R Programming

VGAM (version 0.8-3)

bisa: Birnbaum-Saunders Distribution Family Function

Description

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

Usage

bisa(lshape = "loge", lscale = "loge",
     eshape = list(), escale = list(),
     ishape = NULL, iscale = 1, imethod = 1, zero = NULL)

Arguments

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.
escale, eshape
List. Extra argument for each of the links. See earg in Links for general information.
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
An integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The default is none of them. If used, choose one value from the set {1,2}.

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.

Examples

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

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

Run the code above in your browser using DataLab