bifrankcop: Frank's Bivariate Distribution Family Function

View source: R/family.bivariate.R

bifrankcopR Documentation

Frank's Bivariate Distribution Family Function

Description

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

Usage

bifrankcop(lapar = "loglink", iapar = 2, nsimEIM = 250)

Arguments

lapar

Link function applied to the (positive) association parameter alpha. See Links for more choices.

iapar

Numeric. Initial value for alpha. If a convergence failure occurs try assigning a different value.

nsimEIM

See CommonVGAMffArguments.

Details

The cumulative distribution function is

P(Y1 <= y1, Y2 <= y2) = H_{alpha}(y1,y2) = log_{alpha} [1 + (alpha^(y1)-1)*(alpha^(y2)-1)/ (alpha-1)]

for alpha != 1. Note the logarithm here is to base alpha. The support of the function is the unit square.

When 0<alpha<1 the probability density function h_{alpha}(y_1,y_2) is symmetric with respect to the lines y2=y1 and y2=1-y1. When alpha>1 then h_{1/alpha}(1-y_1,y_2).

alpha=1 then H(y1,y2)=y1*y2, i.e., uniform on the unit square. As alpha approaches 0 then H(y1,y2)=min(y1,y2). As alpha approaches infinity then H(y1,y2)=max(0,y1+y2-1).

The default is to use Fisher scoring implemented using rbifrankcop. For intercept-only models an alternative is to set nsimEIM=NULL so that a variant of Newton-Raphson is used.

Value

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

Note

The response must be a two-column matrix. Currently, the fitted value is a matrix with two columns and values equal to a half. This is because the marginal distributions correspond to a standard uniform distribution.

Author(s)

T. W. Yee

References

Genest, C. (1987). Frank's family of bivariate distributions. Biometrika, 74, 549–555.

See Also

rbifrankcop, bifgmcop, simulate.vlm.

Examples

## Not run: 
ymat <- rbifrankcop(n = 2000, apar = exp(4))
plot(ymat, col = "blue")
fit <- vglm(ymat ~ 1, fam = bifrankcop, trace = TRUE)
coef(fit, matrix = TRUE)
Coef(fit)
vcov(fit)
head(fitted(fit))
summary(fit)

## End(Not run)

VGAM documentation built on July 6, 2022, 5:05 p.m.