Data Processing Layer
The module data_processing provides implementations for the marked independence atoms:
mCITs and indicator relations, and their sub-components.
Additionally, it specifies interfaces that custom implementations of an underlying CIT, homogeneity
test or weak-regime test should expose.
See also
The conditional independence test (CIT) implementations themselves are logically also part
of the data processing layer. Considering that CIT-implementations, similar to underlying
CD-algorithms, will typically be employed from third-party sources, the partial correlation
implementation currently included with this code is factored into the separate file
cit. Details on the specification and implementation of custom CITs
(or integration of third-party implementations) can be found at Interfaces for CIT implementations.
Test implementations
The class
mCITcomposes an underlying CIT (exposingITestCI), a homogeneity test (exposingITestHomogeneity) and a weak-regime test (exposingITestWeakRegime) into a regime-marked conditional independence test (mCIT), providingITestMarkedCI, as described by §5 of [RR25].The class
Homogeneity_Binomialprovides a homogeneity test (as specified byITestHomogeneity) based on a binomal test with block-quantiles, as described by §5.2.2 of [RR25].The class
WeakRegime_AcceptanceIntervalprovides a weak-regime test (as specified byITestWeakRegime) based on the acceptance-interval method, as described by §5.2.3 of [RR25].The class
IndicatorImplication_AcceptanceIntervalprovides a indicator-implication test based on the acceptance-interval method, as described by §D.4.7 of [RR25].The helper
TruncatedNormalprovides some basic properties of truncated normal distributions, used by the acceptance-interval tests.
Interfaces for Custom Stages
The underlying CIT implementations can provide information through different interfaces:
The interface
ITestCIis mandatory, it specifies how to expose CI-testing functionality itself.The interface
IProvideAnalyticQuantilesForCITis optional (if not implemented, quantiles will be bootstrapped), it specifies how to provide quantile-estimates for a specific CIT. It is required only forHomogeneity_Binomial.The interface
IProvideVarianceForCITis manatory, it specifies how to provide variance-estimates for a specific CIT. It is required only forWeakRegime_AcceptanceIntervalandIndicatorImplication_AcceptanceInterval.
The interface
ITestMarkedCIspecifies how to provide a custom marked conditional independence test.The interface
ITestHomogeneityspecifies how to provide a custom homogeneity test.The interface
ITestWeakRegimespecifies how to provide a custom weak-regime test.The interface
ITestIndicatorImplicationsspecifies how to provide a custom indicator-relation test.The interface
IProvideHyperparamsForRobustCITspecifies how to provide N and dim(Z) dependent hyper-parameter sets for robust CI testing (cf.mCIT.__init__()).The interface
IProvideHyperparamsForBinomialspecifies how to provide N and dim(Z) dependent hyper-parameter sets forHomogeneity_Binomial.The interface
IProvideHyperparamsForAcceptanceIntervalspecifies how to provide N and dim(Z) dependent hyper-parameter sets forWeakRegime_AcceptanceIntervalandIndicatorImplication_AcceptanceInterval.
CIT Implementations
We currently include an implementation for z-score represented partial correlation as
cit.ParCorr.