emde {copula} | R Documentation

## 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 x 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

`"mde.chisq.CvM"`

  map to an Erlang distribution and using a chi-square distribution and Cramér-von Mises distance;

`"mde.chisq.KS"`

  map to an Erlang distribution and using a chi-square distribution and Kolmogorov-Smirnov distance;

`"mde.gamma.CvM"`

  map to an Erlang distribution and using a Erlang distribution and Cramér-von Mises distance;

`"mde.gamma.KS"`

  map to an Erlang distribution and using a Kolmogorov-Smirnov distance.

The four methods are described in Hofert et al. (2013); see also the ‘Details’ section.

`interval` | bivariate vector denoting the interval where optimization takes place. The default is computed as described in Hofert et al. (2013).
`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` here, where it is `TRUE` in the underlying `htrafo()` function.
`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`.

### Details

First, `htrafo` is applied to map the n x d-matrix of given realizations to a n x d-matrix or n x (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é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).

### Value

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

### References

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.

Hering, C. and Hofert, M. (2014), Goodness-of-fit tests for Archimedean copulas in high dimensions, Innovations in Quantitative Risk Management.

### See Also

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

### Examples

    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))

[Package copula version 0.999-15 Index]