| tailordCOP | R Documentation |
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:
\bulletIntermediate tail dependence for 1 < \kappa < d or \kappa = 1, \Psi = 0;
\bulletStrong tail dependence for \kappa = 1 with \Psi > 0; and
\bulletTail 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));
\bulletIt 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
\bulletFor the bivariate Fré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.)
tailordCOP(cop=NULL, para=NULL, tol=1e-6, plot=FALSE, verbose=FALSE, ...)
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. |
An R list is returned.
kappaL |
The rounded value of |
kappaU |
The rounded value of |
source |
An attribute identifying the computational source: “tailordCOP”. |
The algorithm implemented for tailordCOP is based on halves (or alternatives by the setting of the divisor argument) and uses the copula function (not an analytical or even numerical derivative of the diagonal, \delta_\mathbf{C}'(t)). Starting from the median or t = 0.5, each limit is respectively computed by successive halving of the distance towards 0^{+} and checking the change in computed value against the tolerance tol argument. After the change becomes less than the the tolerance, convergence is assumed. Other tests are made for NaN to aid in breaking the successive halvings. The rounding for the numerical results for \kappa^U_\mathbf{C} and \kappa^L_\mathbf{C} is an order of magnitude larger than the tolerance.
Users are encouraged to plot the results and further verify whether the convergence makes sense. The plot produced when plot=TRUE shows the probability t transformed into standard normal variates by the qnorm() function in R so that the distal reaches of each tail and thus limit are readily seen. The terminal points of each limit computation are shown by a small dot, and the letter “L” and “U” also are plotted at the terminal points.
W.H. Asquith
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
COP, tailconCOP, taildepCOP
## 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
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.