{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/assumption-violations-in-causal-discovery-and","title":"Assumption violations in causal discovery and the robustness of score matching","arxiv_id":"2310.13387","date":"2023-10-20","proceeding":"NeurIPS 2023 11","authors":["Francesco Montagna","Atalanti A. Mastakouri","Elias Eulig","Nicoletta Noceti","Lorenzo Rosasco","Dominik Janzing","Bryon Aragam","Francesco Locatello"],"abstract":"When domain knowledge is limited and experimentation is restricted by ethical, financial, or time constraints, practitioners turn to observational causal discovery methods to recover the causal structure, exploiting the statistical properties of their data. Because causal discovery without further assumptions is an ill-posed problem, each algorithm comes with its own set of usually untestable assumptions, some of which are hard to meet in real datasets. Motivated by these considerations, this paper extensively benchmarks the empirical performance of recent causal discovery methods on observational i.i.d. data generated under different background conditions, allowing for violations of the critical assumptions required by each selected approach. Our experimental findings show that score matching-based methods demonstrate surprising performance in the false positive and false negative rate of the inferred graph in these challenging scenarios, and we provide theoretical insights into their performance. This work is also the first effort to benchmark the stability of causal discovery algorithms with respect to the values of their hyperparameters. Finally, we hope this paper will set a new standard for the evaluation of causal discovery methods and can serve as an accessible entry point for practitioners interested in the field, highlighting the empirical implications of different algorithm choices.","url_abs":"https://arxiv.org/abs/2310.13387v2","url_pdf":"https://arxiv.org/pdf/2310.13387v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"assumption-violations-in-causal-discovery-and","repo_url":"https://github.com/francescomontagna/causally","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"causal-discovery","task_name":"Causal Discovery"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.13387","atlas_url":"https://app.syntology.ai/?focus=2310.13387","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.13387"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/francescomontagna/causally","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8492c881195cab95","entry":"acyclic_orientation","repo":"francescomontagna/causally","repo_kind":"official","path":"causally/graph/random_graph.py","file_url":"https://github.com/francescomontagna/causally/blob/HEAD/causally/graph/random_graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8492c881195cab95"}},{"code_sha256_prefix":"471810a8a99ab18e","entry":"ig_to_adjmat","repo":"francescomontagna/causally","repo_kind":"official","path":"causally/graph/random_graph.py","file_url":"https://github.com/francescomontagna/causally/blob/HEAD/causally/graph/random_graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"471810a8a99ab18e"}},{"code_sha256_prefix":"53ea83b0060499cd","entry":"is_a_moral_collider","repo":"francescomontagna/causally","repo_kind":"official","path":"causally/utils/graph.py","file_url":"https://github.com/francescomontagna/causally/blob/HEAD/causally/utils/graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53ea83b0060499cd"}},{"code_sha256_prefix":"f0872f3df0266e92","entry":"max_edges_in_dag","repo":"francescomontagna/causally","repo_kind":"official","path":"causally/utils/graph.py","file_url":"https://github.com/francescomontagna/causally/blob/HEAD/causally/utils/graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0872f3df0266e92"}},{"code_sha256_prefix":"47de916843206848","entry":"topological_order","repo":"francescomontagna/causally","repo_kind":"official","path":"causally/utils/graph.py","file_url":"https://github.com/francescomontagna/causally/blob/HEAD/causally/utils/graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"47de916843206848"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}