Bivariate Farlie-Gumbel-Morgenstern Exponential Distribution Family Function
Estimate the association parameter of FGM bivariate exponential distribution by maximum likelihood estimation.
bifgmexp(lapar = "rhobitlink", iapar = NULL, tola0 = 0.01, imethod = 1)
lapar |
Link function for the
association parameter
alpha, which lies between -1 and 1.
See |
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 |
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 |
The cumulative distribution function is
P(Y1 <= y1, Y2 <= y2) = exp(-y1-y2) * ( 1 + alpha * [1 - exp(-y1)] * [1 - exp(-y2)] ) + 1 - exp(-y1) - exp(-y2)
for alpha 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 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
.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
The response must be a two-column matrix. Currently, the fitted value is a matrix with two columns and values equal to 1. This is because each marginal distribution corresponds to a exponential distribution with unit mean.
This VGAM family function should be used with caution.
T. W. Yee
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.
N <- 1000; mdata <- data.frame(y1 = rexp(N), y2 = rexp(N)) ## Not run: plot(ymat) 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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.