bCond.estParamCopula {CondCopulas}R Documentation

Estimation of the conditional parameters of a parametric conditional copula with discrete conditioning events.

Description

By Sklar's theorem, any conditional distribution function can be written as

F_{1,2|A}(x_1, x_2) = c_{1,2|A}(F_{1|A}(x_1), F_{2,A}(x_2)),

where A is an event and c_{1,2|A} is a copula depending on the event A. In this function, we assume that we have a partition A_1,... A_p of the probability space, and that for each k=1,...,p, the conditional copula is parametric according to the following model

c_{1,2|Ak} = c_{\theta(Ak)},

for some parameter \theta(Ak) depending on the realized event Ak. This function uses canonical maximum likelihood to estimate \theta(Ak) and the corresponding copulas c_{1,2|Ak}.

Usage

bCond.estParamCopula(U1, U2, family, partition)

Arguments

U1

vector of n conditional pseudo-observations of the first conditioned variable.

U2

vector of n conditional pseudo-observations of the second conditioned variable.

family

the family of conditional copulas used for each conditioning event A_k. If not of length p, it is recycled to match the number of events p.

partition

matrix of size n * p, where p is the number of conditioning events that are considered. partition[i,j] should be the indicator of whether the i-th observation belongs or not to the j-th conditioning event

Value

a list of size p containing the p conditional copulas

References

Derumigny, A., & Fermanian, J. D. (2017). About tests of the “simplifying” assumption for conditional copulas. Dependence Modeling, 5(1), 154-197. doi:10.1515/demo-2017-0011

Derumigny, A., & Fermanian, J. D. (2022) Conditional empirical copula processes and generalized dependence measures Electronic Journal of Statistics, 16(2), 5692-5719. doi:10.1214/22-EJS2075

See Also

bCond.pobs for the computation of (conditional) pseudo-observations in this framework.

bCond.simpA.param for a test of the simplifying assumption that all these conditional copulas are equal (assuming they all belong to the same parametric family). bCond.simpA.CKT for a test of the simplifying assumption that all these conditional copulas are equal, based on the equality of conditional Kendall's tau.

Examples

n = 800
Z = stats::runif(n = n)
CKT = 0.2 * as.numeric(Z <= 0.3) +
  0.5 * as.numeric(Z > 0.3 & Z <= 0.5) +
  - 0.8 * as.numeric(Z > 0.5)
simCopula = VineCopula::BiCopSim(N = n,
  par = VineCopula::BiCopTau2Par(CKT, family = 1), family = 1)
X1 = simCopula[,1]
X2 = simCopula[,2]
partition = cbind(Z <= 0.3, Z > 0.3 & Z <= 0.5, Z > 0.5)
condPseudoObs = bCond.pobs(X = cbind(X1, X2), partition = partition)

estimatedCondCopulas = bCond.estParamCopula(
  U1 = condPseudoObs[,1], U2 = condPseudoObs[,2],
  family = 1, partition = partition)
print(estimatedCondCopulas)
# Comparison with the true conditional parameters: 0.2, 0.5, -0.8.



[Package CondCopulas version 0.1.3 Index]