R: Non-parametric Estimators of the Matrix of Tail-Dependence...

fitLambda {copula} | 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", "t"), p = min(100/nrow(u), 0.1),
              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. `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.
`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

### See Also

`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

[Package copula version 1.0-1 Index]