Evaluate the inverse conditional distribution function (inverse h-function) of a given parametric bivariate copula.
BiCopHinv(u1, u2, family, par, par2 = 0, obj = NULL,
  check.pars = TRUE)BiCopHinv1(u1, u2, family, par, par2 = 0, obj = NULL,
  check.pars = TRUE)
BiCopHinv2(u1, u2, family, par, par2 = 0, obj = NULL,
  check.pars = TRUE)
numeric vectors of equal length with values in [0,1].
integer; single number or vector of size length(u1);
defines the bivariate copula family: 
0 = independence copula 
1 = Gaussian copula 
2 = Student t copula (t-copula) 
3 = Clayton copula 
4 = Gumbel copula 
5 = Frank copula 
6 = Joe copula 
7 = BB1 copula 
8 = BB6 copula 
9 = BB7 copula 
10 = BB8 copula 
13 = rotated Clayton copula (180 degrees; ``survival Clayton'') 
14 = rotated Gumbel copula (180 degrees; ``survival Gumbel'') 
16 = rotated Joe copula (180 degrees; ``survival Joe'') 
17 = rotated BB1 copula (180 degrees; ``survival BB1'')
18 = rotated BB6 copula (180 degrees; ``survival BB6'')
19 = rotated BB7 copula (180 degrees; ``survival BB7'')
20 = rotated BB8 copula (180 degrees; ``survival BB8'')
23 = rotated Clayton copula (90 degrees) 
24 = rotated Gumbel copula (90 degrees) 
26 = rotated Joe copula (90 degrees) 
27 = rotated BB1 copula (90 degrees) 
28 = rotated BB6 copula (90 degrees) 
29 = rotated BB7 copula (90 degrees) 
30 = rotated BB8 copula (90 degrees) 
33 = rotated Clayton copula (270 degrees) 
34 = rotated Gumbel copula (270 degrees) 
36 = rotated Joe copula (270 degrees) 
37 = rotated BB1 copula (270 degrees) 
38 = rotated BB6 copula (270 degrees) 
39 = rotated BB7 copula (270 degrees) 
40 = rotated BB8 copula (270 degrees) 
104 = Tawn type 1 copula 
114 = rotated Tawn type 1 copula (180 degrees) 
124 = rotated Tawn type 1 copula (90 degrees) 
134 = rotated Tawn type 1 copula (270 degrees) 
204 = Tawn type 2 copula 
214 = rotated Tawn type 2 copula (180 degrees) 
224 = rotated Tawn type 2 copula (90 degrees) 
234 = rotated Tawn type 2 copula (270 degrees)
numeric; single number or vector of size length(u1);
copula parameter.
numeric; single number or vector of size length(u1);
second parameter for bivariate copulas with two parameters (t, BB1, BB6,
BB7, BB8, Tawn type 1 and type 2; default: par2 = 0). par2
should be an positive integer for the Students's t copula family = 2.
BiCop object containing the family and parameter
specification.
logical; default is TRUE; if FALSE, checks
for family/parameter-consistency are omitted (should only be used with
care).
BiCopHinv returns a list with
Numeric vector of the inverse conditional distribution function
(inverse h-function) of the copula family with parameter(s)
par, par2 evaluated at u2 given u1, i.e.,
\(h_1^{-1}(u_2|u_1;\boldsymbol{\theta})\).
Numeric vector of the inverse conditional distribution function
(inverse h-function) of the copula family with parameter(s) par,
par2 evaluated at u1 given u2, i.e.,
\(h_2^{-1}(u_1|u_2;\boldsymbol{\theta})\).
The h-function is defined as the conditional distribution function of a bivariate copula, i.e., $$h_1(u_2|u_1;\boldsymbol{\theta}) := P(U_2 \le u_2 | U_1 = u_1) = \frac{\partial C(u_1, u_2; \boldsymbol{\theta})}{\partial u_1}, $$ $$h_2(u_1|u_2;\boldsymbol{\theta}) := P(U_1 \le u_1 | U_2 = u_2) = \frac{\partial C(u_1, u_2; \boldsymbol{\theta})}{\partial u_2}, $$ where \((U_1, U_2) \sim C\), and \(C\) is a bivariate copula distribution function with parameter(s) \(\boldsymbol{\theta}\). For more details see Aas et al. (2009).
If the family and parameter specification is stored in a BiCop
object obj, the alternative version
BiCopHinv(u1, u2, obj), BiCopHinv1(u1, u2, obj), BiCopHinv2(u1, u2, obj)
can be used.
Aas, K., C. Czado, A. Frigessi, and H. Bakken (2009). Pair-copula constructions of multiple dependence. Insurance: Mathematics and Economics 44 (2), 182-198.
BiCopHfunc, BiCopPDF, BiCopCDF,
RVineLogLik, RVineSeqEst, BiCop
# NOT RUN {
# inverse h-functions of the Gaussian copula
cop <- BiCop(1, 0.5)
hi <- BiCopHinv(0.1, 0.2, cop)
# }
# NOT RUN {
# or using the fast versions
hi1 <- BiCopHinv1(0.1, 0.2, cop)
hi2 <- BiCopHinv2(0.1, 0.2, cop)
all.equal(hi$hinv1, hi1)
all.equal(hi$hinv2, hi2)
# check if it is actually the inverse
cop <- BiCop(3, 3)
all.equal(0.2, BiCopHfunc1(0.1, BiCopHinv1(0.1, 0.2, cop), cop))
all.equal(0.1, BiCopHfunc2(BiCopHinv2(0.1, 0.2, cop), 0.2, cop))
# }
Run the code above in your browser using DataLab