Learn R Programming

copBasic (version 2.2.6)

densityCOP: Density of a Copula

Description

Numerically estimate the copula density for a sequence of \(u\) and \(v\) probabilities for which each sequence has equal steps that are equal to \(\Delta(uv)\). The density \(c(u,v)\) of a copula \(\mathbf{C}(u,v)\) is numerically estimated by $$c(u,v) = \bigl[\mathbf{C}(u_2,v_2) - \mathbf{C}(u_2,v_1) - \mathbf{C}(u_1,v_2) + \mathbf{C}(u_1,v_1)\bigr]\, /\, \bigl[\Delta(uv)\times\Delta(uv)\bigr]\mbox{,}$$ where \(c(u,v) \ge 0\) (see Nelsen, 2006, p. 10; densityCOPplot). The joint density can be defined by the coupla density for continuous variables and is the ratio of the joint density funcion \(f(x,y)\) for random variables \(X\) and \(Y\) to the product of the marginal densities (\(f_x(x)\) and \(f_y(y)\)):

$$c\bigl(F_x(x), F_y(y)\bigr) = \frac{f(x,y)}{f_x(x)f_y(y)}\mbox{,}$$

where \(F_x(x)\) and \(F_y(y)\) are the respective cumulative distribution functions of \(X\) and \(Y\), and lastly \(u = F_x(x)\) and \(v = F_y(y)\).

Usage

densityCOP(u,v, cop=NULL, para=NULL, deluv=.Machine$double.eps^0.25,
                truncate.at.zero=TRUE, the.zero=0, sumlogs=FALSE, ...)

Value

Value(s) for \(c(u,v)\) are returned.

Arguments

u

Nonexceedance probability \(u\) in the \(X\) direction;

v

Nonexceedance probability \(v\) in the \(Y\) direction;

cop

A copula function;

para

Vector of parameters or other data structure, if needed, to pass to the copula;

deluv

The change in the sequences \(\{u, v\} \mapsto \delta, \ldots, 1-\delta; \delta = \Delta(uv)\) probabilities;

truncate.at.zero

A density must be \(c(u,v) \ge 0\), but because this computation is based on a rectangular approximation and not analytical, there exists a possibility that very small rectangles could result in numerical values in R that are less than zero. This usually can be blamed on rounding. This logical if TRUE truncates computed densities to zero, and the default assumes that the user is providing a proper copula. A FALSE value is used by the function isfuncCOP;

the.zero

The value for “the zero” where a small number might be useful for pseudo-maximum likelihood estimation using sumlogs;

sumlogs

Return the \(\sum{\log c(u,v; \Theta)}\) where \(\Theta\) are the parameters in para and this feature is provided for mleCOP; and

...

Additional arguments to pass to the copula function.

Author

W.H. Asquith

References

Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.

Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.

See Also

simCOP, densityCOPplot, kullCOP, mleCOP