Learn R Programming

VineCopula (version 2.6.0)

BiCopDeriv: Derivatives of a Bivariate Copula Density

Description

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

Usage

BiCopDeriv(
  u1,
  u2,
  family,
  par,
  par2 = 0,
  deriv = "par",
  log = FALSE,
  obj = NULL,
  check.pars = TRUE
)

Value

A numeric vector of the bivariate copula derivative

  • of the copula family

  • with parameter(s) par, par2

  • with respect to deriv,

  • evaluated at u1 and u2.

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)
"u1" = derivative with respect to the first argument u1
"u2" = derivative with respect to the second argument u2

log

Logical; if TRUE than the derivative of the log-likelihood is returned (default: log = FALSE; only available for the derivatives with respect to the parameter(s) (deriv = "par" or deriv = "par2")).

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

Author

Ulf Schepsmeier

Details

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

BiCopDeriv(u1, u2, obj, deriv = "par", log = FALSE)

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.

See Also

RVineGrad(), RVineHessian(), BiCopDeriv2(), BiCopHfuncDeriv(), BiCop()

Examples

Run this code

## 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 bivariate t-copula with respect to the first parameter
u1 <- simdata[,1]
u2 <- simdata[,2]
BiCopDeriv(u1, u2, cop, deriv = "par")

## estimate a Student-t copula for the simulated data
cop <- BiCopEst(u1, u2, family = 2)
## and evaluate its derivative w.r.t. the second argument u2
BiCopDeriv(u1, u2, cop, deriv = "u2")

Run the code above in your browser using DataLab