jpt.learning.dependency.xi
Xi-correlation-based dependency discovery.
Uses Chatterjee’s xi coefficient to determine which feature-target pairs exhibit statistically significant functional dependence.
Classes
Dependency discovery via Chatterjee's xi. |
Module Contents
- class jpt.learning.dependency.xi.XiDependencyDiscovery(alpha: float = 0.05)
Bases:
jpt.learning.dependency.base.DependencyDiscoveryDependency discovery via Chatterjee’s xi.
Computes the xi correlation between all feature-target pairs and retains only those where the correlation is statistically significant under the asymptotic null distribution of xi.
Under H0 (independence with continuous Y), sqrt(n) * xi ~ N(0, 2/5).
- Parameters:
alpha – significance level for the independence test
- alpha: float = 0.05
- __call__(data: numpy.ndarray, features: list[jpt.variables.Variable], targets: list[jpt.variables.Variable], variables: list[jpt.variables.Variable]) dict[jpt.variables.Variable, list[jpt.variables.Variable]]
Discover dependencies via xi correlation.
- Parameters:
data – data array (n x d)
features – list of feature Variables
targets – list of target Variables
variables – list of all Variables
- Returns:
dict mapping features to their dependent targets
- to_json() dict[str, Any]
Serialize configuration.
- Returns:
JSON-serializable dict
- classmethod from_json(data: dict[str, Any]) XiDependencyDiscovery
Restore from JSON.
- Parameters:
data – dict from
to_json()- Returns:
XiDependencyDiscovery instance