biclaytoncop {VGAM} | R Documentation |
Clayton Copula (Bivariate) Family Function
Description
Estimate the correlation parameter of the (bivariate) Clayton copula distribution by maximum likelihood estimation.
Usage
biclaytoncop(lapar = "loglink", iapar = NULL, imethod = 1,
parallel = FALSE, zero = NULL)
Arguments
lapar , iapar , imethod |
Details at |
parallel , zero |
Details at |
Details
The cumulative distribution function is
P(u_1, u_2;\alpha) = (u_1^{-\alpha} +
u_2^{-\alpha}-1)^{-1/\alpha}
for 0 \leq \alpha
.
Here, \alpha
is the association parameter.
The support of the function is the interior of the unit square;
however, values of 0 and/or 1 are not allowed (currently).
The marginal distributions are the standard uniform distributions.
When \alpha = 0
the random variables are independent.
This VGAM family function can handle multiple responses, for example, a six-column matrix where the first 2 columns is the first out of three responses, the next 2 columns being the next response, etc.
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions
such as vglm
and vgam
.
Note
The response matrix must have a multiple of two-columns. Currently, the fitted value is a matrix with the same number of columns and values equal to 0.5. This is because each marginal distribution corresponds to a standard uniform distribution.
This VGAM family function is fragile; each response must be in the interior of the unit square.
Author(s)
R. Feyter and T. W. Yee
References
Clayton, D. (1982). A model for association in bivariate survival data. Journal of the Royal Statistical Society, Series B, Methodological, 44, 414–422.
Schepsmeier, U. and Stober, J. (2014). Derivatives and Fisher information of bivariate copulas. Statistical Papers 55, 525–542.
See Also
rbiclaytoncop
,
dbiclaytoncop
,
kendall.tau
.
Examples
ymat <- rbiclaytoncop(n = (nn <- 1000), apar = exp(2))
bdata <- data.frame(y1 = ymat[, 1], y2 = ymat[, 2],
y3 = ymat[, 1], y4 = ymat[, 2], x2 = runif(nn))
summary(bdata)
## Not run: plot(ymat, col = "blue")
fit1 <-
vglm(cbind(y1, y2, y3, y4) ~ 1, # 2 responses, e.g., (y1,y2) is the 1st
biclaytoncop, data = bdata,
trace = TRUE, crit = "coef") # Sometimes a good idea
coef(fit1, matrix = TRUE)
Coef(fit1)
head(fitted(fit1))
summary(fit1)
# Another example; apar is a function of x2
bdata <- transform(bdata, apar = exp(-0.5 + x2))
ymat <- rbiclaytoncop(n = nn, apar = with(bdata, apar))
bdata <- transform(bdata, y5 = ymat[, 1], y6 = ymat[, 2])
fit2 <- vgam(cbind(y5, y6) ~ s(x2), data = bdata,
biclaytoncop(lapar = "loglink"), trace = TRUE)
## Not run: plot(fit2, lcol = "blue", scol = "orange", se = TRUE)