Learn R Programming

copBasic (version 1.6.0)

taildepCOP: The Lower- and Upper-Tail Dependency Parameters of a Copula

Description

Compute the lower- and upper-tail dependency parameters (if they exist), respectively, of a copula according to Nelson (2006, p. 214--215). The dependency parameters are expressions of conditional probabilitythat $Y$ is greater than the $100\times t$-th percentile of its distribution $G$ given that $X$ is greater than the $100\times t$-th percentile of its distribution $F$ as $t$ approaches unity. Specifics in terms of quantile functions $G^{(-1)}(t) = y(t)$ and $F^{(-1)}(t) = x(t)$ follow.

The lower-tail dependence parameter $\lambda^L_\mathbf{C}$ is defined as $$\lambda^L_\mathbf{C} = \lim_{t{\rightarrow 0^{+}}} \mathrm{Pr}[Y \le y(t)\mid X \le x(t)]\mbox{, and}$$ the upper-tail dependence parameter $\lambda^U_\mathbf{C}$ with reversed inequalitiesis defined as $$\lambda^U_\mathbf{C} = \lim_{t{\rightarrow 1^{-}}} \mathrm{Pr}[Y > y(t)\mid X > x(t)]\mbox{.}$$

Nelson (2006) also notes that both $\lambda^L_\mathbf{C}$ and $\lambda^U_\mathbf{C}$ are nonparametric and depend only on the copula of $X$ and $Y$ and shows that each can be computed if the above limits exist as follows: $$\lambda^L_\mathbf{C} = \lim_{t{\rightarrow 0^{+}}} \frac{\mathbf{C}(t,t)}{t} = \delta_\mathbf{C}'(0^{+})\mbox{\ and}$$ $$\lambda^U_\mathbf{C} = 2 - \lim_{t{\rightarrow 1^{-}}} \frac{1 - \mathbf{C}(t,t)}{1-t} = 2 - \delta_\mathbf{C}'(1^{-})\mbox{,}$$ where $\delta_\mathbf{C}'(t)$ is the derivative of the diagonal of the copula.

If $\lambda^L_\mathbf{C} \in (0,1]$, then $\mathbf{C}$ has lower-tail dependence but if $\lambda^L_\mathbf{C} = 0$, then $\mathbf{C}$ has no lower-tail dependence. Likewise, if $\lambda^U_\mathbf{C} \in (0,1]$, then $\mathbf{C}$ has upper-tail dependence but if $\lambda^U_\mathbf{C} = 0$, then $\mathbf{C}$ has no upper-tail dependence.

Usage

taildepCOP(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.
  • lambdaLThe rounded value of $\lambda^L_\mathbf{C}$;
  • lambdaUThe rounded value of $\lambda^U_\mathbf{C}$;
  • sourceAn attribute identifying the computational source: taildepCOP.

References

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

See Also

COP

Examples

Run this code
# Plot the tail dependencies by nonexceedance probability for a
# for a positive association Plackett copula and see that both are zero.
taildepCOP(cop=PLACKETTcop, para=3, plotem=TRUE)
# So Plackett has no tail dependency, as Nelson (2006, p. 215) shows.
"MOcop" <- function(u,v, para=NULL) { # Marshall-Olkin copula
  alpha <- para[1]; beta <- para[2]; return(min(v*u^(1-alpha), u*v^(1-beta)))
} # The results that follow match those reported by Nelson (2006, p. 215).
taildepCOP(cop=MOcop, para=c(0.4, 0.9)) # LambL = 0, LambU = 0.4 [min(alpha,beta)]
# Plot the tail dependencies by nonexceedance probability
# for the PSP copula, which has lower but no upper tail dependence.
taildepCOP(cop=PSP, para=NULL, plotem=TRUE) # LambL=0.5, LambU=0
# which is readily confirmed by simCOP(1000, cop=PSP)
# Nelson (2006, p. 216) reports that this copula has LambL=1/2 and LambU=0.

# How about some composited Plackett-Plackett copulas?
# Each has upper and lower tail dependence parameters equal to zero.
para <- list(cop1=PLACKETTcop,  cop2=PLACKETTcop,
             para1=0.00395,  para2=4.67, alpha=0.9392, beta=0.5699)
taildepCOP(cop=composite2COP, para=para, plot=TRUE, verbose=TRUE)
# This next Plackett-Plackett is interesting because at its core it looks
# like it should be both tail dependent like M() but the shapes of the curves
# are quite different from those of M().
para <- list(cop1=PLACKETTcop,  cop2=PLACKETTcop,
             para1=0.101,  para2=4493, alpha=0.0063, beta=0.0167)
taildepCOP(cop=composite2COP, para=para, plot=TRUE)
# This example might show numerical instability for the upper tail

Run the code above in your browser using DataLab