This function computes the theoretical Kendall's tau value of a bivariate copula for given parameter values.
BiCopPar2Tau(family, par, par2 = 0, obj = NULL, check.pars = TRUE)
integer; single number or vector of size m
; 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)
numeric; single number or vector of size n
; copula
parameter.
numeric; single number or vector of size n
; second
parameter for bivariate copulas with two parameters (t, BB1, BB6, BB7, BB8,
Tawn type 1 and type 2; default: par2 = 0
). Note that the degrees of
freedom parameter of the t-copula does not need to be set, because the
theoretical Kendall's tau value of the t-copula is independent of this
choice.
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).
Theoretical value of Kendall's tau (vector) corresponding to the
bivariate copula family
and parameter vector \((\theta, \delta) =\)
(par, par2)
.
No. (family ) | Kendall's tau (tau ) |
1, 2 | \(\frac{2}{\pi}\arcsin(\theta)\) |
3, 13 | \(\frac{\theta}{\theta+2}\) |
4, 14 | \(1-\frac{1}{\theta}\) |
5 | \(1-\frac{4}{\theta}+4\frac{D_1(\theta)}{\theta}\) |
with \(D_1(\theta)=\int_0^\theta \frac{x/\theta}{\exp(x)-1}dx\) (Debye function) | |
6, 16 | \(1+\frac{4}{\theta^2}\int_0^1 x\log(x)(1-x)^{2(1-\theta)/\theta}dx\) |
7, 17 | \(1-\frac{2}{\delta(\theta+2)}\) |
8, 18 | \(1+4\int_0^1 -\log(-(1-t)^\theta+1) (1-t-(1-t)^{-\theta}+(1-t)^{-\theta}t)/(\delta\theta) dt\) |
9, 19 | \(1+4\int_0^1 ( (1-(1-t)^{\theta})^{-\delta} - 1) /( -\theta\delta(1-t)^{\theta-1}(1-(1-t)^{\theta})^{-\delta-1} ) dt\) |
10, 20 | \(1+4\int_0^1 -\log \left(((1-t\delta)^\theta-1)/((1-\delta)^\theta-1) \right) \) |
\(* (1-t\delta-(1-t\delta)^{-\theta}+(1-t\delta)^{-\theta}t\delta)/(\theta\delta) dt\) | |
23, 33 | \(\frac{\theta}{2-\theta}\) |
24, 34 | \(-1-\frac{1}{\theta}\) |
26, 36 | \(-1-\frac{4}{\theta^2}\int_0^1 x\log(x)(1-x)^{-2(1+\theta)/\theta}dx\) |
27, 37 | \(-1-\frac{2}{\delta(2-\theta)}\) |
28, 38 | \(-1-4\int_0^1 -\log(-(1-t)^{-\theta}+1) (1-t-(1-t)^{\theta}+(1-t)^{\theta}t)/(\delta\theta) dt\) |
29, 39 | \(-1-4\int_0^1 ( (1-(1-t)^{-\theta})^{\delta} - 1) /( -\theta\delta(1-t)^{-\theta-1}(1-(1-t)^{-\theta})^{\delta-1} ) dt\) |
30, 40 | \(-1-4\int_0^1 -\log \left( ((1+t\delta)^{-\theta}-1)/((1+\delta)^{-\theta}-1) \right)\) |
\(* (1+t\delta-(1+t\delta)^{\theta}-(1+t\delta)^{\theta}t\delta)/(\theta\delta) dt\) | |
104,114 | \(\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\) |
with \(A(t) = (1-\delta)t+[(\delta(1-t))^{\theta}+t^{\theta}]^{1/\theta}\) | |
204,214 | \(\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\) |
with \(A(t) = (1-\delta)(1-t)+[(1-t)^{-\theta}+(\delta t)^{-\theta}]^{-1/\theta}\) | |
124,134 | \(-\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\) |
with \(A(t) = (1-\delta)t+[(\delta(1-t))^{-\theta}+t^{-\theta}]^{-1/\theta}\) | |
224,234 | \(-\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\) |
with \(A(t) = (1-\delta)(1-t)+[(1-t)^{-\theta}+(\delta t)^{-\theta}]^{-1/\theta}\) |
If the family and parameter specification is stored in a BiCop()
object obj
, the alternative version
BiCopPar2Tau(obj)
can be used.
The number n
can be chosen arbitrarily, but must agree across
arguments.
Joe, H. (1997). Multivariate Models and Dependence Concepts. Chapman and Hall, London.
Czado, C., U. Schepsmeier, and A. Min (2012). Maximum likelihood estimation of mixed C-vines with application to exchange rates. Statistical Modelling, 12(3), 229-255.
## Example 1: Gaussian copula
tau0 <- 0.5
rho <- BiCopTau2Par(family = 1, tau = tau0)
# transform back
tau <- BiCopPar2Tau(family = 1, par = rho)
tau - 2/pi*asin(rho)
#> [1] 0
## Example 2:
vpar <- seq(from = 1.1, to = 10, length.out = 100)
tauC <- BiCopPar2Tau(family = 3, par = vpar)
tauG <- BiCopPar2Tau(family = 4, par = vpar)
tauF <- BiCopPar2Tau(family = 5, par = vpar)
tauJ <- BiCopPar2Tau(family = 6, par = vpar)
plot(tauC ~ vpar, type = "l", ylim = c(0,1))
lines(tauG ~ vpar, col = 2)
lines(tauF ~ vpar, col = 3)
lines(tauJ ~ vpar, col = 4)
## Example 3: different copula families
theta <- BiCopTau2Par(family = c(3,4,6), tau = c(0.4, 0.5, 0.6))
BiCopPar2Tau(family = c(3,4,6), par = theta)
#> [1] 0.4 0.5 0.6
# \dontshow{
# Test BiCopPar2Tau (one parametric families)
theta <- BiCopTau2Par(family = 0, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 0, par = theta)
#> [1] 0 0 0
theta <- BiCopTau2Par(family = 1, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 1, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 3, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 3, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 4, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 4, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 5, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 5, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 6, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 6, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 13, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 13, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 14, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 14, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 16, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 16, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 23, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 23, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 24, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 24, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 26, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 26, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 33, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 33, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 34, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 34, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 36, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 36, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 41, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 41, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 51, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 51, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 61, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 61, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 71, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 71, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 41, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 41, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 51, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 51, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 61, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 61, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 71, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 71, par = theta)
#> [1] -0.4 -0.5 -0.6
# Test BiCopPar2Tau (two parametric families)
theta <- BiCopTau2Par(family = 2, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 2, par = theta)
#> [1] 0.4 0.5 0.6
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 7, par = theta, par2 = delta)
#> [1] 0.3333333 0.7500000 0.8666667
BiCopPar2Tau(family = 17, par = theta, par2 = delta)
#> [1] 0.3333333 0.7500000 0.8666667
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 27, par = theta, par2 = delta)
#> [1] -0.3333333 -0.7500000 -0.8666667
BiCopPar2Tau(family = 37, par = theta, par2 = delta)
#> [1] -0.3333333 -0.7500000 -0.8666667
theta <- 2:4
delta <- 1:3
BiCopPar2Tau(family = 8, par = theta, par2 = delta)
#> [1] 0.3550658 0.7589812 0.8712351
BiCopPar2Tau(family = 18, par = theta, par2 = delta)
#> [1] 0.3550658 0.7589812 0.8712351
theta <- -(2:4)
delta <- -(1:3)
BiCopPar2Tau(family = 28, par = theta, par2 = delta)
#> [1] -0.3550658 -0.7589812 -0.8712351
BiCopPar2Tau(family = 38, par = theta, par2 = delta)
#> [1] -0.3550658 -0.7589812 -0.8712351
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 9, par = theta, par2 = delta)
#> [1] 0.3333333 0.5833333 0.6848485
BiCopPar2Tau(family = 19, par = theta, par2 = delta)
#> [1] 0.3333333 0.5833333 0.6848485
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 29, par = theta, par2 = delta)
#> [1] -0.3333333 -0.5833333 -0.6848485
BiCopPar2Tau(family = 39, par = theta, par2 = delta)
#> [1] -0.3333333 -0.5833333 -0.6848485
theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 10, par = theta, par2 = delta)
#> [1] 0.01200125 0.16649954 0.53531633
BiCopPar2Tau(family = 20, par = theta, par2 = delta)
#> [1] 0.01200125 0.16649954 0.53531633
theta <- -(2:4)
delta <- -c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 30, par = theta, par2 = delta)
#> [1] -0.01200125 -0.16649954 -0.53531633
BiCopPar2Tau(family = 40, par = theta, par2 = delta)
#> [1] -0.01200125 -0.16649954 -0.53531633
theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 104, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
BiCopPar2Tau(family = 114, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 124, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
BiCopPar2Tau(family = 134, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 204, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
BiCopPar2Tau(family = 214, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 224, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
BiCopPar2Tau(family = 234, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
# }