Learn R Programming

copBasic (version 1.7.1)

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 (2015, pp. 67--70). The tail order is a concept for the strength of dependence in the joint tails of the multivariate distribution. The opposing tails can be compared to assess tail order reflection symmetry (term by Joe (2015) for Nelsen's (2006) radial symmetry). Joe (2015) 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 survial copula (surCOP). Joe (2015) 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 (2015, 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 (2015, 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 (2015) author 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 this package.

The tail orders have various classifications for $\kappa = \kappa_L = \kappa_U$: [object Object],[object Object],[object Object] Joe (2015) provides additional properties: [object Object],[object Object],[object Object]

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 Rlist is returned.
  • kappaLThe rounded value of $\kappa^L_\mathbf{C}$;
  • kappaUThe rounded value of $\kappa^U_\mathbf{C}$;
  • sourceAn attribute identifying the computational source: tailordCOP.

encoding

utf8

References

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

See Also

COP, taildepCOP

Examples

Run this code
# Joe (2015, 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 (2015, p. 69) who
# analytically derives KappaL = 1 and KappaU = 2.
tailordCOP(cop=MTCJ, para=3, plot=TRUE) # kappaL  = 1.00667, kappaU  = 1.96296
taildepCOP(cop=MTCJ, para=3, plot=TRUE) # lambdaL = 0,       lambdaU = 0.7937
# Joe (2015) reports lambdaL = 2^(-1/para) = 2^(-1/3) = 0.7937005

Run the code above in your browser using DataLab