NO TEARS (gCastle)

Module name

gcastle_notears

Package

gCastle

Version

1.0.3

Language

Python

Docs

here

Paper

Zheng et al.[1]

Graph type

DAG

MCMC

No

Edge constraints

No

Data type

C

Data missingness

Intervention type

Docker

bpimages/gcastle:1.0.3

Non-combinatorial Optimization via Trace Exponential and Augmented lagRangian for Structure learning

This score-based method recasts the combinatorial problem of estimating a DAG into a purely continuous non-convex optimization problem over real matrices with a smooth constraint to ensure acyclicity.

Example

Config file: gcastle.json

Command:

snakemake --cores all --use-apptainer --configfile config/gcastle.json

Fig. 50 shows the pattern graph’s FP/P vs. TP/P benchmark results for 12 gCastle algorithms (and comparison with BOSS (TETRAD) and Iterative MCMC (BiDAG)). The benchmark is based on 5 datasets corresponding to 5 realisations of a 20-variable random Gaussian SEM with Erdős-Rényi structure (expected degree 4, max parents 5). Each dataset contains 300 standardized samples. The SEM parameters are uniformly sampled from [0.25, 1].

FP/P vs. TP/P for gCastle algorithms

Fig. 46 FP/P vs. TP/P for gCastle algorithms.

Example JSON

[
  {
    "id": "gcastle_notears",
    "lambda1": 0.1,
    "loss_type": "l2",
    "max_iter": 100,
    "h_tol": "1e-8",
    "rho_max": "1e+16",
    "w_threshold": [
      0.05,
      0.1,
      0.25
    ],
    "timeout": null
  }
]