Learn R Programming

CondCopulas (version 0.2.0)

bCond.estParamCopula: 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)

Value

a list of size p containing the p conditional copulas

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

References

Derumigny, A., & Fermanian, J. D. (2017). About tests of the “simplifying” assumption for conditional copulas. Dependence Modeling, 5(1), 154-197. tools:::Rd_expr_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. tools:::Rd_expr_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

Run this code
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.


Run the code above in your browser using DataLab