estimateParCondCopula {CondCopulas}R Documentation

Estimation of parametric conditional copulas

Description

The function estimateParCondCopula computes an estimate of the conditional parameters in a conditional parametric copula model, i.e.

C_{X_1, X_2 | X_3 = x_3} = C_{\theta(x_3)},

for some parametric family (C_\theta), some conditional parameter \theta(x_3), and a three-dimensional random vector (X_1, X_2, X_3). Remember that C_{X_1,X_2 | X_3 = x_3} denotes the conditional copula of X_1 and X_2 given X_3 = x_3.

The function estimateParCondCopula_ZIJ is an auxiliary function that is called when conditional pseudos-observations are already available when one wants to estimate a parametric conditional copula.

Usage

estimateParCondCopula(
  observedX1,
  observedX2,
  observedX3,
  newX3,
  family,
  method = "mle",
  h
)

estimateParCondCopula_ZIJ(Z1_J, Z2_J, observedX3, newX3, family, method, h)

Arguments

observedX1

a vector of n observations of the first conditioned variable

observedX2

a vector of n observations of the second conditioned variable

observedX3

a vector of n observations of the conditioning variable

newX3

a vector of new observations of X3

family

an integer indicating the parametric family of copulas to be used, following the conventions of the package VineCopula.

method

the method of estimation of the conditional parameters. Can be "mle" for maximum likelihood estimation or "itau" for estimation by inversion of Kendall's tau.

h

bandwidth to be chosen

Z1_J

the conditional pseudos-observations of the first variable, i.e. \hat F_{1|J}( x_{i,1} | x_J = x_{i,J}) for i=1,\dots, n.

Z2_J

the conditional pseudos-observations of the second variable, i.e. \hat F_{2|J}( x_{i,2} | x_J = x_{i,J}) for i=1,\dots, n.

Value

a vector of size length(newX3) containing the estimated conditional copula parameters for each value of newX3.

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

See Also

estimateNPCondCopula for estimating a conditional copula in a nonparametric setting ( = without parametric assumption on the conditional copula). simpA.param for a test that this conditional copula is constant with respect to the value x_3 of the conditioning variable.

Examples


# We simulate from a conditional copula
N = 500

X3 = rnorm(n = N, mean = 5, sd = 2)
conditionalTau = 0.9 * pnorm(X3, mean = 5, sd = 2)
simCopula = VineCopula::BiCopSim(
    N=N , family = 1, par = VineCopula::BiCopTau2Par(1 , conditionalTau ))
X1 = qnorm(simCopula[,1])
X2 = qnorm(simCopula[,2])

gridnewX3 = seq(2, 8, by = 1)
conditionalTauNewX3 = 0.9 * pnorm(gridnewX3, mean = 5, sd = 2)

vecEstimatedThetas = estimateParCondCopula(
  observedX1 = X1, observedX2 = X2, observedX3 = X3,
  newX3 = gridnewX3, family = 1, h = 0.1)

# Estimated conditional parameters
vecEstimatedThetas
# True conditional parameters
VineCopula::BiCopTau2Par(1 , conditionalTauNewX3 )

# Estimated conditional Kendall's tau
VineCopula::BiCopPar2Tau(1 , vecEstimatedThetas )
# True conditional Kendall's tau
conditionalTauNewX3



[Package CondCopulas version 0.1.3 Index]