fitLambda {copula} | R Documentation |
Computing non-parametric estimators of the (matrix of) tail-dependence coefficients.
fitLambda(u, method = c("Schmid.Schmidt", "t"), p = min(100/nrow(u), 0.1), lower.tail = TRUE, verbose = FALSE, ...)
u |
n x d- |
method |
the method with which the tail-dependence coefficients are computed:
|
p |
(small) cut-off parameter in [0,1] below (for
|
lower.tail |
|
verbose |
a |
... |
additional arguments passed to the underlying functions
(at the moment only to |
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 might not be able to capture well.
The matrix of pairwise coefficients of tail dependence; for
method = "t"
a list additional containing the matrix
of pairwise estimated correlation coefficients and the matrix of
pairwise estimated degrees of freedom.
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
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