Learning DAGs from Data with Few Root Causes

Authors: Panagiotis Misiakos, Chris Wendler, Markus Püschel

NeurIPS 2023 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We experimentally evaluate our DAG learning method Sparse RC with both synthetically generated data with few root causes and real data from gene regulatory networks [Sachs et al., 2005].
Researcher Affiliation Academia Panagiotis Misiakos, Chris Wendler and Markus Püschel Department of Computer Science, ETH Zurich {pmisiakos, wendlerc, markusp}@ethz.ch
Pseudocode No The paper does not contain structured pseudocode or algorithm blocks.
Open Source Code Yes Our implementation. To solve (10) in practice, we implemented1 a Py Torch model with a trainable parameter representing the weighted adjacency matrix A. This allows us to utilize GPUs for the acceleration of the execution of our algorithm (GOLEM uses GPUs, NOTEARS does not). Then we use the standard Adam [Kingma and Ba, 2014] optimizer to minimize the loss defined in (10).1Our code is publicly available at https://github.com/pmisiakos/Sparse RC.
Open Datasets Yes We experimentally evaluate our DAG learning method Sparse RC with both synthetically generated data with few root causes and real data from gene regulatory networks [Sachs et al., 2005].
Dataset Splits No The paper describes the total number of samples used (e.g., 7466 samples, using the first 853), but it does not specify explicit training, validation, or test dataset splits, nor does it mention cross-validation.
Hardware Specification Yes Our experiments were run on a single laptop machine with 8 core CPU with 32GB RAM and an NVIDIA Ge Force RTX 3080 GPU.
Software Dependencies No The paper mentions "Py Torch model" and "Adam [Kingma and Ba, 2014] optimizer", and lists various open-source code repositories (e.g., DAGMA, GOLEM, NOTEARS, DAG-No Curl, Li NGAM, causal discovery toolbox) with their licenses, but it does not specify version numbers for these software components or the programming language (e.g., Python 3.x, PyTorch 1.x).
Experiment Setup Yes To solve (10) in practice, we implemented1 a Py Torch model with a trainable parameter representing the weighted adjacency matrix A. ... Then we use the standard Adam [Kingma and Ba, 2014] optimizer to minimize the loss defined in (10). We choose λ = 10 3 as the coefficient for the L1 regularizer of optimization problem (10). For NOTEARS we also choose λ = 10 3. The rest of the methods are used with default parameters, except for the post-processing threshold which is always set to 0.09, except to the case of larger weights (Table 1, row 6) where it is set slightly below the weights ω = 0.4.