Learn R Programming

copula (version 0.999-7)

estim.misc: Various Estimators for (Nested) Archimedean Copulas

Description

Various Estimators for (Nested) Archimedean Copulas, namely, [object Object],[object Object],[object Object]

Usage

ebeta(u, cop, interval = initOpt(cop@copula@name), ...)
edmle(u, cop, interval = initOpt(cop@copula@name), warn=TRUE, ...)
etau(u, cop, method = c("tau.mean", "theta.mean"), warn=TRUE, ...)

Arguments

u
$n\times d$-matrix of (pseudo-)observations (each value in $[0,1]$) from the copula, where $n$ denotes the sample size and $d$ the dimension.
cop
outer_nacopula to be estimated (currently only Archimedean copulas are provided).
interval
bivariate vector denoting the interval where optimization takes place. The default is computed as described in Hofert et al. (2011a).
method
a character string specifying the method (only for etau), which has to be one (or a unique abbreviation) of [object Object],[object Object]
warn
logical indicating if warnings are printed: [object Object],[object Object]
...
additional arguments passed to cor (for etau), to optimize (for edmle), or to safeUroo

Value

  • [object Object],[object Object],[object Object]

Details

For ebeta, the parameter is estimated with a method-of-moments-like procedure such that the population version of the multivariate Blomqvist's beta matches its sample version.

Note that the copula diagonal is a distribution function and the maximum of all components of a random vector following the copula is distributed according to this distribution function. For edmle, the parameter is estimated via maximum-likelihood estimation based on the diagonal.

For etau, the method="tau.mean" means that the average of sample versions of Kendall's tau are computed first and then the parameter is determined such that the population version of Kendall's tau matches this average (if possible); the method="theta.mean" stands for first computing all pairwise Kendall's tau estimators and then returning the mean of these estimators.

For more details, see Hofert et al. (2011a).

Note that these estimators should be used with care; see the performance results in Hofert et al. (2011a). In particular, etau should be used with the (default) method "tau.mean" since "theta.mean" is both slower and more prone to errors.

References

Hofert, M., Mächler{Maechler}, M., and McNeil, A. J. (2011a), Estimators for Archimedean copulas in high dimensions: A comparison, submitted.

See Also

The more sophisticated estimators emle (Maximum Likelihood) and emde (Minimum Distance). enacopula (wrapper for different estimators).

Examples

Run this code
tau <- 0.25
(theta <- copGumbel@iTau(tau)) # 4/3
d <- 20
(cop <- onacopulaL("Gumbel", list(theta,1:d)))

set.seed(1)
n <- 200
U <- rnacopula(n, cop)

system.time(theta.hat.beta <- ebeta(U, cop=cop))
theta.hat.beta$root

system.time(theta.hat.dmle <- edmle(U, cop=cop))
theta.hat.dmle$minimum

system.time(theta.hat.etau <- etau(U, cop=cop, method="tau.mean"))
theta.hat.etau

system.time(theta.hat.etau. <- etau(U, cop=cop, method="theta.mean"))
theta.hat.etau.

Run the code above in your browser using DataLab