{"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/self-consistent-conformal-prediction","title":"Self-Calibrating Conformal Prediction","arxiv_id":"2402.07307","date":"2024-02-11","proceeding":null,"authors":["Lars van der Laan","Ahmed M. Alaa"],"abstract":"In machine learning, model calibration and predictive inference are essential for producing reliable predictions and quantifying uncertainty to support decision-making. Recognizing the complementary roles of point and interval predictions, we introduce Self-Calibrating Conformal Prediction, a method that combines Venn-Abers calibration and conformal prediction to deliver calibrated point predictions alongside prediction intervals with finite-sample validity conditional on these predictions. To achieve this, we extend the original Venn-Abers procedure from binary classification to regression. Our theoretical framework supports analyzing conformal prediction methods that involve calibrating model predictions and subsequently constructing conditionally valid prediction intervals on the same data, where the conditioning set or conformity scores may depend on the calibrated predictions. Real-data experiments show that our method improves interval efficiency through model calibration and offers a practical alternative to feature-conditional validity.","url_abs":"https://arxiv.org/abs/2402.07307v3","url_pdf":"https://arxiv.org/pdf/2402.07307v3.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":"self-consistent-conformal-prediction","repo_url":"https://github.com/larsvanderlaan/selfcalibratingconformal","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"conformal-prediction","task_name":"Conformal Prediction"},{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"management","task_name":"Management"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"prediction-intervals","task_name":"Prediction Intervals"},{"task_slug":null,"task_name":"valid"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.07307","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.07307"}},"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/Larsvanderlaan/SelfCalibratingConformal","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/larsvanderlaan/selfcalibratingconformal","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"ran_draft_wrong":8,"ran_fixture":6,"ran_honours":2,"unverified":2},"by_repo_kind":{"official":{"samples":25,"ran":23,"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":"f2d9b65a76a0a98d","entry":"HistogramConfig","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f2d9b65a76a0a98d"}},{"code_sha256_prefix":"d0a618b0a8c89ef2","entry":"PredictionAdapter","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d0a618b0a8c89ef2"}},{"code_sha256_prefix":"9b87b253916c3a4f","entry":"RegressionAlgoConfig","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b87b253916c3a4f"}},{"code_sha256_prefix":"b8c92398dd17d5da","entry":"RegressionFitState","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b8c92398dd17d5da"}},{"code_sha256_prefix":"70511a2064961b91","entry":"_coerce_dataclass","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"70511a2064961b91"}},{"code_sha256_prefix":"c4b6224294c04c80","entry":"_isotonic_block_fit","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c4b6224294c04c80"}},{"code_sha256_prefix":"ffc7bda663953207","entry":"_step_transform","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ffc7bda663953207"}},{"code_sha256_prefix":"541c619537506f29","entry":"_weighted_quantile","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"541c619537506f29"}},{"code_sha256_prefix":"628015812b19addd","entry":"adapt_predictor","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"628015812b19addd"}},{"code_sha256_prefix":"5ed9f5202825f1ce","entry":"calibrator_histogram","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5ed9f5202825f1ce"}},{"code_sha256_prefix":"9138963f8018cfac","entry":"calibrator_isotonic","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9138963f8018cfac"}},{"code_sha256_prefix":"a5218d94fbe5bb1e","entry":"coerce_histogram_config","repo":"Larsvanderlaan/SelfCalibratingConformal","repo_kind":"official","path":"selfcalibratingconformal/configs.py","file_url":"https://github.com/Larsvanderlaan/SelfCalibratingConformal/blob/HEAD/selfcalibratingconformal/configs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a5218d94fbe5bb1e"}},{"code_sha256_prefix":"d07d076cff2b6832","entry":"coerce_quantile_algo_config","repo":"Larsvanderlaan/SelfCalibratingConformal","repo_kind":"official","path":"selfcalibratingconformal/configs.py","file_url":"https://github.com/Larsvanderlaan/SelfCalibratingConformal/blob/HEAD/selfcalibratingconformal/configs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d07d076cff2b6832"}},{"code_sha256_prefix":"143bbabb14851e55","entry":"coerce_regression_algo_config","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"143bbabb14851e55"}},{"code_sha256_prefix":"a726d4c6815d8975","entry":"coerce_regression_algo_config","repo":"Larsvanderlaan/SelfCalibratingConformal","repo_kind":"official","path":"selfcalibratingconformal/configs.py","file_url":"https://github.com/Larsvanderlaan/SelfCalibratingConformal/blob/HEAD/selfcalibratingconformal/configs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a726d4c6815d8975"}},{"code_sha256_prefix":"306f01011f5f8c9e","entry":"coverage_summary","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"306f01011f5f8c9e"}},{"code_sha256_prefix":"3405467e66855b10","entry":"ensure_1d_array","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3405467e66855b10"}},{"code_sha256_prefix":"5c3bd6afe5c56861","entry":"linear_extrapolate","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c3bd6afe5c56861"}},{"code_sha256_prefix":"8c56d595ddcdc2b1","entry":"make_dense_grid","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c56d595ddcdc2b1"}},{"code_sha256_prefix":"54ea0e1ebe5caf33","entry":"make_grid","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"54ea0e1ebe5caf33"}},{"code_sha256_prefix":"77b710ef3aad7921","entry":"match_grid_value","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"77b710ef3aad7921"}},{"code_sha256_prefix":"92170b23c414e324","entry":"regression_conformity_score","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"92170b23c414e324"}},{"code_sha256_prefix":"5828d81b7e215a1a","entry":"safe_median","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5828d81b7e215a1a"}},{"code_sha256_prefix":"3153947df05da460","entry":"PredictorProtocol","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.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":"3153947df05da460"}},{"code_sha256_prefix":"a6e4d4073c18d9c3","entry":"SelfCalibratingConformalPredictor","repo":"larsvanderlaan/selfcalibratingconformal","repo_kind":"official","path":"selfcalibratingconformal/regression.py","file_url":"https://github.com/larsvanderlaan/selfcalibratingconformal/blob/HEAD/selfcalibratingconformal/regression.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":"a6e4d4073c18d9c3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}