core.copulas.domain.models.elliptical package

Submodules

core.copulas.domain.models.elliptical.gaussian module

Gaussian Copula implementation following the project coding standard:

Norms:
  1. Use private attribute _parameters with public @property parameters and validation in the setter.

  2. All methods accept param: np.ndarray = None defaulting to self.parameters.

  3. Docstrings must include Parameters and Returns sections with types.

  4. Parameter bounds are defined in bounds_param; setter enforces them.

  5. Consistent boundary handling with eps = 1e-12 and np.clip.

class core.copulas.domain.models.elliptical.gaussian.GaussianCopula[source]

Bases: CopulaModel, SupportsTailDependence, ModelSelectionMixin

Gaussian Copula class.

family

Identifier for the copula family, “gaussian”.

Type:

str

name

Human-readable name for output/logging.

Type:

str

bounds_param

Bounds for the copula parameter rho, in (-1,1).

Type:

list of tuple

parameters

Copula parameter [rho].

Type:

np.ndarray

AD(data) float[source]

Anderson–Darling test statistic (disabled for elliptical copulas).

Returns:

np.nan

Return type:

float

IAD(data) float[source]

Integrated absolute deviation (disabled for elliptical copulas).

Returns:

np.nan

Return type:

float

LTDC(param: ndarray = None) float[source]

Lower tail dependence coefficient (always 0 for Gaussian).

Returns:

0.0

Return type:

float

UTDC(param: ndarray = None) float[source]

Upper tail dependence coefficient (always 0 for Gaussian).

Returns:

0.0

Return type:

float

conditional_cdf_u_given_v(u, v, param: ndarray = None)[source]

P(U ≤ u | V = v) = ∂C/∂v

conditional_cdf_v_given_u(u, v, param: ndarray = None)[source]

P(V ≤ v | U = u) = ∂C/∂u

get_cdf(u, v, param: ndarray = None)[source]

Compute the Gaussian copula CDF C(u,v).

Parameters:
  • u (float or array-like) – Pseudo-observations in (0,1).

  • v (float or array-like) – Pseudo-observations in (0,1).

  • param (ndarray, optional) – Copula parameter [rho]. If None, uses self.parameters.

Returns:

CDF value(s) at (u, v).

Return type:

float or np.ndarray

get_pdf(u, v, param: ndarray = None)[source]

Compute the Gaussian copula PDF c(u,v).

Parameters:
  • u (float or array-like) – Pseudo-observations in (0,1).

  • v (float or array-like) – Pseudo-observations in (0,1).

  • param (ndarray, optional) – Copula parameter [rho]. If None, uses self.parameters.

Returns:

PDF value(s) at (u, v).

Return type:

float or np.ndarray

kendall_tau(param: ndarray = None) float[source]

Compute Kendall’s tau = (2/π) · arcsin(rho).

Parameters:

param (ndarray, optional) – Copula parameter [rho]. If None, uses self.parameters.

Returns:

Kendall’s tau.

Return type:

float

property parameters: ndarray

Get the copula parameters.

Returns:

Current copula parameter [rho].

Return type:

np.ndarray

partial_derivative_C_wrt_u(u, v, param: ndarray = None)[source]

Compute ∂C(u,v)/∂u = P(V ≤ v | U = u)

partial_derivative_C_wrt_v(u, v, param: ndarray = None)[source]

Compute ∂C(u,v)/∂v = P(U ≤ u | V = v) via symmetry

sample(n: int, param: ndarray = None) ndarray[source]

Generate n samples from the Gaussian copula.

Parameters:
  • n (int) – Number of samples.

  • param (ndarray, optional) – Copula parameter [rho]. If None, uses self.parameters.

Returns:

Shape (n,2) array of pseudo-observations (u, v).

Return type:

np.ndarray

core.copulas.domain.models.elliptical.student module

class core.copulas.domain.models.elliptical.student.StudentCopula[source]

Bases: CopulaModel, ModelSelectionMixin, SupportsTailDependence

AD(data)[source]
IAD(data)[source]
LTDC(param=None)[source]
UTDC(param=None)[source]
conditional_cdf_u_given_v(u, v, param=None)[source]
conditional_cdf_v_given_u(u, v, param=None)[source]
get_cdf(u, v, param=None)[source]
get_pdf(u, v, param=None)[source]
kendall_tau(param=None, n_samples=10000, random_state=None)[source]
property parameters
partial_derivative_C_wrt_u(u, v, param=None)[source]
partial_derivative_C_wrt_v(u, v, param=None)[source]
sample(n, param=None)[source]

Module contents