This function evaluates the derivative of a given conditional parametric bivariate copula (h-function) with respect to its parameter(s) or one of its arguments.

BiCopHfuncDeriv(
  u1,
  u2,
  family,
  par,
  par2 = 0,
  deriv = "par",
  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
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'')
23 = rotated Clayton copula (90 degrees)
`24` = rotated Gumbel copula (90 degrees)
`26` = rotated Joe copula (90 degrees)
`33` = rotated Clayton copula (270 degrees)
`34` = rotated Gumbel copula (270 degrees)
`36` = rotated Joe copula (270 degrees)

par

numeric; single number or vector of size length(u1); copula parameter.

par2

integer; single number or vector of size length(u1); second parameter for the t-Copula; default is par2 = 0, should be an positive integer for the Students's t copula family = 2.

deriv

Derivative argument
"par" = derivative with respect to the first parameter (default)
"par2" = derivative with respect to the second parameter (only available for the t-copula)
"u2" = derivative with respect to the second argument u2

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).

Value

A numeric vector of the conditional bivariate copula derivative

  • of the copula family,

  • with parameter(s) par, par2,

  • with respect to deriv,

  • evaluated at u1 and u2.

Details

If the family and parameter specification is stored in a BiCop() object obj, the alternative version

BiCopHfuncDeriv(u1, u2, obj, deriv = "par")

can be used.

References

Schepsmeier, U. and J. Stoeber (2014). Derivatives and Fisher information of bivariate copulas. Statistical Papers, 55 (2), 525-542.
https://link.springer.com/article/10.1007/s00362-013-0498-x.

Author

Ulf Schepsmeier

Examples


## simulate from a bivariate Student-t copula
set.seed(123)
cop <- BiCop(family = 2, par = -0.7, par2 = 4)
simdata <- BiCopSim(100, cop)

## derivative of the conditional Student-t copula
## with respect to the first parameter
u1 <- simdata[,1]
u2 <- simdata[,2]
BiCopHfuncDeriv(u1, u2, cop, deriv = "par")
#>   [1] -0.598879576 -0.694092965  1.101459131 -0.579894656  0.085143765
#>   [6]  0.045263264 -0.124492828 -0.914662735  0.264757455 -0.809827056
#>  [11] -0.144991103 -0.316577613 -0.320545869 -0.179146455  0.366497913
#>  [16] -0.040173353 -0.369191559  0.014361201  0.592846659  0.359471850
#>  [21]  0.097449063  0.237241992  0.198754672  0.053242904 -0.754926562
#>  [26]  0.041462568  0.827360291  0.553869372 -0.490998434  0.190831164
#>  [31]  0.783682679  0.362917733  0.082694956 -0.249834704  0.101055634
#>  [36] -0.182089378  0.526243348  0.485013788 -0.222883303  0.440803641
#>  [41] -0.326582560 -0.555969332  0.065956789 -0.017284873  0.684402406
#>  [46] -0.257875035 -0.312641751  0.388477301  0.879453107 -0.022534107
#>  [51]  0.332678724 -0.608878940 -0.627556644 -0.089561930  0.498852955
#>  [56]  0.312101882 -1.081332576  0.748299526 -0.531491828  0.188438376
#>  [61]  0.361629504  0.358745853 -0.684002542  0.183017895 -0.343785307
#>  [66] -0.475266389 -0.339675659 -0.300649893 -0.234121611  0.049913733
#>  [71]  0.150418584  0.024234911  0.543959731  0.284837078 -0.472009315
#>  [76]  0.003428686  0.397520877  0.103865304  0.542623800  0.467659350
#>  [81]  0.280493267  0.247487710 -0.064071355  0.581023237  0.389754707
#>  [86]  0.626662199 -0.183429912 -0.196256827 -0.057137349 -0.087889506
#>  [91]  0.346188362  0.480466113  0.036183653 -0.117217329 -0.100535310
#>  [96]  0.249183916 -0.042171143  0.035366213 -0.316293586 -0.113213738

## estimate a Student-t copula for the simulated data
cop <- BiCopEst(u1, u2, family = 2)
## and evaluate the derivative of the conditional copula
## w.r.t. the second argument u2
BiCopHfuncDeriv(u1, u2, cop, deriv = "u2")
#>   [1]  1.79447650  1.31470857 13.03395287  0.86271682  1.23809501  2.02019394
#>   [7]  1.09848608  5.48491776  0.18740720  1.79948157  0.56911364  0.26109840
#>  [13]  0.89484041  1.17333442  0.50274380  0.03684953  0.66568767  1.72064677
#>  [19]  2.01643095  0.73752649  0.94338835  1.10066056  0.24283230  1.13387800
#>  [25]  2.09500861  1.15486819  2.81668724  1.25450701  2.76713621  2.02034154
#>  [31]  1.70821289  0.93373006  1.40199879  0.40717098  1.40692015  0.91574777
#>  [37]  3.50334420  1.04446990  1.32684648  0.55343129  1.65635905  1.31878627
#>  [43]  1.01066448  0.02232976  3.76128149  2.03093842  1.42168426  0.65291374
#>  [49]  2.79424972  1.22447834  1.33567334  0.85060968  1.01564132  0.83251806
#>  [55]  0.77236168  3.28769808 12.02997009  1.99958543  0.63784108  1.28120398
#>  [61]  1.43194157  0.69388625  1.45565408  0.15921374  2.18176190  0.61530785
#>  [67]  0.81399751  1.15659029  0.44459111  3.07430311  1.05949158  0.10664951
#>  [73]  2.56053697  0.25406270  1.83385232  1.25601348  0.89696876  0.83910056
#>  [79]  1.28947804  0.97209805  1.19471820  1.37493034  1.26104911  1.90545823
#>  [85]  0.97276630  1.48289536  0.46610225  1.03082755  1.25200565  0.94808684
#>  [91]  2.05443974  1.66980487  1.23515300  1.36177865  0.08808345  0.84517734
#>  [97]  1.05424206  1.67313352  1.32112674  1.53980743