{"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/fair-generalized-linear-models-with-a-convex","title":"Fair Generalized Linear Models with a Convex Penalty","arxiv_id":"2206.09076","date":"2022-06-18","proceeding":null,"authors":["Hyungrok Do","Preston Putzel","Axel Martin","Padhraic Smyth","Judy Zhong"],"abstract":"Despite recent advances in algorithmic fairness, methodologies for achieving fairness with generalized linear models (GLMs) have yet to be explored in general, despite GLMs being widely used in practice. In this paper we introduce two fairness criteria for GLMs based on equalizing expected outcomes or log-likelihoods. We prove that for GLMs both criteria can be achieved via a convex penalty term based solely on the linear components of the GLM, thus permitting efficient optimization. We also derive theoretical properties for the resulting fair GLM estimator. To empirically demonstrate the efficacy of the proposed fair GLM, we compare it with other well-known fair prediction methods on an extensive set of benchmark datasets for binary classification and regression. In addition, we demonstrate that the fair GLM can generate fair predictions for a range of response variables, other than binary and continuous outcomes.","url_abs":"https://arxiv.org/abs/2206.09076v1","url_pdf":"https://arxiv.org/pdf/2206.09076v1.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":"fair-generalized-linear-models-with-a-convex","repo_url":"https://github.com/hyungrok-do/fair-glm-cvx","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"fairness","task_name":"Fairness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.09076","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.09076"}},"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/hyungrok-do/fair-glm-cvx","reach":null}],"summary":{"ran":1,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":3,"samples":[{"code_sha256_prefix":"15907f539892c831","entry":"BaseFairEstimator","repo":"hyungrok-do/fair-glm-cvx","repo_kind":"official","path":"models/fair_glm.py","file_url":"https://github.com/hyungrok-do/fair-glm-cvx/blob/HEAD/models/fair_glm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"15907f539892c831"}},{"code_sha256_prefix":"d0b2474453611015","entry":"discretization","repo":"hyungrok-do/fair-glm-cvx","repo_kind":"official","path":"models/fair_glm.py","file_url":"https://github.com/hyungrok-do/fair-glm-cvx/blob/HEAD/models/fair_glm.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d0b2474453611015"}},{"code_sha256_prefix":"efad3df40854d849","entry":"FairGeneralizedLinearModel","repo":"hyungrok-do/fair-glm-cvx","repo_kind":"official","path":"models/fair_glm.py","file_url":"https://github.com/hyungrok-do/fair-glm-cvx/blob/HEAD/models/fair_glm.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":"efad3df40854d849"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}