BiCopEst {CDVine} | R Documentation |
This function estimates the parameter(s) for a bivariate copula using either inversion of empirical Kendall's tau for single parameter copula families or maximum likelihood estimation for one and two parameter copula families supported in this package.
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)))
u1,u2 |
Data vectors of equal length with values in [0,1]. |
family |
An integer defining the bivariate copula family: |
method |
Character indicating 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 |
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.
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.
par, par2 |
Estimated copula parameter(s). |
se,se2 |
Standard error(s) of the parameter estimate(s) (if |
Ulf Schepsmeier, Eike Brechmann, Jakob Stoeber, Carlos Almeida
Joe, H. (1997). Multivariate Models and Dependence Concepts. Chapman and Hall, London.
BiCopPar2Tau
, BiCopTau2Par
, CDVineSeqEst
, BiCopSelect
## Example 1: bivariate Gaussian copula dat = BiCopSim(500,1,0.7) u1 = dat[,1] v1 = dat[,2] # empirical Kendall's tau tau1 = cor(u1,v1,method="kendall") # inversion of empirical Kendall's tau BiCopTau2Par(1,tau1) BiCopEst(u1,v1,family=1,method="itau")$par # maximum likelihood estimate for comparison BiCopEst(u1,v1,family=1,method="mle")$par ## 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",se=TRUE) # inversion of empirical Kendall's tau for the survival Gumbel copula BiCopTau2Par(14,tau2) BiCopEst(u2,v2,family=14,method="itau",se=TRUE) # maximum likelihood estimates for comparison BiCopEst(u2,v2,family=3,method="mle",se=TRUE) BiCopEst(u2,v2,family=14,method="mle",se=TRUE) ## Example 3: fit of a t-copula to standardized residuals of ## S&P 500 and DAX returns data(worldindices) BiCopEst(worldindices[,1],worldindices[,4],family=2,method="mle",se=TRUE)