Learn R Programming

HAC (version 0.1-1)

estimate.copula: Estimation of the structure of HAC

Description

The function estimate.copula estimates the parameter and determines the structure of Hierarchical Archimedean Copulae.

Usage

estimate.copula(X, type = HAC_GUMBEL, method = TAU, epsilon = 0)

Arguments

X
a matrix, which contains the data. The columns should be labeled. The default names X1, ..., Xdim[X]2 are given otherwise.
type
defines the model. It can be selected between HAC_GUMBEL, AC_GUMBEL, HAC_CLAYTON, AC_CLAYTON and GAUSS.
method
the estimation method. Either ``Kendall's $\tau$'' denoted by TAU or ``Quasi Maximum Likelihood'' denoted by ML.
epsilon
a scalar $\geq 0$. The variables of consecutive nodes are aggregated, if the difference of their dependency parameters is smaller than epsilon. For a detailed explanation see also aggregate.hac<

Value

  • An object of the class hac is returned. In the case of type = GAUSS a matrix is returned.

Details

It is not possible to estimate negative dependencies using a HAC-type in combination with Kendall's $\tau$. If variables of X are negatively correlated, the correlation is set to $0$.

References

Okhrin, O., Okhrin, Y. and Schmid, W., Determining the structure and estimation of hierarchical Archimedean copulas, Journal of Econometrics, under revision. Joe, H. 2005, Asymptotic efficiency of the two-stage estimation method for copula-based models, Journal of Multivariate Analysis, Volume 94 Issue 2, 401-419. Genest, C., Ghoudi, K., and Rivest, L. P. 1995, A Semiparametric Estimation Procedure of Dependence Parameters in Multivariate Families of Distributions, Biometrika 82, 543-552.

Examples

Run this code
M = matrix(c(2, 0, 0, 0, 3, 4, 0, 0, ~X1 + X5, ~X2, ~X3, ~X4),
ncol = 4, byrow = TRUE)
g.model = hac(HAC_GUMBEL, M)

# sample from copula g.model
x = rHAC(1000, g.model)

# in the following case the true model is binary approximated
est.obj = estimate.copula(x, HAC_GUMBEL, TAU, epsilon = 0)
plot(est.obj, index = TRUE)

# consider also the aggregation of the variables
est.obj = estimate.copula(x, HAC_GUMBEL, TAU, epsilon = 0.1)
plot(est.obj, index = TRUE)

Run the code above in your browser using DataLab