GAE (gCastle)

Module name

gcastle_gae

Package

gCastle

Version

1.0.3

Language

Python

Docs

here

Paper

Ng et al.[1]

Graph type

DAG

MCMC

No

Edge constraints

No

Data type

C

Data missingness

Intervention type

Docker

bpimages/gcastle:1.0.3

Graph Autoencoder

A gradient-based algorithm using graph autoencoder to model non-linear causal relationships.

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. 31 FP/P vs. TP/P for gCastle algorithms.

Example JSON

[
  {
    "id": "gcastle_gae",
    "input_dim": 1,
    "hidden_layers": 1,
    "hidden_dim": 4,
    "epochs": 10,
    "update_freq": 3000,
    "init_iter": 3,
    "lr": "1e-3",
    "alpha": 0.0,
    "beta": 2.0,
    "init_rho": 1.0,
    "rho_thresh": "1e+30",
    "gamma": 0.25,
    "penalty_lambda": 0.0,
    "h_thresh": 0.25,
    "graph_thresh": 0.3,
    "early_stopping": false,
    "early_stopping_thresh": 1.0,
    "device_type": "cpu",
    "device_ids": "0",
    "timeout": null
  }
]