BiCopEst | R Documentation |
This function estimates the parameter(s) of a bivariate copula using either inversion of empirical Kendall's tau (for one parameter copula families only) or maximum likelihood estimation for implemented copula families.
BiCopEst(
u1,
u2,
family,
method = "mle",
se = FALSE,
max.df = 30,
max.BB = list(BB1 = c(5, 6), BB6 = c(6, 6), BB7 = c(5, 6), BB8 = c(6, 1)),
weights = NA
)
u1 , u2 |
Data vectors of equal length with values in |
family |
An integer defining the bivariate copula family: |
method |
indicates the estimation method: either maximum
likelihood estimation ( |
se |
Logical; whether standard error(s) of parameter estimates is/are
estimated (default: |
max.df |
Numeric; upper bound for the estimation of the degrees of
freedom parameter of the t-copula (default: |
max.BB |
List; upper bounds for the estimation of the two parameters
(in absolute values) of the BB1, BB6, BB7 and BB8 copulas |
weights |
Numerical; weights for each observation (optional). |
If method = "itau"
, the function computes the empirical Kendall's tau
of the given copula data and exploits the one-to-one relationship of copula
parameter and Kendall's tau which is available for many one parameter
bivariate copula families (see BiCopPar2Tau()
and
BiCopTau2Par()
). The inversion of Kendall's tau is however not
available for all bivariate copula families (see above). If a two parameter
copula family is chosen and method = "itau"
, a warning message is
returned and the MLE is calculated.
For method = "mle"
copula parameters are estimated by maximum
likelihood using starting values obtained by method = "itau"
. If no
starting values are available by inversion of Kendall's tau, starting values
have to be provided given expert knowledge and the boundaries max.df
and max.BB
respectively. Note: The MLE is performed via numerical
maximization using the L_BFGS-B method. For the Gaussian, the t- and the
one-parametric Archimedean copulas we can use the gradients, but for the BB
copulas we have to use finite differences for the L_BFGS-B method.
A warning message is returned if the estimate of the degrees of freedom
parameter of the t-copula is larger than max.df
. For high degrees of
freedom the t-copula is almost indistinguishable from the Gaussian and it is
advised to use the Gaussian copula in this case. As a rule of thumb
max.df = 30
typically is a good choice. Moreover, standard errors of
the degrees of freedom parameter estimate cannot be estimated in this case.
An object of class BiCop()
, augmented with the following
entries:
se , se2 |
standard errors for the parameter estimates (if
|
nobs |
number of observations, |
logLik |
log likelihood |
AIC |
Aikaike's Informaton Criterion, |
BIC |
Bayesian's Informaton Criterion, |
emptau |
empirical value of Kendall's tau, |
p.value.indeptest |
p-value of the independence test. |
For a comprehensive summary of the fitted model, use summary(object)
;
to see all its contents, use str(object)
.
Ulf Schepsmeier, Eike Brechmann, Jakob Stoeber, Carlos Almeida
Joe, H. (1997). Multivariate Models and Dependence Concepts. Chapman and Hall, London.
BiCop()
,
BiCopPar2Tau()
,
BiCopTau2Par()
,
RVineSeqEst()
,
BiCopSelect()
,
## Example 1: bivariate Gaussian copula
dat <- BiCopSim(500, 1, 0.7)
u1 <- dat[, 1]
v1 <- dat[, 2]
# estimate parameters of Gaussian copula by inversion of Kendall's tau
est1.tau <- BiCopEst(u1, v1, family = 1, method = "itau")
est1.tau # short overview
summary(est1.tau) # comprehensive overview
str(est1.tau) # see all contents of the object
# check if parameter actually coincides with inversion of Kendall's tau
tau1 <- cor(u1, v1, method = "kendall")
all.equal(BiCopTau2Par(1, tau1), est1.tau$par)
# maximum likelihood estimate for comparison
est1.mle <- BiCopEst(u1, v1, family = 1, method = "mle")
summary(est1.mle)
## Example 2: bivariate Clayton and survival Gumbel copulas
# simulate from a Clayton copula
dat <- BiCopSim(500, 3, 2.5)
u2 <- dat[, 1]
v2 <- dat[, 2]
# empirical Kendall's tau
tau2 <- cor(u2, v2, method = "kendall")
# inversion of empirical Kendall's tau for the Clayton copula
BiCopTau2Par(3, tau2)
BiCopEst(u2, v2, family = 3, method = "itau")
# inversion of empirical Kendall's tau for the survival Gumbel copula
BiCopTau2Par(14, tau2)
BiCopEst(u2, v2, family = 14, method = "itau")
# maximum likelihood estimates for comparison
BiCopEst(u2, v2, family = 3, method = "mle")
BiCopEst(u2, v2, family = 14, method = "mle")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.