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, ...)
outer_nacopula
to be estimated
(currently only Archimedean copulas are provided).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 descriinclude.K=TRUE
) or not. Note that the default is
FALSE
optimize
.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
Crammethod="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
Hering, C. and Hofert, M. (2011), Goodness-of-fit tests for Archimedean copulas in large dimensions, submitted.
enacopula
(wrapper for different estimators),
gnacopula
(wrapper for different goodness-of-fit tests),
htrafo
(transformation to a multivariate uniform
distribution),
gtrafouni
(transformation to a chi-square or Erlang
distribution), and
K
(Kendall distribution function).tau <- 0.25
(theta <- copGumbel@tauInv(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