# fitLambda: Non-parametric Estimators of the Matrix of Tail-Dependence... In copula: Multivariate Dependence with Copulas

 fitLambda R Documentation

## Non-parametric Estimators of the Matrix of Tail-Dependence Coefficients

### Description

Computing non-parametric estimators of the (matrix of) tail-dependence coefficients.

### Usage

```fitLambda(u, method = c("Schmid.Schmidt", "Schmidt.Stadtmueller", "t"),
p = 1/sqrt(nrow(u)), lower.tail = TRUE, verbose = FALSE, ...)
```

### Arguments

 `u` n x d-`matrix` of (pseudo-)observations in [0,1]^d for estimating the (matrix of) tail-dependence coefficients. `method` the method with which the tail-dependence coefficients are computed: `method = "Schmid.Schmidt"`:nonparametric estimator of Schmid and Schmidt (2007) (see also Jaworksi et al. (2009, p. 231)) computed for all pairs (pairwise conditional Spearman's rho for `u <= p`). `method = "Schmidt.Stadtmueller"`:nonparametric estimator of Schmidt and Stadtmueller (2006) computed for all pairs (pairwise empirical tail copula for `u <= p`). `method = "t"`:fits pairwise t copulas and returns the implied tail-dependence coefficient. `p` (small) cut-off parameter in [0,1] below (for `tail = "lower"`) or above (for `tail = "upper"`) which the estimation takes place. `lower.tail` `logical` indicating whether the lower (the default) or upper tail-dependence coefficient is computed; in case of the latter, the lower tail dependence coefficient of the flipped data `1-u` is computed. `verbose` a `logical` indicating whether a progress bar is displayed. `...` additional arguments passed to the underlying functions (at the moment only to `optimize()` in case ```method = "t"```).

### Details

As seen in the examples, be careful using nonparametric estimators, they might not perform too well (depending on `p` and in general). After all, the notion of tail dependence is a limit, finite sample sizes may not be able to capture limits well.

### Value

The matrix of pairwise coefficients of tail dependence; for `method = "t"` a `list` with components `Lambda`, the matrix of pairwise estimated correlation coefficients `P` and the matrix of pairwise estimated degrees of freedom `Nu`.

### References

Jaworski, P., Durante, F., Härdle, W. K., Rychlik, T. (2010). Copula Theory and Its Applications Springer, Lecture Notes in Statistics – Proceedings.

Schmid, F., Schmidt, R. (2007). Multivariate conditional versions of Spearman's rho and related measures of tail dependence. Journal of Multivariate Analysis 98, 1123–1140. doi: 10.1016/j.jmva.2006.05.005

Schmidt, R., Stadtmueller, U. (2006). Non-parametric Estimation of Tail Dependence. Scandinavian Journal of Statistics 33(2), 307–335. doi: 10.1111/j.1467-9469.2005.00483.x

`lambda()` computes the true (lower and upper) tail coefficients for a given copula.

### Examples

```n <- 10000 # sample size
p <- 0.01 # cut-off

## Bivariate case
d <- 2
cop <- claytonCopula(2, dim = d)
set.seed(271)
U <- rCopula(n, copula = cop) # generate observations (unrealistic)
(lam.true <- lambda(cop)) # true tail-dependence coefficients lambda
(lam.C <- c(lower = fitLambda(U, p = p)[2,1],
upper = fitLambda(U, p = p, lower.tail = FALSE)[2,1])) # estimate lambdas
## => pretty good
U. <- pobs(U) # pseudo-observations (realistic)
(lam.C. <- c(lower = fitLambda(U., p = p)[2,1],
upper = fitLambda(U., p = p, lower.tail = FALSE)[2,1])) # estimate lambdas
## => The pseudo-observations do have an effect...

## Higher-dimensional case
d <- 5
cop <- claytonCopula(2, dim = d)
set.seed(271)
U <- rCopula(n, copula = cop) # generate observations (unrealistic)
(lam.true <- lambda(cop)) # true tail-dependence coefficients lambda
(Lam.C <- list(lower = fitLambda(U, p = p),
upper = fitLambda(U, p = p, lower.tail = FALSE))) # estimate Lambdas
## => Not too good
U. <- pobs(U) # pseudo-observations (realistic)
(Lam.C. <- list(lower = fitLambda(U., p = p),
upper = fitLambda(U., p = p, lower.tail = FALSE))) # estimate Lambdas
## => Performance not too great here in either case
```

copula documentation built on June 15, 2022, 5:07 p.m.