{"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/fed-cd-federated-causal-discovery-from","title":"Federated Causal Discovery From Interventions","arxiv_id":"2211.03846","date":"2022-11-07","proceeding":null,"authors":["Amin Abyaneh","Nino Scherrer","Patrick Schwab","Stefan Bauer","Bernhard Schölkopf","Arash Mehrjou"],"abstract":"Causal discovery serves a pivotal role in mitigating model uncertainty through recovering the underlying causal mechanisms among variables. In many practical domains, such as healthcare, access to the data gathered by individual entities is limited, primarily for privacy and regulatory constraints. However, the majority of existing causal discovery methods require the data to be available in a centralized location. In response, researchers have introduced federated causal discovery. While previous federated methods consider distributed observational data, the integration of interventional data remains largely unexplored. We propose FedCDI, a federated framework for inferring causal structures from distributed data containing interventional samples. In line with the federated learning framework, FedCDI improves privacy by exchanging belief updates rather than raw samples. Additionally, it introduces a novel intervention-aware method for aggregating individual updates. We analyze scenarios with shared or disjoint intervened covariates, and mitigate the adverse effects of interventional data heterogeneity. The performance and scalability of FedCDI is rigorously tested across a variety of synthetic and real-world graphs.","url_abs":"https://arxiv.org/abs/2211.03846v4","url_pdf":"https://arxiv.org/pdf/2211.03846v4.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":"fed-cd-federated-causal-discovery-from","repo_url":"https://github.com/aminabyaneh/fed-cd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"fed-cd-federated-causal-discovery-from","repo_url":"https://github.com/aminabyaneh/fed-cdi","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"fed-cd-federated-causal-discovery-from","repo_url":"https://github.com/aminabyaneh/Federated_CL","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"causal-discovery","task_name":"Causal Discovery"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2211.03846","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.03846"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aminabyaneh/fed-cdi","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aminabyaneh/Federated_CL","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aminabyaneh/fed-cd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":13},"by_repo_kind":{"official":{"samples":13,"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":0,"samples":[{"code_sha256_prefix":"ec867acd8308a4f3","entry":"calculate_metrics","repo":"aminabyaneh/Federated_CL","repo_kind":"official","path":"federated/utils.py","file_url":"https://github.com/aminabyaneh/Federated_CL/blob/HEAD/federated/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ec867acd8308a4f3"}},{"code_sha256_prefix":"2c63ee814457b1c3","entry":"correct_data_types","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/datasets.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2c63ee814457b1c3"}},{"code_sha256_prefix":"d5edb16af1a5eb81","entry":"create_model","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/multivariable_mlp.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/multivariable_mlp.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d5edb16af1a5eb81"}},{"code_sha256_prefix":"051abb3b000beb12","entry":"find_best_acyclic_graph","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/utils.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"051abb3b000beb12"}},{"code_sha256_prefix":"a52cf5830537566c","entry":"find_cycles","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/utils.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a52cf5830537566c"}},{"code_sha256_prefix":"5401ec85c2c6e0c6","entry":"find_shortest_distance_dict","repo":"aminabyaneh/Federated_CL","repo_kind":"official","path":"federated/utils.py","file_url":"https://github.com/aminabyaneh/Federated_CL/blob/HEAD/federated/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5401ec85c2c6e0c6"}},{"code_sha256_prefix":"7684c39f7ed75a94","entry":"get_activation_function","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/multivariable_mlp.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/multivariable_mlp.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7684c39f7ed75a94"}},{"code_sha256_prefix":"57730c2aa7a046ae","entry":"get_datasets_size_locality","repo":"aminabyaneh/Federated_CL","repo_kind":"official","path":"federated/cluster_experiments.py","file_url":"https://github.com/aminabyaneh/Federated_CL/blob/HEAD/federated/cluster_experiments.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"57730c2aa7a046ae"}},{"code_sha256_prefix":"b6f611b235eb8c4f","entry":"log","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/multivariable_flow.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/multivariable_flow.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6f611b235eb8c4f"}},{"code_sha256_prefix":"0b6cf2b741a80664","entry":"log_normal","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/multivariable_flow.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/multivariable_flow.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0b6cf2b741a80664"}},{"code_sha256_prefix":"f162a09a70ae46f1","entry":"logsigmoid","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/multivariable_flow.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/multivariable_flow.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f162a09a70ae46f1"}},{"code_sha256_prefix":"d62c17183ee2f073","entry":"split_variables_set","repo":"aminabyaneh/Federated_CL","repo_kind":"official","path":"federated/utils.py","file_url":"https://github.com/aminabyaneh/Federated_CL/blob/HEAD/federated/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d62c17183ee2f073"}},{"code_sha256_prefix":"4897e44291c2c558","entry":"track","repo":"aminabyaneh/fed-cd","repo_kind":"official","path":"causal_discovery/utils.py","file_url":"https://github.com/aminabyaneh/fed-cd/blob/HEAD/causal_discovery/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4897e44291c2c558"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}