{"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/decision-making-under-the-exponential-family","title":"Decision Making under the Exponential Family: Distributionally Robust Optimisation with Bayesian Ambiguity Sets","arxiv_id":"2411.16829","date":"2024-11-25","proceeding":null,"authors":["Charita Dellaporta","Patrick O'Hara","Theodoros Damoulas"],"abstract":"Decision making under uncertainty is challenging as the data-generating process (DGP) is often unknown. Bayesian inference proceeds by estimating the DGP through posterior beliefs on the model's parameters. However, minimising the expected risk under these beliefs can lead to suboptimal decisions due to model uncertainty or limited, noisy observations. To address this, we introduce Distributionally Robust Optimisation with Bayesian Ambiguity Sets (DRO-BAS) which hedges against model uncertainty by optimising the worst-case risk over a posterior-informed ambiguity set. We provide two such sets, based on posterior expectations (DRO-BAS(PE)) or posterior predictives (DRO-BAS(PP)) and prove that both admit, under conditions, strong dual formulations leading to efficient single-stage stochastic programs which are solved with a sample average approximation. For DRO-BAS(PE) this covers all conjugate exponential family members while for DRO-BAS(PP) this is shown under conditions on the predictive's moment generating function. Our DRO-BAS formulations outperform existing Bayesian DRO on the Newsvendor problem and achieve faster solve times with comparable robustness on the Portfolio problem.","url_abs":"https://arxiv.org/abs/2411.16829v2","url_pdf":"https://arxiv.org/pdf/2411.16829v2.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":[],"tasks":[{"task_slug":"bayesian-inference","task_name":"Bayesian Inference"},{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"decision-making-under-uncertainty","task_name":"Decision Making Under Uncertainty"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2411.16829","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.16829"}},"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":"deterministic:regex_extraction","url":"https://github.com/PatrickOHara/mis-dro-code","reach":null}],"summary":{"ran_fixture":4,"ran_violates":1},"by_repo_kind":{"found_in_text":{"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":5,"samples":[{"code_sha256_prefix":"13b8605fbefb8976","entry":"Bayesian_DRO_1","repo":"PatrickOHara/mis-dro-code","repo_kind":"found_in_text","path":"bayesian_dro/Bayesian_DRO_continuous.py","file_url":"https://github.com/PatrickOHara/mis-dro-code/blob/HEAD/bayesian_dro/Bayesian_DRO_continuous.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"13b8605fbefb8976"}},{"code_sha256_prefix":"51c704e58c1d7309","entry":"Bayesian_DRO_1_lse","repo":"PatrickOHara/mis-dro-code","repo_kind":"found_in_text","path":"bayesian_dro/Bayesian_DRO_continuous.py","file_url":"https://github.com/PatrickOHara/mis-dro-code/blob/HEAD/bayesian_dro/Bayesian_DRO_continuous.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51c704e58c1d7309"}},{"code_sha256_prefix":"cd0a61e3e1d1ad06","entry":"Bayesian_DRO_2","repo":"PatrickOHara/mis-dro-code","repo_kind":"found_in_text","path":"bayesian_dro/Bayesian_DRO_continuous.py","file_url":"https://github.com/PatrickOHara/mis-dro-code/blob/HEAD/bayesian_dro/Bayesian_DRO_continuous.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd0a61e3e1d1ad06"}},{"code_sha256_prefix":"131e66a06d94f64a","entry":"Bayesian_DRO_3","repo":"PatrickOHara/mis-dro-code","repo_kind":"found_in_text","path":"bayesian_dro/Bayesian_DRO_continuous.py","file_url":"https://github.com/PatrickOHara/mis-dro-code/blob/HEAD/bayesian_dro/Bayesian_DRO_continuous.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"131e66a06d94f64a"}},{"code_sha256_prefix":"ca68ae5ecea0cd2e","entry":"cost","repo":"PatrickOHara/mis-dro-code","repo_kind":"found_in_text","path":"bayesian_dro/Bayesian_DRO_continuous.py","file_url":"https://github.com/PatrickOHara/mis-dro-code/blob/HEAD/bayesian_dro/Bayesian_DRO_continuous.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ca68ae5ecea0cd2e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}