Learn R Programming

VGAM (version 1.1-9)

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)

Value

An object of class "vglmff"

(see vglmff-class). The object is used by modelling functions such as vglm

and vgam.

Arguments

lapar

Link function for the association parameter \(\alpha\), which lies between \(-1\) and \(1\). See Links for more choices and other information.

iapar

Numeric. Optional initial value for \(\alpha\). 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 \(\alpha\) 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.

Author

T. W. Yee

Details

The cumulative distribution function is $$P(Y_1 \leq y_1, Y_2 \leq y_2) = e^{-y_1-y_2} ( 1 + \alpha [1 - e^{-y_1}] [1 - e^{-y_2}] ) + 1 - e^{-y_1} - e^{-y_2} $$ for \(\alpha\) between \(-1\) and \(1\). The support of the function is for \(y_1>0\) and \(y_2>0\). The marginal distributions are an exponential distribution with unit mean. When \(\alpha = 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. and 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
N <- 1000; mdata <- data.frame(y1 = rexp(N), y2 = rexp(N))
if (FALSE) plot(ymat)
fit <- vglm(cbind(y1, y2) ~ 1, bifgmexp, data = mdata, trace = TRUE)
fit <- vglm(cbind(y1, y2) ~ 1, bifgmexp, data = mdata, # May fail
            trace = TRUE, crit = "coef")
coef(fit, matrix = TRUE)
Coef(fit)
head(fitted(fit))

Run the code above in your browser using DataLab