50% off | Unlimited Data & AI Learning

Last chance! 50% off unlimited learning

Sale ends in


VGAM (version 1.1-2)

bifgmexp: Bivariate Farlie-Gumbel-Morgenstern Exponential Distribution Family Function

Description

Estimate the association parameter of FGM bivariate exponential distribution by maximum likelihood estimation.

Usage

bifgmexp(lapar = "rhobitlink", iapar = NULL, tola0 = 0.01, imethod = 1)

Arguments

lapar

Link function for the association parameter α, which lies between 1 and 1. See Links for more choices and other information.

iapar

Numeric. Optional initial value for α. By default, an initial value is chosen internally. If a convergence failure occurs try assigning a different value. Assigning a value will override the argument imethod.

tola0

Positive numeric. If the estimate of α has an absolute value less than this then it is replaced by this value. This is an attempt to fix a numerical problem when the estimate is too close to zero.

imethod

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

Value

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

Details

The cumulative distribution function is P(Y1y1,Y2y2)=ey1y2(1+α[1ey1][1ey2])+1ey1ey2 for α between 1 and 1. The support of the function is for y1>0 and y2>0. The marginal distributions are an exponential distribution with unit mean. When α=0 then the random variables are independent, and this causes some problems in the estimation process since the distribution no longer depends on the parameter.

A variant of Newton-Raphson is used, which only seems to work for an intercept model. It is a very good idea to set trace = TRUE.

References

Castillo, E., Hadi, A. S., Balakrishnan, N. Sarabia, J. S. (2005) Extreme Value and Related Models with Applications in Engineering and Science, Hoboken, NJ, USA: Wiley-Interscience.

See Also

bifgmcop, bigumbelIexp.

Examples

Run this code
# NOT RUN {
N <- 1000; mdata <- data.frame(y1 = rexp(N), y2 = rexp(N))
# }
# NOT RUN {
plot(ymat)
# }
# NOT RUN {
fit <- vglm(cbind(y1, y2) ~ 1, bifgmexp, data = mdata, trace = TRUE)
fit <- vglm(cbind(y1, y2) ~ 1, bifgmexp, data = mdata, # This may fail
            trace = TRUE, crit = "coef")
coef(fit, matrix = TRUE)
Coef(fit)
head(fitted(fit))
# }

Run the code above in your browser using DataLab