pystra.dependence.copula.IndependentCopula#

Use it: User guide · Worked example · Theory

class IndependentCopula(dimension)[source]#

Bases: GaussianCopula

Product copula of the specified dimension.

Parameters:

dimension (int) – Positive number of independent uniform coordinates.

Methods

cdf

Evaluate the copula CDF, including unit-cube boundaries.

from_kendall_tau

Construct from rank correlations, validating the resulting shape.

inverse_rosenblatt

Map independent conditional uniforms to dependent marginals.

logpdf

Evaluate log density at interior uniform coordinates.

pdf

Evaluate the copula density at interior uniform coordinates.

rosenblatt

Map dependent uniforms to independent conditional uniforms.

rvs

Sample rows using a local NumPy random generator.

cdf(probabilities, **kwargs)[source]#

Evaluate the copula CDF, including unit-cube boundaries.

Parameters:
  • probabilities (ArrayLike) – Marginal probabilities in [0, 1], in original order.

  • **kwargs (Any) – Keyword arguments forwarded to SciPy’s multivariate CDF integration.

Returns:

Cumulative probability for one point or one value per row of points.

Return type:

float | ndarray

classmethod from_kendall_tau(tau, **kwargs)[source]#

Construct from rank correlations, validating the resulting shape.

Parameters:
  • tau (ArrayLike) – Finite Kendall rank correlations in [-1, 1]. The transformed latent matrix must be symmetric positive definite with a unit diagonal.

  • **kwargs (Any) – Additional subclass constructor arguments, such as df for StudentTCopula.

Returns:

An instance of the class on which this method was called.

Return type:

Self

property correlation: ndarray#

Copy of the latent correlation (shape matrix for Student-t).

inverse_rosenblatt(probabilities, order=None)#

Map independent conditional uniforms to dependent marginals.

Parameters:
  • probabilities (ArrayLike) – Interior independent uniforms in original column positions.

  • order (Sequence[int] | ndarray | None) – Conditioning permutation used by rosenblatt().

Returns:

Dependent uniform marginal coordinates, with the input shape and order.

Return type:

ndarray

property kendall_tau: ndarray#

Pairwise Kendall rank correlation implied by this elliptical copula.

logpdf(probabilities)#

Evaluate log density at interior uniform coordinates.

Parameters:

probabilities (ArrayLike) – Marginal probabilities strictly between zero and one, in original order.

Returns:

Log density for one point or one value per row of points.

Return type:

float | ndarray

pdf(probabilities)#

Evaluate the copula density at interior uniform coordinates.

Parameters:

probabilities (ArrayLike) – Marginal probabilities strictly between zero and one, in original order.

Returns:

Density for one point or one value per row of points.

Return type:

float | ndarray

Raises:

ValueError – If the coordinates have an invalid shape or lie outside the interior.

rosenblatt(probabilities, order=None)#

Map dependent uniforms to independent conditional uniforms.

Parameters:
  • probabilities (ArrayLike) – Interior uniform marginal coordinates in original order.

  • order (Sequence[int] | ndarray | None) – Conditioning permutation; the default is original marginal order.

Returns:

Conditional uniforms with the input shape. Column order[k] holds the k-th conditional innovation, so original column labels are retained.

Return type:

ndarray

Raises:

ValueError – If coordinates, conditioning order or computed probabilities are invalid.

rvs(size=1, seed=None)#

Sample rows using a local NumPy random generator.

Parameters:
  • size (int) – Nonnegative number of observations.

  • seed (int | integer | Sequence[int] | ndarray | SeedSequence | BitGenerator | Generator | None) – Input to numpy.random.default_rng. A supplied generator is reused and advances; other seeds construct a local generator.

Returns:

Uniform marginal coordinates with this copula’s dependence.

Return type:

ndarray