simpA.param {CondCopulas} | R Documentation |
Semiparametric testing of the simplifying assumption
Description
This function tests the “simplifying assumption” that a conditional copula
C_{1,2|3}(u_1, u_2 | X_3 = x_3)
does not depend on the
value of the conditioning variable x_3
in a semiparametric setting,
where the conditional copula is of the form
C_{1,2|3}(u_1, u_2 | X_3 = x_3) = C_{\theta(x_3)}(u_1,u_2),
for all 0 <= u_1, u_2 <= 1
and all x_3
.
Here, (C_\theta)
is a known family of copula and \theta(x_3)
is an unknown conditional dependence parameter.
In this setting, the simplifying assumption can be rewritten as
“\theta(x_3)
does not depend on x_3
, i.e. is a constant
function of x_3
”.
Usage
simpA.param(
X1,
X2,
X3,
family,
testStat = "T2c",
typeBoot = "boot.NP",
h,
nBootstrap = 100,
kernel.name = "Epanechnikov",
truncVal = h,
numericalInt = list(kind = "legendre", nGrid = 10)
)
Arguments
X1 |
vector of |
X2 |
vector of |
X3 |
vector of |
family |
the chosen family of copulas
(see the documentation of the class |
testStat |
name of the test statistic to be used.
The only choice implemented yet is |
typeBoot |
the type of bootstrap to be used. (see Derumigny and Fermanian, 2017, p.165). Possible values are
|
h |
the bandwidth used for kernel smoothing |
nBootstrap |
number of bootstrap replications |
kernel.name |
the name of the kernel |
truncVal |
the value of truncation for the integral,
i.e. the integrals are computed from |
numericalInt |
parameters to be given to
|
Value
a list containing
-
true_stat
: the value of the test statistic computed on the whole sample -
vect_statB
: a vector of lengthnBootstrap
containing the bootstrapped test statistics. -
p_val
: the p-value of the test.
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
Other tests of the simplifying assumption:
-
simpA.NP
in a nonparametric setting -
simpA.kendallReg
: test based on the constancy of conditional Kendall's tau the counterparts of these tests in the discrete conditioning setting:
bCond.simpA.CKT
(test based on conditional Kendall's tau)bCond.simpA.param
(test assuming a parametric form for the conditional copula)
Examples
# We simulate from a conditional copula
set.seed(1)
N = 500
Z = rnorm(n = N, mean = 5, sd = 2)
conditionalTau = -0.9 + 1.8 * pnorm(Z, mean = 5, sd = 2)
simCopula = VineCopula::BiCopSim(N=N , family = 1,
par = VineCopula::BiCopTau2Par(1 , conditionalTau ))
X1 = qnorm(simCopula[,1], mean = Z)
X2 = qnorm(simCopula[,2], mean = - Z)
result <- simpA.param(
X1 = X1, X2 = X2, X3 = Z, family = 1,
h = 0.03, kernel.name = "Epanechnikov", nBootstrap = 5)
print(result$p_val)
# In practice, it is recommended to use at least nBootstrap = 100
# with nBootstrap = 200 being a good choice.
set.seed(1)
N = 500
Z = rnorm(n = N, mean = 5, sd = 2)
conditionalTau = 0.8
simCopula = VineCopula::BiCopSim(N=N , family = 1,
par = VineCopula::BiCopTau2Par(1 , conditionalTau ))
X1 = qnorm(simCopula[,1], mean = Z)
X2 = qnorm(simCopula[,2], mean = - Z)
result <- simpA.param(
X1 = X1, X2 = X2, X3 = Z, family = 1,
h = 0.08, kernel.name = "Epanechnikov", nBootstrap = 5)
print(result$p_val)