Learn R Programming

copBasic (version 2.2.6)

diagCOPatf: Numerical Rooting the Diagonal of a Copula

Description

Compute a numerical root along the primary diagonal (Nelsen, 2006, pp. 12 and 16) of copula \(\mathbf{C}(u,v) = F = \mathbf{C}(t,t)\) having joint probability \(F\). The diagonals treat the nonexceedance probabilities \(u\) and \(v\) as equals (\(u=v=t\)). The primary diagonal is defined for a joint nonexceedance probability \(t\) as

$$F = \mathbf{C}(t,t) \rightarrow t = \delta_{\mathbf{C}}^{(-1)}(f)\mbox{,}$$

where the function solves for \(t\). Examples using the concept behind diagCOPatf are available under duCOP and jointCOP, thus the diagCOPatf function can be also called by either jointCOP and joint.curvesCOP. Internally, the function uses limits of the root finder that are not equal to the anticipated interval \([0,1]\), but equal to “small” (see description for argument interval). The function does trap for f = 0 by returning zero and f = 1 by returning unity.

Usage

diagCOPatf(f, cop=NULL, para=NULL, interval=NULL, silent=TRUE, verbose=FALSE,
                                   tol=.Machine$double.eps/10, ...)
diagCOPinv(f, cop=NULL, para=NULL, interval=NULL, silent=TRUE, verbose=FALSE,
                                   tol=.Machine$double.eps/10, ...)

Value

An R

list of the root by the uniroot() function in R is returned if verbose is TRUE, otherwise the roots (diagonal inverses) for \(t\) are returned, and if an individual inverse operation fails, then a NA is returned instead.

Arguments

f

Joint probability values as a nonexceedance probability \(F\) for which to compute the root \(t\);

cop

A copula function;

para

Vector of parameters, if needed, to pass to the copula;

interval

An optional interval for the root search. The default is interval=c(lo, 1-lo) for lo=.Machine$double.eps because of difficulties for an interval on \([0,1]\);

silent

The argument of the same name given over to try() wrapping the uniroot() operation;

verbose

If TRUE then the whole output of the numerical root is returned using only the first value provided by argument f;

tol

The tolerance to pass to uniroot. The default here is much smaller than the default of the uniroot() function in R because of possibility that diagCOPatf would be used at extremely large nonexceedance probabilities; and

...

Additional arguments to pass.

Author

W.H. Asquith

References

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

See Also

diagCOP, jointCOP, joint.curvesCOP