{"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/dynamic-causal-bayesian-optimization","title":"Dynamic Causal Bayesian Optimization","arxiv_id":"2110.13891","date":"2021-10-26","proceeding":"NeurIPS 2021 12","authors":["Virginia Aglietti","Neil Dhir","Javier González","Theodoros Damoulas"],"abstract":"This paper studies the problem of performing a sequence of optimal interventions in a causal dynamical system where both the target variable of interest and the inputs evolve over time. This problem arises in a variety of domains e.g. system biology and operational research. Dynamic Causal Bayesian Optimization (DCBO) brings together ideas from sequential decision making, causal inference and Gaussian process (GP) emulation. DCBO is useful in scenarios where all causal effects in a graph are changing over time. At every time step DCBO identifies a local optimal intervention by integrating both observational and past interventional data collected from the system. We give theoretical results detailing how one can transfer interventional information across time steps and define a dynamic causal GP model which can be used to quantify uncertainty and find optimal interventions in practice. We demonstrate how DCBO identifies optimal interventions faster than competing approaches in multiple settings and applications.","url_abs":"https://arxiv.org/abs/2110.13891v1","url_pdf":"https://arxiv.org/pdf/2110.13891v1.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":"dynamic-causal-bayesian-optimization","repo_url":"https://github.com/neildhir/dcbo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"},{"task_slug":"causal-inference","task_name":"Causal Inference"},{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"sequential-decision-making","task_name":"Sequential Decision Making"}],"methods":[{"method_slug":"gaussian-process","method_name":"Gaussian Process"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2110.13891","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.13891"}},"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/neildhir/dcbo","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"0f5582e298f23418","entry":"cost_fix_different","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/bayes_opt/cost_functions.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/bayes_opt/cost_functions.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":"0f5582e298f23418"}},{"code_sha256_prefix":"e7b2e7585e681deb","entry":"cost_fix_equal","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/bayes_opt/cost_functions.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/bayes_opt/cost_functions.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":"e7b2e7585e681deb"}},{"code_sha256_prefix":"390401979856bd3c","entry":"cost_fix_equal_variable","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/bayes_opt/cost_functions.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/bayes_opt/cost_functions.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":"390401979856bd3c"}},{"code_sha256_prefix":"23c14622b2d9dd00","entry":"get_cumulative_cost_mean_and_std","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/experimental/analyse_results.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/experimental/analyse_results.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":"23c14622b2d9dd00"}},{"code_sha256_prefix":"df2fcd3b06026a34","entry":"get_mean_and_std","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/experimental/analyse_results.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/experimental/analyse_results.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":"df2fcd3b06026a34"}},{"code_sha256_prefix":"33d9be28b1918dbf","entry":"get_relevant_results","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/experimental/analyse_results.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/experimental/analyse_results.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":"33d9be28b1918dbf"}},{"code_sha256_prefix":"91540d2ba977de33","entry":"get_standard_normal_pdf_cdf","repo":"neildhir/dcbo","repo_kind":"official","path":"dcbo/bayes_opt/causal_acquisition_functions.py","file_url":"https://github.com/neildhir/dcbo/blob/HEAD/dcbo/bayes_opt/causal_acquisition_functions.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":"91540d2ba977de33"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}