Bicop.hfunc1

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

Evaluates the first h-function.

The first h-function is \(h_1(u_1, u_2) = P(U_2 \le u_2 | U_1 = u_1)\).

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 the first h-function 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.