{"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/l-c2st-local-diagnostics-for-posterior","title":"L-C2ST: Local Diagnostics for Posterior Approximations in Simulation-Based Inference","arxiv_id":"2306.03580","date":"2023-06-06","proceeding":"NeurIPS 2023 11","authors":["Julia Linhart","Alexandre Gramfort","Pedro L. C. Rodrigues"],"abstract":"Many recent works in simulation-based inference (SBI) rely on deep generative models to approximate complex, high-dimensional posterior distributions. However, evaluating whether or not these approximations can be trusted remains a challenge. Most approaches evaluate the posterior estimator only in expectation over the observation space. This limits their interpretability and is not sufficient to identify for which observations the approximation can be trusted or should be improved. Building upon the well-known classifier two-sample test (C2ST), we introduce L-C2ST, a new method that allows for a local evaluation of the posterior estimator at any given observation. It offers theoretically grounded and easy to interpret -- e.g. graphical -- diagnostics, and unlike C2ST, does not require access to samples from the true posterior. In the case of normalizing flow-based posterior estimators, L-C2ST can be specialized to offer better statistical power, while being computationally more efficient. On standard SBI benchmarks, L-C2ST provides comparable results to C2ST and outperforms alternative local approaches such as coverage tests based on highest predictive density (HPD). We further highlight the importance of local evaluation and the benefit of interpretability of L-C2ST on a challenging application from computational neuroscience.","url_abs":"https://arxiv.org/abs/2306.03580v2","url_pdf":"https://arxiv.org/pdf/2306.03580v2.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":"l-c2st-local-diagnostics-for-posterior","repo_url":"https://github.com/julialinhart/lc2st","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.03580","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.03580"}},"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/julialinhart/lc2st","reach":null}],"summary":{"ran_honours":1,"ran_fixture":2,"ran_draft_wrong":2,"unverified":5},"by_repo_kind":{"official":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"0a354cf0e485804b","entry":"PP_vals","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0a354cf0e485804b"}},{"code_sha256_prefix":"7eb3d41af29f7521","entry":"compute_metric","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7eb3d41af29f7521"}},{"code_sha256_prefix":"1bc04ef94644c277","entry":"eval_c2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bc04ef94644c277"}},{"code_sha256_prefix":"2dd97896530d42cc","entry":"train_c2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2dd97896530d42cc"}},{"code_sha256_prefix":"0d92453d0d2e02d1","entry":"train_lc2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d92453d0d2e02d1"}},{"code_sha256_prefix":"a7e908084d998f14","entry":"eval_lc2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7e908084d998f14"}},{"code_sha256_prefix":"f35d8604714322c0","entry":"eval_lc2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f35d8604714322c0"}},{"code_sha256_prefix":"f9707a6966340eac","entry":"lc2st_scores","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f9707a6966340eac"}},{"code_sha256_prefix":"2d5b4cee06dab380","entry":"lc2st_scores","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2d5b4cee06dab380"}},{"code_sha256_prefix":"8153de63dfc846df","entry":"train_lc2st","repo":"julialinhart/lc2st","repo_kind":"official","path":"lc2st/lc2st.py","file_url":"https://github.com/julialinhart/lc2st/blob/HEAD/lc2st/lc2st.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8153de63dfc846df"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}