:og:description: Masked Gradient-Based Causal Structure Learning :og:image:alt: Benchpress logo :og:sitename: Benchpress causal discovery platform :og:title: MCSL (gCastle) .. meta:: :title: MCSL (gCastle) :description: Masked Gradient-Based Causal Structure Learning .. _gcastle_mcsl: MCSL (gCastle) *************** .. list-table:: * - Module name - `gcastle_mcsl `__ * - Package - `gCastle `__ * - Version - 1.0.3 * - Language - `Python `__ * - Docs - `here `__ * - Paper - :footcite:t:`doi:10.1137/1.9781611977172.48` * - Graph type - `DAG `__ * - MCMC - No * - Edge constraints - No * - Data type - C * - Data missingness - * - Intervention type - * - Docker - `bpimages/gcastle:1.0.3 `__ Masked Gradient-Based Causal Structure Learning --------------------------------------------------- A gradient-based algorithm for non-linear additive noise data by learning the binary adjacency matrix. .. rubric:: Example Config file: `gcastle.json `_ Command: .. code:: bash snakemake --cores all --use-apptainer --configfile config/gcastle.json :numref:`gcastleplot` shows the pattern graph's FP/P vs. TP/P benchmark results for 12 gCastle algorithms (and comparison with :ref:`tetrad_boss` and :ref:`bidag_itsearch`). 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]. .. _gcastleplot: .. figure:: https://raw.githubusercontent.com/felixleopoldo/benchpress/master/docs/source/_static/gcastle_benchmarks.png :width: 640 :alt: FP/P vs. TP/P for gCastle algorithms :align: center FP/P vs. TP/P for gCastle algorithms. .. rubric:: Example JSON .. code-block:: json [ { "id": "gcastle_mcsl", "model_type": "nn", "hidden_dim": 16, "graph_thresh": 0.5, "l1_graph_penalty": "2e-3", "learning_rate": "3e-2", "max_iter": 5, "iter_step": 100, "init_iter": 2, "h_tol": "1e-10", "init_rho": "1e-5", "rho_thresh": "1e14", "h_thresh": 0.25, "rho_multiply": 10, "temperature": 0.2, "device_type": "cpu", "device_ids": "0", "timeout": null } ] .. footbibliography::