Learn R Programming

VGAM (version 0.7-3)

fgm: Farlie-Gumbel-Morgenstern's Bivariate Distribution Family Function

Description

Estimate the association parameter of Farlie-Gumbel-Morgenstern's bivariate distribution using maximum likelihood estimation.

Usage

fgm(lapar="identity", earg=list(), iapar=NULL, method.init=1)

Arguments

lapar
Link function applied to the association parameter $\alpha$, which is real. See Links for more choices.
earg
List. Extra argument for the link. See earg in Links for general 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 method.init.
method.init
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) = y_1 y_2 ( 1 + \alpha (1 - y_1) (1 - y_2) )$$ for real $\alpha$ (the range is data-dependent). The support of the function is the unit square. The marginal distributions are the standard uniform distributions. When $\alpha = 0$ then the random variables are independent.

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. This VGAM family function is prone to numerical difficulties.

References

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

See Also

frank, morgenstern.

Examples

Run this code
n = 1000
ymat = cbind(runif(n), runif(n))
plot(ymat)
fit = vglm(ymat ~ 1, fam=fgm, trace=TRUE)
fit = vglm(ymat ~ 1, fam=fgm, trace=TRUE, crit="coef")
coef(fit, matrix=TRUE)
Coef(fit)
fitted(fit)[1:5,]

Run the code above in your browser using DataLab