copBasic (version 2.1.5)

tailordCOP: The Lower- and Upper-Tail Orders of a Copula

Description

Compute the lower- and upper-tail orders (if they exist), respectively, of a copula \(\mathbf{C}(u,v)\) according to Joe (2014, pp. 67--70). The tail order is a concept for the strength of dependence in the joint tails of a multivariate distribution. The opposing tails can be compared to assess tail order or reflection symmetry (term by Joe (2014) for Nelsen's (2006, p. 36) term radial symmetry). Joe (2014) provides extensively analytical details but sufficient for the copBasic package, the tail orders can be numerically explored.

The lower-tail order maybe numerically approximated by $$\kappa^L_\mathbf{C} = \frac{\log[\mathbf{C}(t,t)]}{\log(t)}\mbox{,}$$ for some small positive values of \(t\), and similarly the upper-tail order maybe numerically approximated by $$\kappa^U_\mathbf{C} = \frac{\log[\hat\mathbf{C}(t,t)]}{\log(t)}\mbox{,}$$ where \(\hat\mathbf{C}(u,v)\) is the survival copula (surCOP). Joe (2014) has potentially(?) conflicting notation in the context of the upper-tail order; the term “reflection” is used (p. 67) and “lower tail order of the reflected copula is the same as the upper tail order of the original copula” (p. 69), but Joe (2014, p. 67) only uses the joint survival function (surfuncCOP) in the definition of \(\kappa^U_\mathbf{C}\).

As a note, the author of this package was not able to get tailordCOP to function properly for the upper-tail order using the joint survival function as implied on the bottom of Joe (2014, p. 67) and fortunately the fact that “reflection” is used in other contexts and used in analytical examples, the tailordCOP function uses the lower-tail order of the reflection (survival copula). Joe (2014) also defines tail order parameter \(\Psi\) but that seems to be a result of analytics and not implemented in this package. Lastly, the tail orders are extendable into \(d\) dimensions, but only a bivariate (\(d = 2\)) is provided in copBasic. The tail orders have various classifications for \(\kappa = \kappa_L = \kappa_U\):

\(\bullet\)

Intermediate tail dependence for \(1 < \kappa < d\) or \(\kappa = 1, \Psi = 0\);

\(\bullet\)

Strong tail dependence for \(\kappa = 1\) with \(\Psi > 0\); and

\(\bullet\)

Tail orthant independence or tail quadrant independence for \(\kappa = d\).

Joe (2014) provides additional properties:

\(\bullet\)

\(\kappa_L = \kappa_U = d\) for the \(d\)-dimensional independence copula (P; e.g. tailordCOP(cop=P));

\(\bullet\)

It is not possible for \(\kappa_L < 1\) or \(\kappa_U < 1\) but each can be \(> 1\) for a \(\mathbf{C}(u,v)\) having some negative dependence (e.g. tailordCOP(cop=PLACKETTcop, para=0.2); see PLACKETTcop); and

\(\bullet\)

For the bivariate Fr<U+00E9>chet--Hoeffding lower bound copula (W; countermonotonicity copula) the \(\kappa_L = \kappa_U\) and can be considered \(+\infty\). (A special trap in the tailordCOP provides consistency on W but does not test that the copula is actually that function itself.)

Usage

tailordCOP(cop=NULL, para=NULL, tol=1e-6, plot=FALSE, verbose=FALSE, ...)

Arguments

cop

A copula function;

para

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

tol

A tolerance on convergence;

plot

A logical plotting a diagnostic plot of the diagonal derivatives and label the limits;

verbose

Show incremental progress; and

...

Additional arguments to pass to the copula function.

Value

An R list is returned.

kappaL

The rounded value of \(\kappa^L_\mathbf{C}\);

kappaU

The rounded value of \(\kappa^U_\mathbf{C}\);

source

An attribute identifying the computational source: “tailordCOP”.

References

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

See Also

COP, tailconCOP, taildepCOP

Examples

Run this code
# NOT RUN {
# Joe (2014, p. 5) names MTCJ = Mardia-Takahasi-Cook-Johnson copula
"MTCJ" <- function(u,v,para) { (u^(-para) + v^(-para) - 1)^(-1/para) }
# The results that follow match those reported by Joe (2014, p. 69) who
# analytically derives KappaL = 1 and KappaU = 2.
# TAIL ORDER:
tailordCOP(cop=MTCJ, para=3, plot=TRUE) # kappaL  = 1.00667, kappaU  = 1.96296
# TAIL DEPENDENCY:
taildepCOP(cop=MTCJ, para=3, plot=TRUE) # lambdaL = 0,       lambdaU = 0.7937
# Joe (2014) reports lambdaL = 2^(-1/para) = 2^(-1/3) = 0.7937005
# }

Run the code above in your browser using DataLab