From bc5dfcb6d4a4d941fb1c72a2eef5611ac644d8c1 Mon Sep 17 00:00:00 2001 From: Felix Rios <34372003+felixleopoldo@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:21:55 +0100 Subject: [PATCH] v2.11.0 (#138) * Adding bips_tpc: This version introduces the bips_tpc module, based on the temporal PC (tPC) and the micd package. It enables causal discovery through the PC algorithm allowing for Edge constraints, mixed data, and missing data handling. * Updating basic conf example. Updating example for MVPC. --- VERSION | 2 +- config/config.json | 24 +- config/paper_er_bin.json | 1 - config/paper_er_sem.json | 1 - config/paper_er_sem_small.json | 1 - config/paper_hepar2_bin.json | 1 - config/paper_hepar2_sem.json | 1 - config/paper_sachs.json | 1 - .../source/available_background_knowledge.rst | 50 +++-- ...vailable_structure_learning_algorithms.rst | 8 +- docs/source/conf.py | 6 +- docs/source/index.rst | 18 +- docs/source/requirements.txt | 1 + .../structure_learning_algorithms/bdgraph.rst | 15 +- .../bips_tpc.rst | 121 ++++++++++ .../bnlearn_fastiamb.rst | 4 +- .../bnlearn_gs.rst | 2 +- .../bnlearn_mmhc.rst | 8 +- .../structure_learning_algorithms/grues.rst | 8 +- .../huge_glasso.rst | 57 ++++- .../structure_learning_algorithms/mvpc.rst | 43 +++- .../structure_learning_algorithms/tpc.rst | 64 ++++++ resources/constraints/edgeConstraints.json | 10 +- resources/module_templates/new_alg/Dockerfile | 3 + resources/module_templates/new_alg/info.json | 12 +- .../module_templates/new_mcmcalg/Dockerfile | 3 + .../module_templates/new_mcmcalg/info.json | 12 +- workflow/envs/build_images.sh | 2 +- .../evaluation/graph_true_plots/rules.smk | 18 +- workflow/rules/helper_functions.py | 6 + .../bdgraph/docs.rst | 12 +- .../bdgraph/info.json | 6 +- .../bips_tpc/Dockerfile | 9 + .../bips_tpc/bibtex.bib | 8 + .../bips_tpc/bips_tpc.json | 209 ++++++++++++++++++ .../bips_tpc/config.json | 161 ++++++++++++++ .../bips_tpc/docs.rst | 44 ++++ .../bips_tpc/info.json | 24 ++ .../bips_tpc/pattern.png | Bin 0 -> 119743 bytes .../bips_tpc/rule.smk | 14 ++ .../bips_tpc/schema.json | 100 +++++++++ .../bips_tpc/script.R | 96 ++++++++ .../bips_tpc/skeleton.png | Bin 0 -> 104161 bytes .../bnlearn_fastiamb/docs.rst | 2 +- .../bnlearn_fastiamb/info.json | 10 +- .../bnlearn_gs/info.json | 2 +- .../bnlearn_mmhc/info.json | 6 +- .../bnlearn_tabu/info.json | 2 +- .../grues/info.json | 4 +- .../huge_glasso/info.json | 4 +- .../mvpc/docs.rst | 36 ++- .../mvpc/mvpc.json | 89 +++++--- .../mvpc/pattern.png | Bin 0 -> 125898 bytes .../mvpc/schema.json | 8 +- .../mvpc/skeleton.png | Bin 0 -> 109433 bytes .../utils/convert_edge_constraints_all.R | 91 +++++++- 56 files changed, 1308 insertions(+), 132 deletions(-) create mode 100644 docs/source/structure_learning_algorithms/bips_tpc.rst create mode 100644 docs/source/structure_learning_algorithms/tpc.rst create mode 100644 resources/module_templates/new_alg/Dockerfile create mode 100644 resources/module_templates/new_mcmcalg/Dockerfile create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/Dockerfile create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/bibtex.bib create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/config.json create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/docs.rst create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/info.json create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/pattern.png create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/rule.smk create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/schema.json create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/script.R create mode 100644 workflow/rules/structure_learning_algorithms/bips_tpc/skeleton.png create mode 100644 workflow/rules/structure_learning_algorithms/mvpc/pattern.png create mode 100644 workflow/rules/structure_learning_algorithms/mvpc/skeleton.png diff --git a/VERSION b/VERSION index f161b5d8..ed0edc88 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.10.0 \ No newline at end of file +2.11.0 \ No newline at end of file diff --git a/config/config.json b/config/config.json index c172af60..9484f9d8 100644 --- a/config/config.json +++ b/config/config.json @@ -1,6 +1,7 @@ { "benchmark_setup": [ { + "title": "example_config", "data": [ { "graph_id": "avneigs4_p20", @@ -31,17 +32,24 @@ "graph_true_plots": true, "graph_true_stats": true, "ggally_ggpairs": true, - "graph_plots": [ - "fges-sem-bic", - "tabu-bge", - "itsearch-bge", - "pc-gaussCItest" - ], + "graph_estimation": { + "ids": [ + "fges-sem-bic", + "tabu-bge", + "itsearch-bge", + "pc-gaussCItest" + ], + "convert_to": [], + "graphs": true, + "adjmats": true, + "diffplots": true, + "csvs": true, + "graphvizcompare": true + }, "mcmc_traj_plots": [], "mcmc_heatmaps": [], "mcmc_autocorr_plots": [] - }, - "title": "config" + } } ], "resources": { diff --git a/config/paper_er_bin.json b/config/paper_er_bin.json index 7ba5aa69..0db43e73 100644 --- a/config/paper_er_bin.json +++ b/config/paper_er_bin.json @@ -26,7 +26,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bde", "grasp-bdeu", "boss-bdeu", "asobs-bdeu", diff --git a/config/paper_er_sem.json b/config/paper_er_sem.json index b69b0032..d93e012c 100644 --- a/config/paper_er_sem.json +++ b/config/paper_er_sem.json @@ -26,7 +26,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bge", "boss-sem-bic", "grasp-sem-bic", "notears-l2", diff --git a/config/paper_er_sem_small.json b/config/paper_er_sem_small.json index a1cfe1cd..240d0787 100644 --- a/config/paper_er_sem_small.json +++ b/config/paper_er_sem_small.json @@ -26,7 +26,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bge", "boss-sem-bic", "grasp-sem-bic", "notears-l2", diff --git a/config/paper_hepar2_bin.json b/config/paper_hepar2_bin.json index 9ad717c3..ac419231 100644 --- a/config/paper_hepar2_bin.json +++ b/config/paper_hepar2_bin.json @@ -26,7 +26,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bde", "grasp-bdeu", "boss-bdeu", "asobs-bdeu", diff --git a/config/paper_hepar2_sem.json b/config/paper_hepar2_sem.json index 4dc70987..2c1a42c1 100644 --- a/config/paper_hepar2_sem.json +++ b/config/paper_hepar2_sem.json @@ -26,7 +26,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bge", "boss-sem-bic", "grasp-sem-bic", "notears-l2", diff --git a/config/paper_sachs.json b/config/paper_sachs.json index e7c3dfd5..9a240bae 100644 --- a/config/paper_sachs.json +++ b/config/paper_sachs.json @@ -19,7 +19,6 @@ "path": true, "text": false, "ids": [ - "gobnilp-bge", "boss-sem-bic", "grasp-sem-bic", "notears-l2", diff --git a/docs/source/available_background_knowledge.rst b/docs/source/available_background_knowledge.rst index 72ac773c..e7792fcd 100644 --- a/docs/source/available_background_knowledge.rst +++ b/docs/source/available_background_knowledge.rst @@ -8,7 +8,7 @@ Edge constraints --------------------------------------- Benchpress allows users to incorporate edge constraints to guide structure learning algorithms in several packages: -**pcalg**, **mvpc**, **bnlearn**, **tetrad**, **gobnilp**, and **bidag**. These constraints enable the inclusion of prior knowledge to refine +**pcalg**, **bips_tpc**, **mvpc**, **bnlearn**, **tetrad**, **gobnilp**, and **bidag**. These constraints enable the inclusion of prior knowledge to refine the search space of causal graphs, improving the reliability of the inferred relationships. Users can specify **forbidden or required edges**, **tiers for temporal ordering**, and **group-based constraints**. @@ -16,39 +16,46 @@ The edge constraints should be defined in a JSON file located within the ``resou .. rubric:: Supported Constraints -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| **Package** | **forbidden_edges** | **required_edges** | **tiers** | **forbidden_groups** | **required_groups** | -+=============+=====================+====================+===========+======================+=====================+ -| mvpc | X | X | N/A | N/A | N/A | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| pcalg | X | X | N/A | N/A | N/A | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| bnlearn | X | X | X | X | X | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| tetrad | X | X | X | X | X | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| gobnilp | X | X | X | X | X | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ -| bidag | X | N/A | N/A | X | N/A | -+-------------+---------------------+--------------------+-----------+----------------------+---------------------+ ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| **Package** | **forbidden_edges** | **required_edges** | **tiers** | **forbidden_groups** | **required_groups** | **context_all** | **context_tier** | **source_nodes** | ++=============+=====================+====================+===========+======================+=====================+=================+==================+==================+ +| bips_tpc | X | N/A | X | X | N/A | X | X | X | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| mvpc | X | X | N/A | N/A | N/A | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| pcalg | X | X | N/A | N/A | N/A | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| bnlearn | X | X | X | X | X | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| tetrad | X | X | X | X | X | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| gobnilp | X | X | X | X | X | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ +| bidag | X | N/A | N/A | X | N/A | N/A | N/A | N/A | ++-------------+---------------------+--------------------+-----------+----------------------+---------------------+-----------------+------------------+------------------+ + .. rubric:: Description - ``forbidden_edges``: A list of directed edges that are explicitly prohibited from existing between specific nodes. Each edge is defined as a pair of nodes, where the first node cannot directly cause the second node. - ``required_edges``: A list of directed edges that are enforced between specific nodes. Each edge is defined as a pair of nodes, where the first node must directly cause the second node. - - - *Note: For algorithms in the* **pcalg** and **mvpc** *package, the above attributes only specify the presence or absence of edges and do not control their directionality.* - ``tiers``: Defines a temporal ordering of nodes across multiple levels (or) tiers. Nodes in one tier are constrained from causing nodes in any of the preceding tiers. - ``tier_settings``: - ``forbidden_within_tiers``: If set to `true`, prevents edges between nodes that reside within the same tier. - ``can_only_cause_next_tier``: If set to `true`, restricts nodes in one tier to only influence or cause nodes in the immediate next tier. -- ``Groups``: Defines relationships between sets of nodes, grouping them for the purpose of controlling edge behavior across multiple nodes at once. Each group is defined by a collection of "cause" nodes and "effect" nodes. +- *Groups*: Defines relationships between sets of nodes, grouping them for the purpose of controlling edge behavior across multiple nodes at once. Each group is defined by a collection of "cause" nodes and "effect" nodes. - ``forbidden_groups``: A set of constraints that prohibits directed edges between specified groups of nodes. - ``required_groups``: A set of requirements that enforces directed edges between specified groups of nodes. +- ``context_all``: If set to `true`, edges added from this node to all other nodes. +- ``context_tier``: If set to `true`, edges added from this node to all nodes within the same tier. +- ``source_nodes``: A list of nodes that are restricted to have no parents. +.. note:: + + For algorithms in the **pcalg** and **mvpc** *package, the above attributes only specify the presence or absence of edges and do not control their directionality.* .. rubric:: Example JSON @@ -89,7 +96,10 @@ The edge constraints should be defined in a JSON file located within the ``resou "cause": ["22"], "effect": ["23"] } - ] + ], + "context_all": ["1"], + "context_tier": ["3"], + "source_nodes": ["11"] } diff --git a/docs/source/available_structure_learning_algorithms.rst b/docs/source/available_structure_learning_algorithms.rst index 73ffe502..ca5b412b 100644 --- a/docs/source/available_structure_learning_algorithms.rst +++ b/docs/source/available_structure_learning_algorithms.rst @@ -15,6 +15,7 @@ Algorithms structure_learning_algorithms/bidag_itsearch structure_learning_algorithms/bidag_order_mcmc structure_learning_algorithms/bidag_partition_mcmc + structure_learning_algorithms/bips_tpc structure_learning_algorithms/bnlearn_fastiamb structure_learning_algorithms/bnlearn_gs structure_learning_algorithms/bnlearn_h2pc @@ -30,7 +31,6 @@ Algorithms structure_learning_algorithms/bnlearn_sihitonpc structure_learning_algorithms/bnlearn_tabu structure_learning_algorithms/causaldag_gsp - structure_learning_algorithms/causallearn_ges structure_learning_algorithms/causallearn_grasp structure_learning_algorithms/corr_thresh structure_learning_algorithms/dualpc @@ -112,6 +112,10 @@ To add new modules, see :ref:`new_modules`. - `DAG `__, `CPDAG `__ - `BiDAG `__ - :ref:`bidag_partition_mcmc` + * - tPC + - `CPDAG `__ + - `tpc `__ + - :ref:`bips_tpc` * - Fast IAMB - `DAG `__ - `bnlearn `__ @@ -248,7 +252,7 @@ To add new modules, see :ref:`new_modules`. - `UDG `__ - `gues `__ - :ref:`grues` - * - Graphical lasso + * - GLasso - `UG `__ - `huge `__ - :ref:`huge_glasso` diff --git a/docs/source/conf.py b/docs/source/conf.py index b5002851..12112ec7 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -43,8 +43,8 @@ 'sphinxcontrib.bibtex', 'sphinx_last_updated_by_git', 'versionwarning.extension', + "sphinxext.opengraph", "sphinxcontrib.googleanalytics" - ] googleanalytics_id = "G-CDYR88PWR3" @@ -93,6 +93,10 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] +ogp_site_url = "https://benchpressdocs.readthedocs.io" +ogp_image = "https://github.com/felixleopoldo/benchpress/raw/master/docs/source/_static/benchpress-logo-white-bg.png" +ogp_description = "Benchpress is a platform-independent open-source software to develop, execute, and benchmark causal discovery algorithms." +ogp_enable_meta_description = False html_logo = '_static/benchpress-logo-readthedocs@2x.png' html_theme_options = { diff --git a/docs/source/index.rst b/docs/source/index.rst index 06a29bb2..2e5a1e75 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,12 +1,9 @@ -.. Benchpress documentation master file, created by - sphinx-quickstart on Mon Oct 26 10:03:54 2020. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - +:og:description: Benchpress is a platform-independent open-source software to develop, execute, and benchmark causal discovery algorithms. .. meta:: :title: Benchpress: Open-Source Causal Discovery Suite :description: Benchpress is a platform-independent open-source software to develop, execute, and benchmark causal discovery algorithms. + .. toctree:: :hidden: :glob: @@ -99,18 +96,21 @@ generated datasets, the workflow also includes a number of standard datasets and .. rubric:: News -* 2024-11-30: Benchpress 2.10.0. This version includes algorithms from the MVPC package for sampling (:ref:`mvpc_gen_data`) and causal discovery (:ref:`mvpc`) in the presence of missing data. +* 2024-12-16: Benchpress 2.11.0. This version introduces the :ref:`bips_tpc` module, based on the temporal PC (`tPC `_) and the `micd `_ package. It enables causal discovery through the PC algorithm allowing for :ref:`edge_constraints`, mixed data, and missing data handling. Thanks `Leibniz-Institut für Präventionsforschung und Epidemiologie – (BIPS GmbH) `_. +* 2024-11-30: Benchpress 2.10.0. This version includes algorithms from the `missing value PC (MVPC) `_ package for sampling data with missing values (:ref:`mvpc_gen_data`) and causal discovery (:ref:`mvpc`) in the presence of missing values. * 2024-11-24: Benchpress 2.9.0. This version comes with three new major features. I) The ability to incorporate background knowledge in terms of :ref:`edge_constraints`. Thanks to `Gomathi Lakshmanan `_ for this great feature. - II) The ability to specify multiple benchmark setups in the same config file (See :ref:`json_config`). To convert the old config format to this new one run + II) The ability to specify multiple benchmark setups in the same config file (See :ref:`json_config`). + III) Generating DAGs using the `gCastle `_ package (:ref:`gcastle_dag`). Thanks to `Damian Machlanski `_. + + To convert the config files (<2.9.0) to this new format run .. prompt:: bash chmod +x scripts/utils/reformat_conf_files.py workflow/scripts/utils/reformat_conf_files.py - - III) Generating DAGs using the `gCastle `_ package (:ref:`gcastle_dag`). Thanks to `Damian Machlanski `_. + * 2024-06-27: Benchpress 2.8.0. The new :ref:`graph_estimation` module enables graph estimation and plotting. It will replace the :ref:`graph_plots` module as it is faster an easier to use. * 2024-03-20: `Jack Kuipers `_ gives a `Zoom seminar `_ on Benchpress today at 5 PM CET at `The Swiss Reproducibility Network `_ * 2024-02-13: Updated :ref:`examples` with timings and the algorithms BOSS (:ref:`tetrad_boss`) and GRaSP (:ref:`tetrad_grasp`). diff --git a/docs/source/requirements.txt b/docs/source/requirements.txt index 1078dc63..d3a69ffe 100644 --- a/docs/source/requirements.txt +++ b/docs/source/requirements.txt @@ -10,3 +10,4 @@ requests sphinx-version-warning sphinx-last-updated-by-git sphinxcontrib-googleanalytics==0.4 +sphinxext-opengraph \ No newline at end of file diff --git a/docs/source/structure_learning_algorithms/bdgraph.rst b/docs/source/structure_learning_algorithms/bdgraph.rst index f019d97e..1d752aa5 100644 --- a/docs/source/structure_learning_algorithms/bdgraph.rst +++ b/docs/source/structure_learning_algorithms/bdgraph.rst @@ -3,7 +3,7 @@ .. meta:: :title: BDgraph - :description: + :description: BDgraph performs Bayesian structure learning for general undirected graphical models (decomposable and non-decomposable) with continuous, discrete, and mixed variables using MCMC. .. _bdgraph: @@ -39,10 +39,15 @@ BDgraph ----------- - - - - +Abstract: Graphical models provide powerful tools to uncover complicated patterns in multivariate data and are commonly used in Bayesian statistics and machine learning. In this +paper, we introduce the R package BDgraph which performs Bayesian structure learning for general undirected graphical models (decomposable and non-decomposable) with +continuous, discrete, and mixed variables. The package efficiently implements recent improvements in the Bayesian literature, including that of Mohammadi and Wit (2015) :footcite:p:`mohammadi2015bayesian` and +Dobra and Mohammadi (2018) :footcite:p:`10.1214/18-AOAS1164`. To speed up computations, the computationally intensive tasks have been implemented in C++ and interfaced with R, and the package has +parallel computing capabilities. In addition, the package contains several functions for +simulation and visualization, as well as several multivariate datasets taken from the literature and used to describe the package capabilities. The paper includes a brief overview +of the statistical methods which have been implemented in the package. The main part +of the paper explains how to use the package. Furthermore, we illustrate the package’s +functionality in both real and artificial examples. diff --git a/docs/source/structure_learning_algorithms/bips_tpc.rst b/docs/source/structure_learning_algorithms/bips_tpc.rst new file mode 100644 index 00000000..dec08eab --- /dev/null +++ b/docs/source/structure_learning_algorithms/bips_tpc.rst @@ -0,0 +1,121 @@ + + + + .. meta:: + :title: temporal PC + :description: This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available. + + +.. _bips_tpc: + +bips_tpc +************ + + + +.. list-table:: + + * - Package + - `tpc `__ + * - Version + - 137e18b + * - Language + - `R `__ + * - Docs + - `here `__ + * - Paper + - :footcite:t:`andrews2023practicalguidecausaldiscovery` + * - Graph type + - `CPDAG `__ + * - Docker + - `bpimages/bips_tpc:137e18b-amd64 `__ + + * - Module folder + - `bips_tpc `__ + + + +temporal PC +--------------- + + +This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available. Our implementation is a modified version of pc from the pcalg package (Kalisch et al. 2012) with the following additional options: + +It also supports the Multiple Imputation for Causal Graph Discovery (micd) package. +Which is and add-on to the R package pcalg for handling missing data in contrataint-based causal graph discovery. Supports continuous, discrete and mixed data. Two options are available: 1) gaussCItwd, disCItwd and mixCItwd perform test-wise deletion, where missing observations are deleted as necessary on a test-by-test basis; 2) [not in Benchpress yet] gaussMItest, disMItest and mixedMItest perform conditional independence tests on multiply imputed data. + + +.. rubric:: Example + +Config file: `bips_tpc.json `_ + +Command: + +.. code:: bash + + snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json + + +.. rubric:: Example + +Config file: `bips_tpc.json `_ + + +:numref:`bips_tpcplot` and :numref:`bips_tpcplot2` show FP/P vs. TP/P for pattern graphs and skeletons based on 3 datsets corresponding to 3 realisations of a 20-variables random Gaussian SEM, with an average indegree of 4. +Each dataset contains 10000 samples and contains data that is missing not at random (MNAR) and was sampled using :ref:`mvpc_gen_data`. + + +.. _bips_tpcplot: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/bips_tpc/pattern.png + :width: 320 + :alt: FP/P vs. TP/P tPC example + :align: left + + FP/P vs. TP/P. for pattern graphs + +.. _bips_tpcplot2: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/bips_tpc/skeleton.png + :width: 320 + :alt: FP/P vs. TP/P tPC example + :align: right + + FP/P vs. TP/P. for skeletons + + + +.. rubric:: Some fields described +* ``edgeConstraints`` Name of the JSON file containing :ref:`edge_constraints` +* ``indepTest`` gaussCItest, binCItest, disCItest, gaussCItwd, disCItwd, mixCItwd + + +.. rubric:: Example JSON + + +.. code-block:: json + + + [ + { + "id": "tpc", + "alpha": [ + 0.001, + 0.01, + 0.05, + 0.1 + ], + "mmax": "Inf", + "conservative": false, + "majrule": true, + "numCores": 1, + "cl_type": "PSOCK", + "verbose": false, + "indepTest": "gaussCItwd", + "timeout": null, + "edgeConstraints": null + } + ] + +.. footbibliography:: + diff --git a/docs/source/structure_learning_algorithms/bnlearn_fastiamb.rst b/docs/source/structure_learning_algorithms/bnlearn_fastiamb.rst index 0d22ea78..c5bc7003 100644 --- a/docs/source/structure_learning_algorithms/bnlearn_fastiamb.rst +++ b/docs/source/structure_learning_algorithms/bnlearn_fastiamb.rst @@ -3,7 +3,7 @@ .. meta:: :title: Fast IAMB - :description: From bnlearn: a variant of IAMB which uses speculative stepwise forward selection to reduce the number of conditional independence tests. + :description: A variant of IAMB which uses speculative stepwise forward selection to reduce the number of conditional independence tests. .. _bnlearn_fastiamb: @@ -39,7 +39,7 @@ Fast IAMB ------------- -From bnlearn: a variant of IAMB which uses speculative stepwise forward selection to reduce the number of conditional independence tests. +Abstract: In this paper we address the problem of learning the Markov blanket of a quantity from data in an efficient manner Markov blanket discovery can be used in the feature selection problem to find an optimal set of features for classification tasks, and is a frequently-used preprocessing phase in data mining, especially for high-dimensional domains. Our contribution is a novel algorithm for the induction of Markov blankets from data, called Fast-IAMB, that employs a heuristic to quickly recover the Markov blanket. Empirical results show that Fast-IAMB performs in many cases faster and more reliably than existing algorithms without adversely affecting the accuracy of the recovered Markov blankets. .. rubric:: Some fields described * ``edgeConstraints`` Name of the JSON file containing background knowledge diff --git a/docs/source/structure_learning_algorithms/bnlearn_gs.rst b/docs/source/structure_learning_algorithms/bnlearn_gs.rst index 8ee53580..88bc3623 100644 --- a/docs/source/structure_learning_algorithms/bnlearn_gs.rst +++ b/docs/source/structure_learning_algorithms/bnlearn_gs.rst @@ -3,7 +3,7 @@ .. meta:: :title: Grow-shrink - :description: The grow-shrink (GS) algorithm is based on the Markov blanket of the nodes in a DAG. For a specific node, the Markov blanket it the set of nodes which conditioning upon renders it conditionally independent from all other variables :footcite:t:`margaritis2003learning`. It is a constraint-based method which estimates the Markov blanket of a node in a two-stage forward-backward proce- dure using conditional independence tests. The Markov blankets are used to first estimate an undirected graph and then estimate a DAG in a four-step procedure. + :description: The grow-shrink (GS) algorithm is based on the Markov blanket of the nodes in a DAG. For a specific node, the Markov blanket it the set of nodes which conditioning upon renders it conditionally independent from all other variables. .. _bnlearn_gs: diff --git a/docs/source/structure_learning_algorithms/bnlearn_mmhc.rst b/docs/source/structure_learning_algorithms/bnlearn_mmhc.rst index 9f69b324..fbb4bd16 100644 --- a/docs/source/structure_learning_algorithms/bnlearn_mmhc.rst +++ b/docs/source/structure_learning_algorithms/bnlearn_mmhc.rst @@ -2,8 +2,8 @@ .. meta:: - :title: MMHC - :description: Max-min hill-climbing (MMHC) is a hybrid method which first estimates the skeleton of a DAG using an algorithm called Max-Min Parents and Children and then performs a greedy hill-climbing search to orient the edges with respect to a Bayesian score. It is a popular approach used as standard benchmark and also well suited for high- dimensional domains. + :title: Max-Min Hill-Climbing + :description: Max-min hill-climbing (MMHC) is a hybrid method which first estimates the skeleton of a DAG using an algorithm called Max-Min Parents and Children and then performs a greedy hill-climbing search to orient the edges with respect to a Bayesian score. .. _bnlearn_mmhc: @@ -35,8 +35,8 @@ bnlearn_mmhc -MMHC --------- +Max-Min Hill-Climbing +------------------------- Max-min hill-climbing (MMHC) is a hybrid method which first estimates the skeleton of a diff --git a/docs/source/structure_learning_algorithms/grues.rst b/docs/source/structure_learning_algorithms/grues.rst index edfbe08c..f1f308bd 100644 --- a/docs/source/structure_learning_algorithms/grues.rst +++ b/docs/source/structure_learning_algorithms/grues.rst @@ -2,8 +2,8 @@ .. meta:: - :title: GrUES - :description: Abstract: We consider the problem of estimating the marginal independence structure of a Bayesian network from observational data in the form of an undirected graph called the unconditional dependence graph. We show that unconditional dependence graphs of Bayesian networks correspond to the graphs having equal independence and intersection numbers. Using this observation, a Gröbner basis for a toric ideal associated to unconditional dependence graphs of Bayesian networks is given and then extended by additional binomial relations to connect the space of all such graphs. An MCMC method, called GrUES (Gröbner-based Unconditional Equivalence Search), is implemented based on the resulting moves and applied to synthetic Gaussian data. GrUES recovers the true marginal independence structure via a penalized maximum likelihood or MAP estimate at a higher rate than simple independence tests while also yielding an estimate of the posterior, for which the 20% HPD credible sets include the true structure at a high rate for data-generating graphs with density at least 0.5. .. rubric:: Example Config file: `grues_vs_corr-thresh.json `_ Command: .. code:: bash snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/grues/grues_vs_corr-thresh.json :numref:`roc_grues_vs_thresh` shows the ROC and :numref:`shd_grues_vs_thresh` shows the SHD comparing GrUES to correlation thresholding for datsets from five different graphs corresponding to a 5-variable random Gaussian SEM whose nodes have average degree of 1 and whose edge weights were allowed to be close to 0. Each dataset contains 300 observations and each Markov chain has 10000 observations. Note that SHD between a learned UDG and true CPDAG is not the most reasonable comparison because an inflated FPR will be reported---see :footcite:t:`grues2023` for discussion and a more reasonable benchmark. :numref:`adj_grues` shows that GrUES estimates the correct `UDG `__ while correlation thresholding (:numref:`adj_thresh`) misses the edge `1---2`. .. _roc_grues_vs_thresh: .. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/roc.png :width: 320 :alt: ROC (FPR vs. TPR) GrUES vs corr_thresh example :align: left ROC of GrUES vs corr_thresh. .. _shd_grues_vs_thresh: .. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/shd.png :width: 320 :alt: SHD GrUES vs corr_thresh example :align: right SHD of GrUES vs corr_thresh. .. _adj_grues: .. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/diffplot_30.png :width: 320 :alt: adjacency matrix GrUES example :align: left Adj mat learned by GrUES. .. _adj_thresh: .. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/diffplot_15.png :width: 320 :alt: adjacency matrix corr_thresh example :align: right Adj mat learned by corr_thresh. + :title: Gröbner-based Unconditional Equivalence Search) + :description: We consider the problem of estimating the marginal independence structure of a Bayesian network from observational data in the form of an undirected graph called the unconditional dependence graph. .. _grues: @@ -35,8 +35,8 @@ grues -GrUES ---------- +Gröbner-based Unconditional Equivalence Search) +--------------------------------------------------- Abstract: diff --git a/docs/source/structure_learning_algorithms/huge_glasso.rst b/docs/source/structure_learning_algorithms/huge_glasso.rst index b3e70c25..9461b475 100644 --- a/docs/source/structure_learning_algorithms/huge_glasso.rst +++ b/docs/source/structure_learning_algorithms/huge_glasso.rst @@ -3,7 +3,7 @@ .. meta:: :title: Graphical lasso - :description: Abstract: We consider the problem of estimating sparse graphs by a lasso penalty applied to the inverse covariance matrix. Using a coordinate descent procedure for the lasso, we develop a simple algorithm—the graphical lasso—that is remarkably fast: It solves a 1000-node problem (∼500000 parameters) in at most a minute and is 30–4000 times faster than competing methods. It also provides a conceptual link between the exact problem and the approximation suggested by Meinshausen and Bühlmann (2006). We illustrate the method on some cell-signaling data from proteomics. + :description: Estimates sparse graphs by a lasso penalty applied to the inverse covariance matrix. .. _huge_glasso: @@ -39,7 +39,60 @@ Graphical lasso ------------------- -Abstract: We consider the problem of estimating sparse graphs by a lasso penalty applied to the inverse covariance matrix. Using a coordinate descent procedure for the lasso, we develop a simple algorithm—the graphical lasso—that is remarkably fast: It solves a 1000-node problem (∼500000 parameters) in at most a minute and is 30–4000 times faster than competing methods. It also provides a conceptual link between the exact problem and the approximation suggested by Meinshausen and Bühlmann (2006). We illustrate the method on some cell-signaling data from proteomics. +Abstract: +We consider the problem of estimating the marginal independence structure of a Bayesian network from observational data in the form of an undirected graph called the unconditional dependence graph. We show that unconditional dependence graphs of Bayesian networks correspond to the graphs having equal independence and intersection numbers. Using this observation, a Gröbner basis for a toric ideal associated to unconditional dependence graphs of Bayesian networks is given and then extended by additional binomial relations to connect the space of all such graphs. An MCMC method, called GrUES (Gröbner-based Unconditional Equivalence Search), is implemented based on the resulting moves and applied to synthetic Gaussian data. GrUES recovers the true marginal independence structure via a penalized maximum likelihood or MAP estimate at a higher rate than simple independence tests while also yielding an estimate of the posterior, for which the 20% HPD credible sets include the true structure at a high rate for data-generating graphs with density at least 0.5. + +.. rubric:: Example + +Config file: `grues_vs_corr-thresh.json `_ + +Command: + +.. code:: bash + + snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/grues/grues_vs_corr-thresh.json + +:numref:`roc_grues_vs_thresh` shows the ROC and :numref:`shd_grues_vs_thresh` shows the SHD comparing GrUES to correlation thresholding for datsets from five different graphs corresponding to a 5-variable random Gaussian SEM whose nodes have average degree of 1 and whose edge weights were allowed to be close to 0. Each dataset contains 300 observations and each Markov chain has 10000 observations. Note that SHD between a learned UDG and true CPDAG is not the most reasonable comparison because an inflated FPR will be reported---see :footcite:t:`grues2023` for discussion and a more reasonable benchmark. + +:numref:`adj_grues` shows that GrUES estimates the correct `UDG `__ while correlation thresholding (:numref:`adj_thresh`) misses the edge `1---2`. + + +.. _roc_grues_vs_thresh: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/roc.png + :width: 320 + :alt: ROC (FPR vs. TPR) GrUES vs corr_thresh example + :align: left + + ROC of GrUES vs corr_thresh. + +.. _shd_grues_vs_thresh: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/shd.png + :width: 320 + :alt: SHD GrUES vs corr_thresh example + :align: right + + SHD of GrUES vs corr_thresh. + +.. _adj_grues: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/diffplot_30.png + :width: 320 + :alt: adjacency matrix GrUES example + :align: left + + Adj mat learned by GrUES. + +.. _adj_thresh: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/grues/images/diffplot_15.png + :width: 320 + :alt: adjacency matrix corr_thresh example + :align: right + + Adj mat learned by corr_thresh. + .. rubric:: Some fields described * ``lambda`` A positive number to control the regularization. Typical usage is to leave the input lambda: null and have the program compute its own. diff --git a/docs/source/structure_learning_algorithms/mvpc.rst b/docs/source/structure_learning_algorithms/mvpc.rst index c172f99c..9d02ced4 100644 --- a/docs/source/structure_learning_algorithms/mvpc.rst +++ b/docs/source/structure_learning_algorithms/mvpc.rst @@ -49,8 +49,45 @@ MVPC is based on the PC algorithm and contains two methods for correcting wrong More details can be found in the paper :footcite:t:`tu2019causal` and the long paper version :footcite:t:`tu2020causald`. The implementation is based on the R package pcalg. + +.. rubric:: Example + +Config file: `mvpc.json `_ + +Command: + +.. code:: bash + + snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/mvpc/mvpc.json + +:numref:`mvpcplot` and :numref:`mvpcplot2` show FP/P vs. TP/P for pattern graphs and skeletons based on 3 datsets corresponding to 3 realisations of a 20-variables random Gaussian SEM, with an average indegree of 4. +Each dataset contains 10000 samples and contains data that is missing not at random (MNAR) and was sampled using :ref:`mvpc_gen_data`. + + +.. _mvpcplot: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/mvpc/pattern.png + :width: 320 + :alt: FP/P vs. TP/P MVPC example + :align: left + + FP/P vs. TP/P. for pattern graphs + +.. _mvpcplot2: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/mvpc/skeleton.png + :width: 320 + :alt: FP/P vs. TP/P MVPC example + :align: right + + FP/P vs. TP/P. for skeletons + + + .. rubric:: Some fields described -* ``edgeConstraints`` Name of the JSON file containing background knowledge +* ``corrMethod`` gaussCItest.drw, gaussCItest.permc, binCItest.drw, binCItest.permc +* ``edgeConstraints`` Name of the JSON file containing :ref:`edge_constraints` +* ``indepTest`` gaussCItest, binCItest, gaussCItest.td, binCItest.td .. rubric:: Example JSON @@ -75,8 +112,8 @@ The implementation is based on the R package pcalg. "u2pd": "relaxed", "skelmethod": "stable", "conservative": false, - "majrule": false, - "solveconfl": false, + "majrule": true, + "solveconfl": true, "numCores": 1, "verbose": false, "timeout": null, diff --git a/docs/source/structure_learning_algorithms/tpc.rst b/docs/source/structure_learning_algorithms/tpc.rst new file mode 100644 index 00000000..220193d3 --- /dev/null +++ b/docs/source/structure_learning_algorithms/tpc.rst @@ -0,0 +1,64 @@ + + + + .. meta:: + :title: tPC + :description: This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available. + + +.. _tpc: + +tpc +******* + + + +.. list-table:: + + * - Package + - `tpc `__ + * - Version + - 137e18b + * - Language + - `R `__ + * - Docs + - `here `__ + * - Paper + - :footcite:t:`mykey` + * - Graph type + - `CPDAG `__ + * - Docker + - `bpimages/tpc:137e18b `__ + + * - Module folder + - `tpc `__ + + + +tPC +------- + + +This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available. Our implementation is a modified version of pc from the pcalg package (Kalisch et al. 2012) with the following additional options: + +It also supports the Multiple Imputation for Causal Graph Discovery (micd) package. +Which is and add-on to the R package pcalg for handling missing data in contrataint-based causal graph discovery. Supports continuous, discrete and mixed data. Two options are available: 1) gaussCItwd, disCItwd and mixedCItwd perform test-wise deletion, where missing observations are deleted as necessary on a test-by-test basis; 2) gaussMItest, disMItest and mixedMItest perform conditional independence tests on multiply imputed data. Each of these functions can be used as a plug-in to pcalg::skeleton, pcalg::pc or pcalg::fci. + + + +.. rubric:: Example JSON + + +.. code-block:: json + + + [ + { + "id": "myalg", + "cutoff": 0.5, + "timeout": null + } + ] + +.. footbibliography:: + diff --git a/resources/constraints/edgeConstraints.json b/resources/constraints/edgeConstraints.json index 9c685c64..8aa42835 100644 --- a/resources/constraints/edgeConstraints.json +++ b/resources/constraints/edgeConstraints.json @@ -1,12 +1,16 @@ { "tiers": [ - ["1", "2"], - ["3", "4"] + ["1", "6"], + ["3", "4"], + ["5", "2", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"] ], + "context_tier":["3", "7"], "tier_settings": { - "forbid_within_tiers": true, + "forbid_within_tiers": false, "can_only_cause_next_tier": true }, + "context_all":[] + , "forbidden_groups": [ { "cause": ["5"], diff --git a/resources/module_templates/new_alg/Dockerfile b/resources/module_templates/new_alg/Dockerfile new file mode 100644 index 00000000..874b06db --- /dev/null +++ b/resources/module_templates/new_alg/Dockerfile @@ -0,0 +1,3 @@ +# FROM bpimages/rgraphstuff:1.0 # Check out resources/envs/Dockerfile.rgraphstuff to see what this contains + +# RUN R -e 'library(remotes); install_version("pcalg", "2.7-8")' \ No newline at end of file diff --git a/resources/module_templates/new_alg/info.json b/resources/module_templates/new_alg/info.json index 3fe39177..fcb28d79 100644 --- a/resources/module_templates/new_alg/info.json +++ b/resources/module_templates/new_alg/info.json @@ -1,5 +1,6 @@ { - "title": "My new algorithm", + "title": "MNA", + "title_full": "My new algorithm", "version": "v0.0.1", "package": { "title": "", @@ -10,5 +11,14 @@ "graph_types": [ "UG" ], + "meta_description": "This text will be shown by search engines e.g.", + "data_types": [ + "continuous", + "discrete", + "mixed" + ], + "data_missingess": [ + "MCAR" + ], "language": "R" } \ No newline at end of file diff --git a/resources/module_templates/new_mcmcalg/Dockerfile b/resources/module_templates/new_mcmcalg/Dockerfile new file mode 100644 index 00000000..874b06db --- /dev/null +++ b/resources/module_templates/new_mcmcalg/Dockerfile @@ -0,0 +1,3 @@ +# FROM bpimages/rgraphstuff:1.0 # Check out resources/envs/Dockerfile.rgraphstuff to see what this contains + +# RUN R -e 'library(remotes); install_version("pcalg", "2.7-8")' \ No newline at end of file diff --git a/resources/module_templates/new_mcmcalg/info.json b/resources/module_templates/new_mcmcalg/info.json index 6e01b2da..b13f0542 100644 --- a/resources/module_templates/new_mcmcalg/info.json +++ b/resources/module_templates/new_mcmcalg/info.json @@ -1,5 +1,6 @@ { - "title": "My new MCMC algorithm", + "title": "MNMCMCA", + "title_full": "My new MCMC algorithm", "version": "v0.0.1", "package": { "title": "", @@ -10,5 +11,14 @@ "graph_types": [ "UG" ], + "meta_description": "This text will be shown by search engines e.g. Keep it less than 160 characters", + "data_types": [ + "continuous", + "discrete", + "mixed" + ], + "data_missingess": [ + "MCAR" + ], "language": "R" } \ No newline at end of file diff --git a/workflow/envs/build_images.sh b/workflow/envs/build_images.sh index 80c42e3c..aa630ed1 100755 --- a/workflow/envs/build_images.sh +++ b/workflow/envs/build_images.sh @@ -1,4 +1,4 @@ -#!/usr/local/bin/bash +#!/usr/bin/bash # Using bash 5 # ARCH should be arm64 or amd64 diff --git a/workflow/rules/evaluation/graph_true_plots/rules.smk b/workflow/rules/evaluation/graph_true_plots/rules.smk index 32717d30..cf8e59d9 100644 --- a/workflow/rules/evaluation/graph_true_plots/rules.smk +++ b/workflow/rules/evaluation/graph_true_plots/rules.smk @@ -7,7 +7,7 @@ def adjmat_true_plots(bmark_setup): for sim_setup in bmark_setup["data"] ] def graph_true_plots(bmark_setup): - return [[expand("{output_dir}/graph_plot/{adjmat_string}.png", + return [[expand("{output_dir}/graph_true_plot/{adjmat_string}.png", output_dir="results", seed=seed, adjmat_string=gen_adjmat_string_from_conf(sim_setup["graph_id"], seed)) @@ -33,6 +33,22 @@ rule true_adjmat_to_dot: fi """ +rule plot_true_dot: + input: + filename="{output_dir}/dotgraph/{something}.dot", + output: + filename="{output_dir}/graph_true_plot/{something}.png", + container: + docker_image("trilearn") + shell: + """ + if [ -s {input.filename} ]; then + dot -T png {input.filename} -o {output.filename} + else + touch {output.filename} + fi + """ + rule adjmat_true_plot: input: matrix_filename="{output_dir}/adjmat/{adjmat_string}.csv" diff --git a/workflow/rules/helper_functions.py b/workflow/rules/helper_functions.py index e9128a57..4b28f0c1 100644 --- a/workflow/rules/helper_functions.py +++ b/workflow/rules/helper_functions.py @@ -36,6 +36,12 @@ def edge_constraints_mvpc(wildcards): else: return f"resources/constraints/data=/"+alg_input_data()+f"/{wildcards.edgeConstraints}-mvpc" +def edge_constraints_bips_tpc(wildcards): + if wildcards.edgeConstraints == "None": + return [] + else: + return f"resources/constraints/data=/"+alg_input_data()+f"/{wildcards.edgeConstraints}-bips_tpc" + def get_seed_range(seed_range): if seed_range == None: return [1] diff --git a/workflow/rules/structure_learning_algorithms/bdgraph/docs.rst b/workflow/rules/structure_learning_algorithms/bdgraph/docs.rst index b28b04f6..57845f3f 100644 --- a/workflow/rules/structure_learning_algorithms/bdgraph/docs.rst +++ b/workflow/rules/structure_learning_algorithms/bdgraph/docs.rst @@ -1,3 +1,9 @@ - - - +Abstract: Graphical models provide powerful tools to uncover complicated patterns in multivariate data and are commonly used in Bayesian statistics and machine learning. In this +paper, we introduce the R package BDgraph which performs Bayesian structure learning for general undirected graphical models (decomposable and non-decomposable) with +continuous, discrete, and mixed variables. The package efficiently implements recent improvements in the Bayesian literature, including that of Mohammadi and Wit (2015) :footcite:p:`mohammadi2015bayesian` and +Dobra and Mohammadi (2018) :footcite:p:`10.1214/18-AOAS1164`. To speed up computations, the computationally intensive tasks have been implemented in C++ and interfaced with R, and the package has +parallel computing capabilities. In addition, the package contains several functions for +simulation and visualization, as well as several multivariate datasets taken from the literature and used to describe the package capabilities. The paper includes a brief overview +of the statistical methods which have been implemented in the package. The main part +of the paper explains how to use the package. Furthermore, we illustrate the package’s +functionality in both real and artificial examples. \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bdgraph/info.json b/workflow/rules/structure_learning_algorithms/bdgraph/info.json index 68e75cc2..38b33359 100644 --- a/workflow/rules/structure_learning_algorithms/bdgraph/info.json +++ b/workflow/rules/structure_learning_algorithms/bdgraph/info.json @@ -14,8 +14,8 @@ ], "language": "R", "title_full": "BDgraph", - "meta_description": "BDgraph", - "data_types": [], - "data_missingess": [], + "meta_description": "BDgraph performs Bayesian structure learning for general undirected graphical models (decomposable and non-decomposable) with continuous, discrete, and mixed variables using MCMC.", + "data_types": ["continuous", "discrete", "mixed"], + "data_missingess": ["MCAR"], "intervention_types": [] } \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/Dockerfile b/workflow/rules/structure_learning_algorithms/bips_tpc/Dockerfile new file mode 100644 index 00000000..fdbd656e --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/Dockerfile @@ -0,0 +1,9 @@ +FROM bpimages/pcalg:2.7-8 + +RUN R -e 'library(remotes); install_github("bips-hb/tpc", ref="137e18b")' + +RUN apt update -y +RUN apt install cmake -y +RUN apt-get install libgsl-dev -y +RUN R -e 'library(remotes); install_github("bips-hb/micd", ref="3babeb0")' +RUN R -e 'library(remotes); install_version("ranger", version="0.17.0")' \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/bibtex.bib b/workflow/rules/structure_learning_algorithms/bips_tpc/bibtex.bib new file mode 100644 index 00000000..71664a08 --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/bibtex.bib @@ -0,0 +1,8 @@ +@misc{andrews2023practicalguidecausaldiscovery, + title={A practical guide to causal discovery with cohort data}, + author={Ryan M. Andrews and Ronja Foraita and Vanessa Didelez and Janine Witte}, + year={2023}, + archivePrefix={arXiv}, + primaryClass={stat.AP}, + url={https://arxiv.org/abs/2108.13395}, +} \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json b/workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json new file mode 100644 index 00000000..09397a0c --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json @@ -0,0 +1,209 @@ +{ + "benchmark_setup": [ + { + "title": "tpc_example", + "data": [ + { + "graph_id": "avneigs4_p20", + "parameters_id": "SEM", + "data_id": "missing", + "seed_range": [1, 3] + } + ], + "evaluation": { + "graph_true_plots": true, + "graph_true_stats": false, + "ggally_ggpairs": false, + "benchmarks": { + "filename_prefix": "example/", + "show_seed": false, + "errorbar": true, + "errorbarh": false, + "scatter": true, + "path": true, + "text": false, + "ids": ["mvpc", "bips_tpc"] + }, + "graph_estimation": { + "ids": ["mvpc", "bips_tpc"], + "convert_to": [], + "graphs": false, + "adjmats": false, + "diffplots": false, + "csvs": true, + "graphvizcompare": false + }, + "mcmc_traj_plots": [], + "mcmc_heatmaps": [], + "mcmc_autocorr_plots": [] + } + } + ], + "resources": { + "data": { + "iid": [ + { + "id": "standardized", + "standardized": true, + "n": [1000] + } + ], + "mvpc_gen_data": [ + { + "id": "missing", + "num_extra_e": 5, + "num_m": 10, + "mode": "mnar", + "p_missing_h": 0.9, + "p_missing_e": 0.1, + "standardized": false, + "n": 10000 + } + ] + }, + "graph": { + "pcalg_randdag": [ + { + "id": "avneigs4_p20", + "max_parents": 5, + "n": 20, + "d": 4, + "par1": null, + "par2": null, + "method": "er", + "DAG": true + } + ] + }, + "parameters": { + "sem_params": [ + { + "id": "SEM", + "min": 0.25, + "max": 1 + } + ] + }, + "structure_learning_algorithms": { + "tetrad_fges": [ + { + "id": "fges-sem-bic", + "faithfulnessAssumed": true, + "score": "sem-bic-score", + "datatype": "continuous", + "samplePrior": 1, + "semBicStructurePrior": 1, + "penaltyDiscount": [0.75, 0.8, 1, 1.5], + "timeout": null, + "edgeConstraints": null + } + ], + "pcalg_pc": [ + { + "id": "pc-gaussCItest", + "alpha": [0.001, 0.01, 0.05, 0.1], + "NAdelete": true, + "mmax": "Inf", + "u2pd": "relaxed", + "skelmethod": "stable", + "conservative": false, + "majrule": false, + "solveconfl": false, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItest", + "timeout": null, + "edgeConstraints": null + } + ], + "mvpc": [ + { + "id": "mvpc", + "alpha": [0.001, 0.01, 0.05, 0.11], + "corrMethod": "gaussCItest.permc", + "NAdelete": true, + "mmax": "Inf", + "u2pd": "relaxed", + "skelmethod": "stable", + "conservative": false, + "majrule": true, + "solveconfl": true, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItest.td", + "timeout": null, + "edgeConstraints": null + }, + { + "id": "td-pc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "corrMethod": null, + "NAdelete": true, + "mmax": "Inf", + "u2pd": "relaxed", + "skelmethod": "stable", + "conservative": false, + "majrule": true, + "solveconfl": true, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItest.td", + "timeout": null, + "edgeConstraints": null + } + ], + "bips_tpc": [ + { + "id": "bips_tpc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "mmax": "Inf", + "conservative": false, + "majrule": true, + "numCores": 1, + "cl_type": "PSOCK", + "verbose": false, + "indepTest": "gaussCItwd", + "timeout": null, + "edgeConstraints": null + } + ], + "bnlearn_tabu": [ + { + "id": "tabu-bge", + "score": "bge", + "iss": 1, + "issmu": [0.0001, 0.001, 0.01, 0.05], + "issw": null, + "l": 5, + "k": 1, + "prior": "uniform", + "beta": 1, + "timeout": null, + "edgeConstraints": null + } + ], + "bidag_itsearch": [ + { + "id": "itsearch-bge", + "timeout": null, + "estimate": "map", + "MAP": false, + "plus1it": 2, + "posterior": 0.5, + "scoretype": "bge", + "chi": null, + "edgepf": 2, + "am": [0.01, 0.1, 1], + "aw": null, + "softlimit": 9, + "hardlimit": 14, + "alpha": 0.01, + "gamma": 1, + "cpdag": false, + "mergetype": "skeleton", + "edgeConstraints": null + } + ] + } + } +} diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/config.json b/workflow/rules/structure_learning_algorithms/bips_tpc/config.json new file mode 100644 index 00000000..3558d727 --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/config.json @@ -0,0 +1,161 @@ +{ + "benchmark_setup": [ + { + "data": [ + { + "graph_id": "avneigs4_p20", + "parameters_id": "SEM", + "data_id": "standardized", + "seed_range": [1, 3] + } + ], + "evaluation": { + "graph_estimation": { + "ids": ["tpc"], + "convert_to": [], + "graphs": true, + "adjmats": false, + "diffplots": true, + "csvs": true, + "graphvizcompare": true + }, + "benchmarks": { + "filename_prefix": "bips_tpc_example/", + "show_seed": false, + "errorbar": true, + "errorbarh": false, + "scatter": true, + "path": true, + "text": false, + "ids": ["tpc"] + }, + "graph_true_plots": false, + "graph_true_stats": false, + "ggally_ggpairs": false, + "graph_plots": [], + "mcmc_traj_plots": [], + "mcmc_heatmaps": [], + "mcmc_autocorr_plots": [] + }, + "title": "bips_tpc" + } + ], + "resources": { + "data": { + "iid": [ + { + "id": "standardized", + "standardized": true, + "n": [300] + } + ] + }, + "graph": { + "pcalg_randdag": [ + { + "id": "avneigs4_p20", + "max_parents": 5, + "n": 20, + "d": 4, + "par1": null, + "par2": null, + "method": "er", + "DAG": true + } + ] + }, + "parameters": { + "sem_params": [ + { + "id": "SEM", + "min": 0.25, + "max": 1 + } + ] + }, + "structure_learning_algorithms": { + "tetrad_fges": [ + { + "id": "fges-sem-bic", + "faithfulnessAssumed": true, + "score": "sem-bic-score", + "datatype": "continuous", + "samplePrior": 1, + "semBicStructurePrior": 1, + "penaltyDiscount": [0.75, 0.8, 1, 1.5], + "timeout": null, + "edgeConstraints": null + } + ], + "pcalg_pc": [ + { + "id": "pc-gaussCItest", + "alpha": [0.001, 0.01, 0.05, 0.1], + "NAdelete": true, + "mmax": "Inf", + "u2pd": "relaxed", + "skelmethod": "stable", + "conservative": false, + "majrule": false, + "solveconfl": false, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItest", + "timeout": null, + "edgeConstraints": null + } + ], + "bips_tpc": [ + { + "id": "tpc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "mmax": "Inf", + "conservative": false, + "majrule": true, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItwd", + "timeout": null, + "edgeConstraints": "edgeConstraints.json" + } + ], + "bnlearn_tabu": [ + { + "id": "tabu-bge", + "score": "bge", + "iss": 1, + "issmu": [0.0001, 0.001, 0.01, 0.05], + "issw": null, + "l": 5, + "k": 1, + "prior": "uniform", + "beta": 1, + "timeout": null, + "edgeConstraints": null + } + ], + "bidag_itsearch": [ + { + "id": "itsearch-bge", + "timeout": null, + "estimate": "map", + "MAP": false, + "plus1it": 2, + "posterior": 0.5, + "scoretype": "bge", + "chi": null, + "edgepf": 2, + "am": [0.01, 0.1, 1], + "aw": null, + "softlimit": 9, + "hardlimit": 14, + "alpha": 0.01, + "gamma": 1, + "cpdag": false, + "mergetype": "skeleton", + "edgeConstraints": null + } + ] + } + } +} diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/docs.rst b/workflow/rules/structure_learning_algorithms/bips_tpc/docs.rst new file mode 100644 index 00000000..9450a0bb --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/docs.rst @@ -0,0 +1,44 @@ +This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available. Our implementation is a modified version of pc from the pcalg package (Kalisch et al. 2012) with the following additional options: + +It also supports the Multiple Imputation for Causal Graph Discovery (micd) package. +Which is and add-on to the R package pcalg for handling missing data in contrataint-based causal graph discovery. Supports continuous, discrete and mixed data. Two options are available: 1) gaussCItwd, disCItwd and mixCItwd perform test-wise deletion, where missing observations are deleted as necessary on a test-by-test basis; 2) [not in Benchpress yet] gaussMItest, disMItest and mixedMItest perform conditional independence tests on multiply imputed data. + + +.. rubric:: Example + +Config file: `bips_tpc.json `_ + +Command: + +.. code:: bash + + snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/bips_tpc/bips_tpc.json + + +.. rubric:: Example + +Config file: `bips_tpc.json `_ + + +:numref:`bips_tpcplot` and :numref:`bips_tpcplot2` show FP/P vs. TP/P for pattern graphs and skeletons based on 3 datsets corresponding to 3 realisations of a 20-variables random Gaussian SEM, with an average indegree of 4. +Each dataset contains 10000 samples and contains data that is missing not at random (MNAR) and was sampled using :ref:`mvpc_gen_data`. + + +.. _bips_tpcplot: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/bips_tpc/pattern.png + :width: 320 + :alt: FP/P vs. TP/P tPC example + :align: left + + FP/P vs. TP/P. for pattern graphs + +.. _bips_tpcplot2: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/bips_tpc/skeleton.png + :width: 320 + :alt: FP/P vs. TP/P tPC example + :align: right + + FP/P vs. TP/P. for skeletons + diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/info.json b/workflow/rules/structure_learning_algorithms/bips_tpc/info.json new file mode 100644 index 00000000..0b2c9307 --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/info.json @@ -0,0 +1,24 @@ +{ + "title": "tPC", + "title_full": "temporal PC", + "version": "137e18b", + "package": { + "title": "tpc", + "url": "https://github.com/bips-hb/tpc" + }, + "docs_url": "https://github.com/bips-hb/tpc", + "outputs": "adjmat", + "graph_types": [ + "CPDAG" + ], + "meta_description": "This package implements the tPC algorithm for causal discovery. The 't' stands for 'temporal' or 'tiers' and indicates that background knowledge in the form of a partial node/variable ordering is available.", + "data_types": [ + "continuous", + "discrete", + "mixed" + ], + "data_missingess": [ + "MCAR" + ], + "language": "R" +} \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/pattern.png b/workflow/rules/structure_learning_algorithms/bips_tpc/pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..63c926c01b3e74fd63b3c835325399d65809ebef GIT binary patch literal 119743 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�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
&Fq~aX(ZMA3txhh5x?Y^e5Yw*O{Lmnn$H+1x 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 literal 0 HcmV?d00001 diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/rule.smk b/workflow/rules/structure_learning_algorithms/bips_tpc/rule.smk new file mode 100644 index 00000000..8b87f8b1 --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/rule.smk @@ -0,0 +1,14 @@ +rule: + name: + module_name + input: + data = alg_input_data(), + edgeConstraints_formatted=edge_constraints_bips_tpc + output: + adjmat = alg_output_adjmat_path(module_name), + time = alg_output_time_path(module_name), + ntests = touch(alg_output_ntests_path(module_name)) + container: + "docker://bpimages/bips_tpc:137e18b-amd64" + script: + "script.R" \ No newline at end of file diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/schema.json b/workflow/rules/structure_learning_algorithms/bips_tpc/schema.json new file mode 100644 index 00000000..3f27893e --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/schema.json @@ -0,0 +1,100 @@ +{ + "title": "MVPC", + "description": "List of objects", + "type": "array", + "items": { + "title": "Some item", + "description": "Some description.", + "type": "object", + "properties": { + "id": { + "description": "Algorithm identifier", + "type": "string" + }, + "alpha": { + "$ref": "../../../schemas/definitions.schema.json#/definitions/flexprob" + }, + "indepTest": { + "description": "gaussCItest, binCItest, disCItest, gaussCItwd, disCItwd, mixCItwd" , + "anyOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "gaussCItest", + "binCItest", + "gaussCItwd", + "disCItwd", + "mixCItwd", + "disCItest" + ] + } + }, + { + "type": "string", + "enum": [ + "gaussCItest", + "binCItest", + "disCItest", + "gaussCItwd", + "disCItwd", + "mixCItwd" + ] + } + ] + }, + "verbose": { + "type": "boolean" + }, + "mmax": { + "$ref": "../../../schemas/definitions.schema.json#/definitions/flexnonnegintstring" + }, + "conservative": { + "type": "boolean" + }, + "majrule": { + "type": "boolean" + }, + "solveconfl": { + "type": "boolean" + }, + "timeout": { + "$ref": "../../../schemas/definitions.schema.json#/definitions/flexnonnegnumnull" + }, + "edgeConstraints": { + "type": ["string", "null"], + "pattern": ".*\\.json$", + "description": "Name of the JSON file containing :ref:`edge_constraints`" + } + }, + "required": [ + "id", + "timeout", + "alpha", + "indepTest", + "verbose", + "mmax", + "conservative", + "majrule", + "timeout", + "edgeConstraints" + ], + "examples": [ + { + "id": "tpc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "mmax": "Inf", + "conservative": false, + "majrule": true, + "numCores": 1, + "cl_type": "PSOCK", + "verbose": false, + "indepTest": "gaussCItwd", + "timeout": null, + "edgeConstraints": null + } + ] + }, + "uniqueItems": true +} diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/script.R b/workflow/rules/structure_learning_algorithms/bips_tpc/script.R new file mode 100644 index 00000000..e5228f02 --- /dev/null +++ b/workflow/rules/structure_learning_algorithms/bips_tpc/script.R @@ -0,0 +1,96 @@ +source("workflow/scripts/utils/helpers.R") + +library(RBGL) +library(tpc) +library(micd) +source("resources/code_for_binary_simulations/bnlearn_help_fns.R") + +wrapper <- function() { + filename <- file.path(snakemake@output[["adjmat"]]) + filename_data <- snakemake@input[["data"]] + filename_edge_constraints <- snakemake@input[["edgeConstraints_formatted"]] + seed <- as.integer(snakemake@wildcards[["seed"]]) + alpha <- as.numeric(snakemake@wildcards[["alpha"]]) + mmax <- as.numeric(snakemake@wildcards[["mmax"]]) + conservative <- as.logical(snakemake@wildcards[["conservative"]]) + majrule <- as.logical(snakemake@wildcards[["majrule"]]) + solveconfl <- as.logical(snakemake@wildcards[["solveconfl"]]) + numCores <- as.integer(snakemake@wildcards[["numCores"]]) + verbose <- as.logical(snakemake@wildcards[["verbose"]]) + indepTest <- match.fun(snakemake@wildcards[["indepTest"]]) + cl_type <- snakemake@wildcards[["cl_type"]] + + data <- read.csv(filename_data, check.names = FALSE) + + tiers <- NULL + context.all <- NULL + context.tier <- NULL + forbEdges <- NULL + + if (!is.null(filename_edge_constraints)) { + edgeConstraints <- readRDS(filename_edge_constraints) + p <- ncol(data) + node_names <- colnames(data) + + if (length((edgeConstraints$tiers)) > 0) { + tiers <- edgeConstraints$tiers + } + + if (length((edgeConstraints$context.all)) > 0) { + context.all <- edgeConstraints$context.all + } + + if (length(edgeConstraints$context.tier) > 0) { + context.tier <- edgeConstraints$context.tier + } + + forbEdges <- edgeConstraints$forbEdges + + } + suffStat <- NULL + if (snakemake@wildcards[["indepTest"]] %in% c("binCItest", "disCItwd")) { + # the discrete case + nlev <- as.numeric(data[1, ]) + data <- data[-1, ] # Remove range header + suffStat <- list(dm = data, nlev = nlev, adaptDF = FALSE) + } else if (snakemake@wildcards[["indepTest"]] == "gaussCItest") { + n <- dim(data)[1] + suffStat <- list(C = cor(data), n = n) + } else if (snakemake@wildcards[["indepTest"]] %in% c("gaussCItwd", "mixCItwd")) { + suffStat <- data + } + + + start <- proc.time()[1] + set.seed(seed) + + pc.fit <- tpc( + suffStat, + indepTest, + alpha, + colnames(data), + m.max = mmax, + conservative = conservative, + maj.rule = majrule, + numCores = numCores, + cl.type = cl_type, + forbEdges = forbEdges, + tiers = tiers, + context.all = context.all, + context.tier = context.tier, + verbose = verbose + ) + + totaltime <- proc.time()[1] - start + + graph <- pc.fit@graph + adjmat <- as(graph, "matrix") + + colnames(adjmat) <- names(data) + + write.csv(adjmat, file = filename, row.names = FALSE, quote = FALSE) + + write(totaltime, file = snakemake@output[["time"]]) +} + +add_timeout(wrapper) diff --git a/workflow/rules/structure_learning_algorithms/bips_tpc/skeleton.png b/workflow/rules/structure_learning_algorithms/bips_tpc/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..11fc742ebcc90bebee36498d2570cee36cd45ac4 GIT binary patch literal 104161 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 z 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 + +Command: + +.. code:: bash + + snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/mvpc/mvpc.json + +:numref:`mvpcplot` and :numref:`mvpcplot2` show FP/P vs. TP/P for pattern graphs and skeletons based on 3 datsets corresponding to 3 realisations of a 20-variables random Gaussian SEM, with an average indegree of 4. +Each dataset contains 10000 samples and contains data that is missing not at random (MNAR) and was sampled using :ref:`mvpc_gen_data`. + + +.. _mvpcplot: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/mvpc/pattern.png + :width: 320 + :alt: FP/P vs. TP/P MVPC example + :align: left + + FP/P vs. TP/P. for pattern graphs + +.. _mvpcplot2: + +.. figure:: ../../../workflow/rules/structure_learning_algorithms/mvpc/skeleton.png + :width: 320 + :alt: FP/P vs. TP/P MVPC example + :align: right + + FP/P vs. TP/P. for skeletons + diff --git a/workflow/rules/structure_learning_algorithms/mvpc/mvpc.json b/workflow/rules/structure_learning_algorithms/mvpc/mvpc.json index bf31b2d7..3901c4ab 100644 --- a/workflow/rules/structure_learning_algorithms/mvpc/mvpc.json +++ b/workflow/rules/structure_learning_algorithms/mvpc/mvpc.json @@ -1,24 +1,42 @@ { "benchmark_setup": [ { + "title": "mvpc_example", "data": [ { "graph_id": "avneigs4_p20", "parameters_id": "SEM", "data_id": "missing", - "seed_range": [1, 1] + "seed_range": [1, 3] } ], "evaluation": { "graph_true_plots": true, "graph_true_stats": false, - "ggally_ggpairs": true, - "graph_plots": ["mvpc", "td-pc"], + "ggally_ggpairs": false, + "benchmarks": { + "filename_prefix": "example/", + "show_seed": false, + "errorbar": true, + "errorbarh": false, + "scatter": true, + "path": true, + "text": false, + "ids": ["mvpc", "td-pc", "bips_tpc"] + }, + "graph_estimation": { + "ids": ["mvpc", "td-pc", "bips_tpc"], + "convert_to": [], + "graphs": false, + "adjmats": false, + "diffplots": false, + "csvs": true, + "graphvizcompare": false + }, "mcmc_traj_plots": [], "mcmc_heatmaps": [], "mcmc_autocorr_plots": [] - }, - "title": "missingdata" + } } ], "resources": { @@ -33,13 +51,13 @@ "mvpc_gen_data": [ { "id": "missing", - "num_extra_e": 2, - "num_m": 5, - "mode": "mar", + "num_extra_e": 5, + "num_m": 10, + "mode": "mnar", "p_missing_h": 0.9, "p_missing_e": 0.1, "standardized": false, - "n": 1001 + "n": 10000 } ] }, @@ -48,7 +66,7 @@ { "id": "avneigs4_p20", "max_parents": 5, - "n": 10, + "n": 20, "d": 4, "par1": null, "par2": null, @@ -108,8 +126,8 @@ "u2pd": "relaxed", "skelmethod": "stable", "conservative": false, - "majrule": false, - "solveconfl": false, + "majrule": true, + "solveconfl": true, "numCores": 1, "verbose": false, "indepTest": "gaussCItest.td", @@ -117,22 +135,37 @@ "edgeConstraints": null }, { - "id": "td-pc", - "alpha": [0.001, 0.01, 0.05, 0.1], - "corrMethod": null, - "NAdelete": true, - "mmax": "Inf", - "u2pd": "relaxed", - "skelmethod": "stable", - "conservative": false, - "majrule": false, - "solveconfl": false, - "numCores": 1, - "verbose": false, - "indepTest": "gaussCItest.td", - "timeout": null, - "edgeConstraints": null - } + "id": "td-pc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "corrMethod": null, + "NAdelete": true, + "mmax": "Inf", + "u2pd": "relaxed", + "skelmethod": "stable", + "conservative": false, + "majrule": true, + "solveconfl": true, + "numCores": 1, + "verbose": false, + "indepTest": "gaussCItest.td", + "timeout": null, + "edgeConstraints": null + } + ], + "bips_tpc": [ + { + "id": "bips_tpc", + "alpha": [0.001, 0.01, 0.05, 0.1], + "mmax": "Inf", + "conservative": false, + "majrule": true, + "numCores": 1, + "cl_type": "PSOCK", + "verbose": false, + "indepTest": "gaussCItwd", + "timeout": null, + "edgeConstraints": null + } ], "bnlearn_tabu": [ { diff --git a/workflow/rules/structure_learning_algorithms/mvpc/pattern.png b/workflow/rules/structure_learning_algorithms/mvpc/pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..99bdfe67e3bcfd585e971659666157ddeebc9d82 GIT binary patch literal 125898 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 JL-zEw{{YY3XBPkf literal 0 HcmV?d00001 diff --git a/workflow/rules/structure_learning_algorithms/mvpc/schema.json b/workflow/rules/structure_learning_algorithms/mvpc/schema.json index 647397a3..33f7f629 100644 --- a/workflow/rules/structure_learning_algorithms/mvpc/schema.json +++ b/workflow/rules/structure_learning_algorithms/mvpc/schema.json @@ -15,6 +15,7 @@ "$ref": "../../../schemas/definitions.schema.json#/definitions/flexprob" }, "corrMethod": { + "description": "gaussCItest.drw, gaussCItest.permc, binCItest.drw, binCItest.permc", "anyOf": [ { "type": "array", @@ -41,6 +42,7 @@ ] }, "indepTest": { + "description": "gaussCItest, binCItest, gaussCItest.td, binCItest.td", "anyOf": [ { "type": "array", @@ -100,7 +102,7 @@ "edgeConstraints": { "type": ["string", "null"], "pattern": ".*\\.json$", - "description": "Name of the JSON file containing background knowledge" + "description": "Name of the JSON file containing :ref:`edge_constraints`" } }, "required": [ @@ -132,8 +134,8 @@ "u2pd": "relaxed", "skelmethod": "stable", "conservative": false, - "majrule": false, - "solveconfl": false, + "majrule": true, + "solveconfl": true, "numCores": 1, "verbose": false, "timeout": null, diff --git a/workflow/rules/structure_learning_algorithms/mvpc/skeleton.png b/workflow/rules/structure_learning_algorithms/mvpc/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..94cc86e6a968dae06e248e66da544272ea251e34 GIT binary patch literal 109433 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

Zml|<^Wjr^> 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 literal 0 HcmV?d00001 diff --git a/workflow/scripts/utils/convert_edge_constraints_all.R b/workflow/scripts/utils/convert_edge_constraints_all.R index 429fe8d1..9dd95a50 100644 --- a/workflow/scripts/utils/convert_edge_constraints_all.R +++ b/workflow/scripts/utils/convert_edge_constraints_all.R @@ -12,7 +12,7 @@ node_labels <- colnames(datafile) # Handle null value for edgeConstraints if (filename_data == "null" || file.size(filename_data) == 0) { - if (package == "pcalg" || package == "mvpc") { + if (package == "pcalg" || package == "mvpc" || package == "bips_tpc") { # Empty data frame - pcalg and mvpc matrix_data <- data.frame(node1 = character(), node2 = character(), matrix_type = character(), stringsAsFactors = FALSE) write.csv(matrix_data, file = filename_output, row.names = FALSE, quote = FALSE) @@ -58,6 +58,95 @@ if (filename_data == "null" || file.size(filename_data) == 0) { matrix_data <- cbind(matrix_data, matrix_type) colnames(matrix_data)[1:2] <- c("node1", "node2") write.csv(matrix_data, file = filename_output, row.names = FALSE, quote = FALSE) + } else if (package == "bips_tpc") { # bips_tpc + + # handle forbidden edges and tiers. Later, context and context.tiers. + p <- ncol(datafile) + constraints <- list() # save this to file serialized + + tiers <- rep(NULL, p) + # for each tier in data$tiers, + + tier_no <- 1 + for (t in data$tiers) { + for (v in t) { + # get the index of the variable in the node_labels + index <- which(node_labels == v) + + tiers[index] <- tier_no + } + tier_no <- tier_no + 1 + } + constraints$tiers <- tiers + + forbEdges <- matrix(0, p, p) + # loop over the forbidden edges and add them to forbEdges + for (edge in data$forbidden_edges) { + from <- which(node_labels == edge[1]) + to <- which(node_labels == edge[2]) + forbEdges[from, to] <- 1 + } + + # loop over the forbidden groups and add them to forbEdges + for (group in data$forbidden_groups) { + for (cause in group$cause) { + for (effect in group$effect) { + from <- which(node_labels == cause) + to <- which(node_labels == effect) + forbEdges[from, to] <- 1 + } + } + } + + # Now, check if data$tier_setting$forbid_withid_tiers == true + # if so fot the edges within the tiers, add them to forbEdges + + if (!is.null(data$tier_settings) && data$tier_settings$forbid_within_tiers) { + for (tier in data$tiers) { + for (i in 1:(length(tier) - 1)) { + for (j in (i + 1):length(tier)) { + from <- which(node_labels == tier[i]) + to <- which(node_labels == tier[j]) + forbEdges[from, to] <- 1 + } + } + } + } + + # Now, check if data$tier_setting$can_only_cause_next_tier == true + # if so fot the edges within the tiers, add them to forbEdges + if (!is.null(data$tier_settings) && data$tier_settings$can_only_cause_next_tier) { + for (i in 1:(length(data$tiers) - 1)) { + current_tier <- data$tiers[[i]] + future_tiers <- data$tiers[(i + 2):length(data$tiers)] + for (var in current_tier) { + for (future_tier in future_tiers) { + for (future_var in future_tier) { + from <- which(node_labels == var) + to <- which(node_labels == future_var) + forbEdges[from, to] <- 1 + } + } + } + } + } + + # Now forbid edges to the source_nodes + if (!is.null(data$source_nodes)) { + for (source_node in data$source_nodes) { + from <- which(node_labels == source_node) + for (i in 1:p) { + forbEdges[i, from] <- 1 + } + } + } + + constraints$forbEdges <- forbEdges + constraints$context.all <- data$context_all + constraints$context.tier <- data$context_tier + + saveRDS(constraints, file = filename_output) + } else if (package == "bnlearn") { # bnlearn # bnlearn - "blacklists" and "whitelists" blacklist <- forbidden_edges