initOpt {copula} | R Documentation |
Initial Interval or Value for Parameter Estimation of Archimedean Copulas
Description
Compute an initial interval or initial value for optimization/estimation routines (only a heuristic; if this fails, choose your own interval or value).
Usage
initOpt(family, tau.range=NULL, interval = TRUE, u,
method = c("tau.Gumbel", "tau.mean"), warn = TRUE, ...)
Arguments
family |
Archimedean family to find an initial interval for. |
tau.range |
numeric vector containing lower and upper admissible
Kendall's tau, or |
interval |
|
u |
matrix of realizations following the copula family specified
by |
method |
a
|
warn |
logical indicating if warnings are printed for
|
... |
additional arguments passed to |
Details
For method="tau.mean"
and interval=FALSE
, the mean of pairwise
sample versions of Kendall's tau is computed as an estimator of the Kendall's
tau of the Archimedean copula family provided. This can be slow, especially
if the dimension is large. Method method="tau.Gumbel"
(the default)
uses the explicit and thus very fast diagonal maximum-likelihood estimator for
Gumbel's family to find initial values. Given this estimator
\hat{\theta}^\mathrm{G}
, the corresponding Kendall's tau
is \tau^\mathrm{G}(\hat{\theta}^\mathrm{G})
where
\tau^\mathrm{G}(\theta)=(\theta-1)/\theta
denotes Kendall's tau for Gumbel. This provides an estimator of Kendall's tau
which is typically much faster to evaluate than, pairwise Kendall's taus.
Given the estimated ‘amount of concordance’ based on Kendall's tau, one
can obtain an initial value for the provided family by applying
\tau^{-1}
, that is, the inverse of Kendall's tau of the
family for which the initial value is to be computed. Note that if the
estimated Kendall's tau does not lie in the range of Kendall's tau as provided
by the bivariate vector tau.range
, the point in tau.range
closest to the estimated Kendall's tau is chosen.
The default (interval=TRUE
) returns a reasonably large initial
interval; see the default of tau.range
in the definition of
initOpt
for the chosen values (in terms of Kendall's tau). These
default values cover a large range of concordance. If this interval is
(still) too small, one can adjust it by providing tau.range
. If it is
too large, a ‘distance to concordance’ can be used to determine
parameter values such that the corresponding Kendall's taus share a certain
distance to the initial value. For more details, see Hofert et al. (2012).
Finally, let us note that for the case interval=TRUE
, u
is not
required.
Value
initial interval which can be used for optimization (for example, for
emle
).
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.
See Also
enacopula
, emle
, edmle
,
emde
, and ebeta
(where initOpt
is
applied to find initial intervals).
Examples
## Definition of the function:
initOpt
## Generate some data:
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)
## Initial interval:
initOpt("Gumbel") # contains theta
## Initial values:
initOpt("Gumbel", interval=FALSE, u=U) # 1.3195
initOpt("Gumbel", interval=FALSE, u=U, method="tau.mean") # 1.2844