BiCopHinv {VineCopula} | R Documentation |
Inverse Conditional Distribution Function of a Bivariate Copula
Description
Evaluate the inverse conditional distribution function
(inverse h-function) of a given parametric bivariate copula.
Usage
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)
Arguments
u1 , u2 |
numeric vectors of equal length with values in [0,1] .
|
family |
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'') \cr `14` = rotated Gumbel copula (180 degrees; survival Gumbel”)
16 = rotated Joe copula (180 degrees; survival Joe'') \cr `17` = rotated BB1 copula (180 degrees; survival BB1”)
18 = rotated BB6 copula (180 degrees; survival BB6'')\cr `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)
|
par |
numeric; single number or vector of size length(u1) ;
copula parameter.
|
par2 |
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 .
|
obj |
BiCop object containing the family and parameter
specification.
|
check.pars |
logical; default is TRUE ; if FALSE , checks
for family/parameter-consistency are omitted (should only be used with
care).
|
Details
The h-function is defined as the conditional distribution function of a
bivariate copula, i.e.,
h1(u2∣u1;θ):=P(U2≤u2∣U1=u1)=∂u1∂C(u1,u2;θ),
h2(u1∣u2;θ):=P(U1≤u1∣U2=u2)=∂u2∂C(u1,u2;θ),
where (U1,U2)∼C
, and C
is a bivariate copula distribution
function with parameter(s) θ
.
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.
Value
BiCopHinv
returns a list with
hinv1 |
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.,
h1−1(u2∣u1;θ) .
|
hinv2 |
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.,
h2−1(u1∣u2;θ) .
|
BiCopHinv1
is a faster version that only calculates hinv1
;
BiCopHinv2
only calculates hinv2
.
Author(s)
Ulf Schepsmeier, Thomas Nagler
References
Aas, K., C. Czado, A. Frigessi, and H. Bakken (2009).
Pair-copula constructions of multiple dependence. Insurance: Mathematics and
Economics 44 (2), 182-198.
See Also
BiCopHfunc()
, BiCopPDF()
, BiCopCDF()
,
RVineLogLik()
, RVineSeqEst()
, BiCop()
Examples
# inverse h-functions of the Gaussian copula
cop <- BiCop(1, 0.5)
hi <- BiCopHinv(0.1, 0.2, cop)
# 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))
[Package
VineCopula version 2.5.0
Index]