Latent Noise imputation bivariate causal discovery method (LNc, ANMh & LNc-ANMh) from "On Additivity and Model Complexity for Causal Discovery Manuscript".
- src/latentNoise_funcs_gen.py: contains functions to estimate latent noise, fit KRR and calculate complexity measures
- src/processResults.py: contains functions to pair up and weight models and to calculate performance measures
- src/ANLSMN_genfuncs.py: generate artificial data from AN, AN-s, LS, LS-s and MN-U classes
- src/slope.py: SLOPE bivariate causal algorithm (from Marx & Vreeken 2019)
- src/func_entropy_v1: different entropy estimation methods.
- src/kdpee: kdp entropy estimation c files called from func_entropy_v1
- src/slurm_script.py: load data, carry out one LNc experiment and save.
- src/experiment.py: carry out one LNc experiment (called by slurm_script.py)
- src/slurm_script_van.py: load data, carry out one ANMh experiment and save
- src/experiment_van.py: carry one ANMh experiment (called by slurm_script_van.py)
- src/slurm_pairUp.py: read in consolidated LNc database and pair-up models by chosen pair-up strategies
- src/slurm_acc.py: read in cpaired-up database, calculate model-pair weights by chosen weighting strategies, calculate decision and accuracy results
- src/null_hsicRX_script.py: obtain one null statistic for additivity test using AN-s additive class simulation
- src/latent_job.sh: carry out all LNc experiments by calling slurm_script.py for all parameters
- src/latent_job_van.sh: carry out all ANMh experiments by calling slurm_script_van.py for all parameters
- src/postProcess_job.sh: carry out pairing-up, weighting and performance calculation by calling either slurm_pairUp.py or slurm_acc.py
- src/null_dists.sh: obtain a null distribution for additivity test by calling null_hsicRX_script.py a few times.
- notebooks/consolidate_results.ipynb: read in results generated with slurm_script.latent_job.sh & latent_job_van.sh, consolidate and save in respective pickle files to be read in by slurm_pairUp.py and slurm_acc.py. Also calculates additivity p-values so nullDists.ipynb must have been run previously.
- notebooks/pipeline_results.ipynb: read in different pairUp and weighing strategy results generated by postProcess_job.sh and explore results.
- notebooks/combineDecisions.ipynb: read in chosen pairUp and weighing strategy, combine LNc and ANMh results and format LNc and LNc-ANMh results
- notebooks/nullDists.ipynb: read in results generated with null_dists.sh and save additivity null distribution in pickle file to be read in in consolidate_results.ipynb
- data.zip: contains data for 1002 bivariate datasets (Tub, SIM, SIMc, SIMG, SIMln, AN, AN-s, LS, LS-s, MN-U)