Vinecop.pdf

Vinecop.pdf(self, u: numpy.ndarray[dtype=float64, shape=(*, *), order='F'], num_threads: int = 1) numpy.ndarray[dtype=float64, shape=(*), order='C']

Evaluates the copula density.

The copula density is defined as joint density divided by marginal densities, irrespective of variable types.

When at least one variable is discrete, two types of “observations” are required in u: the first \(n \; x \; d\) block contains realizations of \(F_{X_j}(X_j)\). The second \(n \; x \; d\) block contains realizations of \(F_{X_j}(X_j^-)\). The minus indicates a left-sided limit of the cdf. For, e.g., an integer-valued variable, it holds \(F_{X_j}(X_j^-) = F_{X_j}(X_j - 1)\). For continuous variables the left limit and the cdf itself coincide. Respective columns can be omitted in the second block.

Parameters:
  • u – An \(n \times (d + k)\) or \(n \times 2d\) matrix of evaluation points, where \(k\) is the number of discrete variables (see Vinecop.select()).

  • num_threads – The number of threads to use for computations; if greater than 1, the function will be applied concurrently to num_threads batches of u.

Returns:

A vector of length n containing the copula density values.