{"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/discriminative-calibration-check-bayesian","title":"Discriminative calibration: Check Bayesian computation from simulations and flexible classifier","arxiv_id":"2305.14593","date":"2023-05-24","proceeding":"NeurIPS 2023 11","authors":["Yuling Yao","Justin Domke"],"abstract":"To check the accuracy of Bayesian computations, it is common to use rank-based simulation-based calibration (SBC). However, SBC has drawbacks: The test statistic is somewhat ad-hoc, interactions are difficult to examine, multiple testing is a challenge, and the resulting p-value is not a divergence metric. We propose to replace the marginal rank test with a flexible classification approach that learns test statistics from data. This measure typically has a higher statistical power than the SBC rank test and returns an interpretable divergence measure of miscalibration, computed from classification accuracy. This approach can be used with different data generating processes to address likelihood-free inference or traditional inference methods like Markov chain Monte Carlo or variational inference. We illustrate an automated implementation using neural networks and statistically-inspired features, and validate the method with numerical and real data experiments.","url_abs":"https://arxiv.org/abs/2305.14593v2","url_pdf":"https://arxiv.org/pdf/2305.14593v2.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":"discriminative-calibration-check-bayesian","repo_url":"https://github.com/yao-yl/disccalibration","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2305.14593","atlas_url":"https://app.syntology.ai/?focus=2305.14593","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.14593"}},"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":"deterministic:regex_extraction","url":"https://github.com/yao-yl/DiscCalibration","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yao-yl/disccalibration","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran_fixture":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"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":"aa2918a1e3d26103","entry":"gendata","repo":"yao-yl/disccalibration","repo_kind":"official","path":"discCali.py","file_url":"https://github.com/yao-yl/disccalibration/blob/HEAD/discCali.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa2918a1e3d26103"}},{"code_sha256_prefix":"39b77e7ffc155aca","entry":"get_binary_data","repo":"yao-yl/disccalibration","repo_kind":"official","path":"discCali.py","file_url":"https://github.com/yao-yl/disccalibration/blob/HEAD/discCali.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"39b77e7ffc155aca"}},{"code_sha256_prefix":"d2eb7aaa1644b984","entry":"getrank","repo":"yao-yl/disccalibration","repo_kind":"official","path":"discCali.py","file_url":"https://github.com/yao-yl/disccalibration/blob/HEAD/discCali.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d2eb7aaa1644b984"}},{"code_sha256_prefix":"a83f1c656fbf396c","entry":"binary_diagnostic","repo":"yao-yl/disccalibration","repo_kind":"official","path":"discCali.py","file_url":"https://github.com/yao-yl/disccalibration/blob/HEAD/discCali.py","link_basis":"first_harvest_node","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":"a83f1c656fbf396c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}