Learn R Programming

copula (version 0.999-7)

emde: Minimum Distance Estimators for (Nested) Archimedean Copulas

Description

Compute minimum distance estimators for (nested) Archimedean copulas.

Usage

emde(u, cop,
     method=c("mde.chisq.CvM", "mde.chisq.KS",
              "mde.gamma.CvM", "mde.gamma.KS"),
     interval=initOpt(cop@copula@name),
     include.K = FALSE, repara = 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).
method
a character string specifying the distance method, which has to be one (or a unique abbreviation) of [object Object],[object Object],[object Object],[object Object] The four methods are descri
interval
bivariate vector denoting the interval where optimization takes place. The default is computed as described in Hofert et al.(2011a).
include.K
logical indicating whether the last component, the (possibly numerically challenging) Kendall distribution function $K$, is used (include.K=TRUE) or not. Note that the default is FALSE
repara
logical indicating whether the distance function to be optimized is reparametrized (the default); see the code for more details.
...
additional arguments passed to optimize.

Value

  • list as returned by optimize, including the minimum distance estimator.

Details

First, htrafo is applied to map the $n\times d$-matrix of given realizations to a $n\times d$-matrix or $n\times (d-1)$-matrix, depending on whether the last component is included (include.K=TRUE) or not. Second, using either the sum of squares of the standard normal quantile function (method="mde.chisq.CvM" and method="mde.chisq.KS") or the sum of negative logarithms (method="mde.gamma.CvM" and method="mde.gamma.KS"), a map to a chi-square or an Erlang distribution is applied, respectively. Finally, a Cramé{e}r-von Mises (method="mde.chisq.CvM" and method="mde.gamma.CvM") or Kolmogorov-Smirnov (method="mde.chisq.KS" and method="mde.gamma.KS") distance is applied. This is repeated in an optimization until the copula parameter is found such that this distance is minimized.

Note that the same transformations as described above are applied for goodness-of-fit testing; see the See Also section).

References

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

Hering, C. and Hofert, M. (2011), Goodness-of-fit tests for Archimedean copulas in large dimensions, submitted.

See Also

enacopula (wrapper for different estimators), gnacopula (wrapper for different goodness-of-fit tests), htrafo (transformation to a multivariate uniform distribution), and K (Kendall distribution function).

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)

(meths <- eval(formals(emde)$method)) # "mde.chisq.CvM", ...
fun <- function(meth, u, cop, theta){
	run.time <- system.time(val <- emde(u, cop=cop, method=meth)$minimum)
	list(value=val, error=val-theta, utime.ms=1000*run.time[[1]])
}
(res <- sapply(meths, fun, u=U, cop=cop, theta=theta))

Run the code above in your browser using DataLab