mlehac: mlehac

View source: R/mlehac.R

mlehacR Documentation

mlehac

Description

Given a q-dimensional random vector \mathbf{X} = (\mathbf{X}_{1},...,\mathbf{X}_{k}) with \mathbf{X}_{i} a d_{i}-dimensional random vector, i.e., q = d_{1} + ... + d_{k}, this function performs maximum pseudo-likelihood estimation for the parameters of a hierarchical Archimedean copula with two nesting levels of a specific type, used for modelling the dependence between \mathbf{X}_{1}, \dots, \mathbf{X}_{k}.

Usage

mlehac(sample, dim, type, start_val = NULL)

Arguments

sample

A sample from a q-dimensional random vector \mathbf{X} (n \times q matrix with observations in rows, variables in columns).

dim

The vector of dimensions (d_{1},...,d_{k}).

type

The type of Archimedean copula.

start_val

The starting values for the parameters (\theta_{0},\theta_{1},...,\theta_{k}) of the
hierarchical Archimedean copula.

Details

Under the assumption that \mathbf{X} = (\mathbf{X}_{1}, \dots, \mathbf{X}_{k}) has a hierarchical Archimedean copula with two nesting levels, i.e.,

C(\mathbf{u}) = C_{0} \left (C_{1}(\mathbf{u}_{1}), \dots, C_{k}(\mathbf{u}_{k}) \right ),

where \mathbf{u} = (\mathbf{u}_{1}, \dots, \mathbf{u}_{k}) \in \mathbb{R}^{q} with \mathbf{u}_{i} \in \mathbb{R}^{d_{i}} for i = 1, \dots, k, and with \theta_{i} the parameter of C_{i} for i = 0,1, \dots, k (see the function gethac), this functions performs maximum pseudo-likelihood estimation for \boldsymbol{\theta}_{C} = (\theta_{0}, \theta_{1}, \dots, \theta_{k}). This means that for \widehat{F}_{ij}(x_{ij}) = \frac{1}{n+1} \sum_{\ell = 1}^{n} 1 \left (X_{ij}^{(\ell)} \leq x_{ij} \right ) the (rescaled) empirical cdf of X_{ij} based on a sample X_{ij}^{(1)}, \dots, X_{ij}^{(n)} for i = 1, \dots, k and j = 1, \dots, d_{i} (recall that \mathbf{X}_{i} = (X_{i1}, \dots, X_{id_{i}})), we look for

\widehat{\boldsymbol{\theta}}_{C,n}^{\text{NP}} = \text{arg max}_{\boldsymbol{\theta}_{C}} \sum_{\ell = 1}^{n} \ln \left \{c \left ( \widehat{F}_{11} \left (X_{11}^{(\ell)} \right ), \dots, \widehat{F}_{kd_{k}} \left (X_{kd_{k}}^{(\ell)} \right ) ; \boldsymbol{\theta}_{C} \right ) \right \},

where c( \cdot ; \boldsymbol{\theta}_{C}) is the copula density of the hierarchical Archimedean copula.

We assume that C_{i} belongs to the same family of Archimedean copulas (e.g., Clayton) for i = 0, \dots, k, and make use of the R package ‘HAC’.

In case the starting values (start_val) are not specified, the starting value for \theta_{0} is put equal to 1.9 and the starting values for \theta_{i} with i \in \{1, \dots, k \} are determined by performing maximum pseudo-likelihood estimation to the d_{i}-dimensional marginals with starting value 2.

Value

The maximum pseudo-likelihood estimates for (\theta_{0},\theta_{1}, \dots, \theta_{k}).

References

De Keyser, S. & Gijbels, I. (2024). Parametric dependence between random vectors via copula-based divergence measures. Journal of Multivariate Analysis 203:105336.
doi: https://doi.org/10.1016/j.jmva.2024.105336.

Okhrin, O., Ristig, A. & Chen, G. (2024). HAC: estimation, simulation and visualization of hierarchical Archimedean copulae (HAC), R package version 1.1-1.
url: https://CRAN.R-project.org/package=HAC.

See Also

gethac for creating a hac object with two nesting levels, phihac for computing the \Phi-dependence between all the child copulas of a hac object with two nesting levels, Helhac for computing the Hellinger distance between all the child copulas of a hac object with two nesting levels.

Examples

dim = c(2,2)
thetas = c(2,3,4)

# Sample size
n = 1000

# 4 dimensional nested Gumbel copula with (theta_0,theta_1,theta_2) = (2,3,4)
HAC = gethac(dim,thetas,type = 1)

# Sample
sample = suppressWarnings(HAC::rHAC(n,HAC))

# Maximum pseudo-likelihood estimator with starting values equal to thetas
HAC_est_1 = mlehac(sample,dim,1,thetas)

# Maximum pseudo-likelihood estimator with starting values
# theta_0 = 1.9, and theta_1, theta_2 determined by maximum
# pseudo-likelihood estimation for marginal child copulas

HAC_est_2 = mlehac(sample,dim,1)



VecDep documentation built on April 4, 2025, 5:14 a.m.