Bicop.pdf

Bicop.pdf(self, u: numpy.ndarray, parameters: numpy.ndarray | None = None, num_threads: int = 1) numpy.ndarray

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, more than two columns are required for u: the first \(n \times 2\)block contains realizations of \((F_{X_1}(x_1), F_{X_2}(x_2))\). The second \(n \times 2\)block contains realizations of \((F_{X_1}(x_1^-), F_{X_2}(x_2^-))\). The minus indicates a left-sided limit of the cdf. For, e.g., an integer-valued variable, it holds \(F_{X_1}(x_1^-) = F_{X_1}(x_1 - 1)\). For continuous variables the left limit and the cdf itself coincide. Respective columns can be omitted in the second block.

Parameters:
undarray, shape (n, m), dtype float

An \(n \times (2 + k)\)matrix of observations contained in \((0, 1)\), where \(k\)is the number of discrete variables.

Returns:
ndarray, shape (n,), dtype float

A length n vector of copula densities evaluated at u.

Notes

If parameters is given, the copula is evaluated with a different parameter set per row of u instead of the stored parameters. parameters is then an (n, p) array with one row per row of u and p == len(self.parameters) columns, in the family’s natural (unrotated) parameterization, and the evaluation may be parallelized over num_threads. This is supported for parametric families only; a nonparametric family, a wrong shape, or non-finite or out-of-bounds values raise RuntimeError.