GraNDAG (gCastle)
Module name |
|
Package |
|
Version |
1.0.3 |
Language |
|
Docs |
|
Paper |
Lachapelle et al.[1] |
Graph type |
|
MCMC |
No |
Edge constraints |
No |
Data type |
C |
Data missingness |
|
Intervention type |
|
Docker |
Gradient-based Neural DAG Learner
A gradient-based algorithm using neural network modeling for non-linear additive noise data.
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].
Fig. 37 FP/P vs. TP/P for gCastle algorithms.
Example JSON
[
{
"id": "gcastle_grandag",
"hidden_num": 2,
"hidden_dim": 10,
"batch_size": 64,
"lr": 0.001,
"iterations": 1000,
"model_name": "NonLinGaussANM",
"nonlinear": "leaky-relu",
"optimizer": "rmsprop",
"h_threshold": "1e-8",
"device_type": "cpu",
"use_pns": false,
"pns_thresh": 0.75,
"num_neighbors": null,
"normalize": false,
"precision": false,
"random_seed": 42,
"jac_thresh": true,
"lambda_init": 0.0,
"mu_init": 0.001,
"omega_lambda": 0.0001,
"omega_mu": 0.9,
"stop_crit_win": 100,
"edge_clamp_range": 0.0001,
"norm_prod": "paths",
"square_prod": false,
"timeout": null
}
]