enacopula {copula} | R Documentation |
Estimation Procedures for (Nested) Archimedean Copulas
Description
A set of ten different estimators, currently for one-parameter Archimedean copulas, of possibly quite high dimensions.
Usage
enacopula(u, cop,
method = c("mle", "smle", "dmle",
"mde.chisq.CvM", "mde.chisq.KS",
"mde.gamma.CvM", "mde.gamma.KS",
"tau.tau.mean", "tau.theta.mean", "beta"),
n.MC = if (method == "smle") 10000 else 0,
interval = initOpt(cop@copula@name),
xargs = list(), ...)
Arguments
u |
|
cop |
|
method |
a
|
n.MC |
only for |
interval |
bivariate vector denoting the interval where
optimization takes place. The default is computed as described in
Hofert et al. (2012). Used for all methods except
|
xargs |
list of additional arguments for the chosen estimation method. |
... |
additional arguments passed to |
Details
enacopula
serves as a wrapper for the different
implemented estimators and provides a uniform framework to utilize
them. For more information, see the single estimators as given in the
section ‘See Also’.
Note that Hofert, Mächler, and McNeil (2013) compared these
estimators. Their findings include a rather poor performance and numerically
challenging problems of some of these estimators. In particular, the
estimators obtained by method="mde.gamma.CvM"
,
method="mde.gamma.KS"
, method="tau.theta.mean"
, and
method="beta"
should be used with care (or not at all). Overall, MLE
performed best (by far).
Value
the estimated parameter, \hat{\theta}
, that is, currently a
number as only one-parameter Archimedean copulas are considered.
References
Hofert, M., Mächler, M., and McNeil, A. J. (2012). Likelihood inference for Archimedean copulas in high dimensions under known margins. Journal of Multivariate Analysis 110, 133–150.
Hofert, M., Mächler, M., and McNeil, A. J. (2013). Archimedean Copulas in High Dimensions: Estimators and Numerical Challenges Motivated by Financial Applications. Journal de la Société Française de Statistique 154(1), 25–63.
See Also
emle
which returns an object of "mle"
providing useful methods not available for other estimators.
demo(opC-demo)
and vignette("GIG", package="copula")
for
examples of two-parameter families.
edmle
for the diagonal maximum likelihood estimator.
emde
for the minimum distance estimators.
etau
for the estimators based on Kendall's tau.
ebeta
for the estimator based on Blomqvist's beta.
Examples
tau <- 0.25
(theta <- copGumbel@iTau(tau)) # 4/3
d <- 12
(cop <- onacopulaL("Gumbel", list(theta,1:d)))
set.seed(1)
n <- 100
U <- rnacopula(n, cop)
meths <- eval(formals(enacopula)$method)
fun <- function(meth, u, cop, theta) {
run.time <- system.time(val <- enacopula(u, cop=cop, method=meth))
list(value=val, error=val-theta, utime.ms=1000*run.time[[1]])
}
t(res <- sapply(meths, fun, u=U, cop=cop, theta=theta))