{"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/addressing-discretization-induced-bias-in","title":"Addressing Discretization-Induced Bias in Demographic Prediction","arxiv_id":"2405.16762","date":"2024-05-27","proceeding":null,"authors":["Evan Dong","Aaron Schein","Yixin Wang","Nikhil Garg"],"abstract":"Racial and other demographic imputation is necessary for many applications, especially in auditing disparities and outreach targeting in political campaigns. The canonical approach is to construct continuous predictions -- e.g., based on name and geography -- and then to $\\textit{discretize}$ the predictions by selecting the most likely class (argmax). We study how this practice produces $\\textit{discretization bias}$. In particular, we show that argmax labeling, as used by a prominent commercial voter file vendor to impute race/ethnicity, results in a substantial under-count of African-American voters, e.g., by 28.2% points in North Carolina. This bias can have substantial implications in downstream tasks that use such labels. We then introduce a $\\textit{joint optimization}$ approach -- and a tractable $\\textit{data-driven thresholding}$ heuristic -- that can eliminate this bias, with negligible individual-level accuracy loss. Finally, we theoretically analyze discretization bias, show that calibrated continuous models are insufficient to eliminate it, and that an approach such as ours is necessary. Broadly, we warn researchers and practitioners against discretizing continuous demographic predictions without considering downstream consequences.","url_abs":"https://arxiv.org/abs/2405.16762v1","url_pdf":"https://arxiv.org/pdf/2405.16762v1.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":"addressing-discretization-induced-bias-in","repo_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"imputation","task_name":"Imputation"},{"task_slug":"prediction","task_name":"Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2405.16762","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.16762"}},"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/evan-dong/demographic-prediction-argmax-bias","reach":{"status":"ok"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":9,"samples":[{"code_sha256_prefix":"bde24f6cfc2adc47","entry":"distribution_fidelity","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bde24f6cfc2adc47"}},{"code_sha256_prefix":"36218efe8170dd4e","entry":"exact_counts","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"utils.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36218efe8170dd4e"}},{"code_sha256_prefix":"62fd96120bef4cc3","entry":"mean_expected_accuracy","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"62fd96120bef4cc3"}},{"code_sha256_prefix":"272ebb0ca1b4056f","entry":"mode_discretization","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"decision_functions.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/decision_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"272ebb0ca1b4056f"}},{"code_sha256_prefix":"47a8f45f2b08f7d6","entry":"posterior_to_aggregate","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"utils.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"47a8f45f2b08f7d6"}},{"code_sha256_prefix":"b99fe8ed7eeee23d","entry":"preds_to_marginal","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"utils.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b99fe8ed7eeee23d"}},{"code_sha256_prefix":"f234c50b233631c6","entry":"thompson_discretization","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"decision_functions.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/decision_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f234c50b233631c6"}},{"code_sha256_prefix":"d4dd8ad946d277fd","entry":"top_k_sampling","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"decision_functions.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/decision_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d4dd8ad946d277fd"}},{"code_sha256_prefix":"4b3d0769b2fef5dd","entry":"true_accuracy","repo":"evan-dong/demographic-prediction-argmax-bias","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/evan-dong/demographic-prediction-argmax-bias/blob/HEAD/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4b3d0769b2fef5dd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}