Birnbaum-Saunders Regression Family Function
bisa.RdEstimates 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
Linksfor more choices. A log link is the default for both because they are positive.- iscale, ishape
Initial values for \(a\) and \(b\). A
NULLmeans an initial value is chosen internally usingimethod.- imethod
An integer with value
1or2or3which specifies the initialization method. If failure to converge occurs try the other value, or else specify a value forishapeand/oriscale.- zero
Specifies which linear/additive predictor is modelled as intercept-only. If used, choose one value from the set {1,2}. See
CommonVGAMffArgumentsfor more details.
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.
Value
An object of class "vglmff"
(see vglmff-class).
The object is used by modelling functions
such as vglm,
and vgam.
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.
Examples
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)
#> Iteration 1: loglikelihood = -3298.776
#> Iteration 2: loglikelihood = -3121.1744
#> Iteration 3: loglikelihood = -2958.8226
#> Iteration 4: loglikelihood = -2857.2832
#> Iteration 5: loglikelihood = -2833.6598
#> Iteration 6: loglikelihood = -2832.6806
#> Iteration 7: loglikelihood = -2832.6793
#> Iteration 8: loglikelihood = -2832.6793
coef(fit1, matrix = TRUE)
#> loglink(scale) loglink(shape)
#> (Intercept) 1.485933 -0.5310631
#> x2 0.000000 1.0969219
if (FALSE) { # \dontrun{
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) } # }