{"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/arxiv-2510-12503","title":"The Robustness of Differentiable Causal Discovery in Misspecified Scenarios","arxiv_id":"2510.12503","date":"2025-10-14","proceeding":"ICLR","authors":["Huiyang Yi","Yanyan He","Duxin Chen","Mingyu Kang","He Wang","Wenwu Yu"],"abstract":"Causal discovery aims to learn causal relationships between variables from targeted data, making it a fundamental task in machine learning. However, causal discovery algorithms often rely on unverifiable causal assumptions, which are usually difficult to satisfy in real-world data, thereby limiting the broad application of causal discovery in practical scenarios. Inspired by these considerations, this work extensively benchmarks the empirical performance of various mainstream causal discovery algorithms, which assume i.i.d. data, under eight model assumption violations. Our experimental results show that differentiable causal discovery methods exhibit robustness under the metrics of Structural Hamming Distance and Structural Intervention Distance of the inferred graphs in commonly used challenging scenarios, except for scale variation. We also provide the theoretical explanations for the performance of differentiable causal discovery methods. Finally, our work aims to comprehensively benchmark the performance of recent differentiable causal discovery methods under model assumption violations, and provide the standard for reasonable evaluation of causal discovery, as well as to further promote its application in real-world scenarios.","url_abs":"https://arxiv.org/abs/2510.12503","url_pdf":"https://arxiv.org/pdf/2510.12503","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2510.12503","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.12503"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/xunzheng/notears","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/FenTechSolutions/CausalDiscoveryToolbox","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/kevinsbello/dagma","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/ignavierng/golem","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/fishmoon1234/DAG-NoCurl","reach":{"status":"ok","spdx":"Apache-2.0"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/py-why/causal-learn","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/CausalDisco/CausalDisco","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":13},"by_repo_kind":{"found_in_text":{"samples":12,"ran":0,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"2d1e7d81125cf16e","entry":"elu","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"BPR.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/BPR.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2d1e7d81125cf16e"}},{"code_sha256_prefix":"8121d0e3bc3faff7","entry":"notears_linear","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"8121d0e3bc3faff7"}},{"code_sha256_prefix":"3970791be77e4b8e","entry":"order_alignment_adjacent_pairs","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/analytics.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/analytics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3970791be77e4b8e"}},{"code_sha256_prefix":"b349ed375942004d","entry":"order_alignment_paths","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/analytics.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/analytics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b349ed375942004d"}},{"code_sha256_prefix":"83a544e51ab9e249","entry":"r2coeff","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/analytics.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/analytics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"83a544e51ab9e249"}},{"code_sha256_prefix":"9d66114e8b2c8090","entry":"random_sort_regress","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/baselines.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/baselines.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9d66114e8b2c8090"}},{"code_sha256_prefix":"f33787df9c8f67b4","entry":"setup_logger","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f33787df9c8f67b4"}},{"code_sha256_prefix":"d39a275f8a95ded5","entry":"sigmoid","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"BPR.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/BPR.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d39a275f8a95ded5"}},{"code_sha256_prefix":"5a8fa66922d5bfb9","entry":"simulate_random_dag","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a8fa66922d5bfb9"}},{"code_sha256_prefix":"e9a02ce9615c9da6","entry":"simulate_sem_nonlinear","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e9a02ce9615c9da6"}},{"code_sha256_prefix":"caea6fcf470e6e1e","entry":"softrelu","repo":"fishmoon1234/DAG-NoCurl","repo_kind":"found_in_text","path":"BPR.py","file_url":"https://github.com/fishmoon1234/DAG-NoCurl/blob/HEAD/BPR.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"caea6fcf470e6e1e"}},{"code_sha256_prefix":"6e174813119d541f","entry":"sort_regress","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/baselines.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/baselines.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6e174813119d541f"}},{"code_sha256_prefix":"7b9b0e44e8ab6838","entry":"var_sort_regress","repo":"CausalDisco/CausalDisco","repo_kind":"found_in_text","path":"CausalDisco/baselines.py","file_url":"https://github.com/CausalDisco/CausalDisco/blob/HEAD/CausalDisco/baselines.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7b9b0e44e8ab6838"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}