core.copulas.domain.models.elliptical package
Submodules
core.copulas.domain.models.elliptical.gaussian module
Gaussian Copula implementation following the project coding standard:
- Norms:
Use private attribute _parameters with public @property parameters and validation in the setter.
All methods accept param: np.ndarray = None defaulting to self.parameters.
Docstrings must include Parameters and Returns sections with types.
Parameter bounds are defined in bounds_param; setter enforces them.
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
- 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