bisa.RdEstimates the shape and scale parameters of the Birnbaum-Saunders distribution by maximum likelihood estimation.
bisa(lscale = "loglink", lshape = "loglink", iscale = 1,
ishape = NULL, imethod = 1, zero = "shape", nowarning = FALSE)Logical. Suppress a warning? Ignored for VGAM 0.9-7 and higher.
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.
Initial values for \(a\) and \(b\).
A NULL means an initial value is chosen internally using
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.
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.
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.
An object of class "vglmff"
(see vglmff-class).
The object is used by modelling functions
such as vglm,
and vgam.
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.
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) } # }