Learn R Programming

VGAM (version 0.9-1)

morgenstern: Morgenstern's Bivariate Distribution Family Function

Description

Estimate the association parameter of Morgenstern's bivariate distribution by maximum likelihood estimation.

Usage

morgenstern(lapar = "rhobit", iapar = NULL, tola0 = 0.01, imethod = 1)

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.

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(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. Sarabia, J. S. (2005) Extreme Value and Related Models with Applications in Engineering and Science, Hoboken, NJ, USA: Wiley-Interscience.

See Also

fgm, gumbelIbiv.

Examples

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

Run the code above in your browser using DataLab