Post-Fair Federated Learning: Achieving Group and Community Fairness
in Federated Learning via Post-processing

Yuying Duan    Yijun Tian    Nitesh Chawla    Michael Lemmon
Abstract

Federated Learning (FL) is a distributed machine learning framework in which a set of local communities collaboratively learn a shared global model while retaining all training data locally within each community. Two notions of fairness have recently emerged as important issues for federated learning: group fairness and community fairness. Group fairness requires that a model’s decisions do not favor any particular group based on a set of legally protected attributes such as race or gender. Community fairness requires that global models exhibit similar levels of performance (accuracy) across all collaborating communities. Both fairness concepts can coexist within an FL framework, but the existing literature has focused on either one concept or the other. This paper proposes and analyzes a post-processing fair federated learning (FFL) framework called post-FFL. Post-FFL uses a linear program to simultaneously enforce group and community fairness while maximizing the utility of the global model. Because Post-FFL is a post-processing approach, it can be used with existing FL training pipelines whose convergence properties are well understood. This paper uses post-FFL on real-world datasets to mimic how hospital networks, for example, use federated learning to deliver community health care. Theoretical results bound the accuracy lost when post-FFL enforces both notion of fairness. Experimental results illustrate that post-FFL simultaneously improves both group and community fairness in FL. Moreover, post-FFL outperforms the existing in-processing fair federated learning in terms of improving both notions of fairness, communication efficiency and computation cost.

Machine Learning, ICML
footnotetext: 1 University of Notre Dame, {yduan2, ytian5, nchawla, lemmon}@nd.edu

1 Introduction

Federated Learning (FL) (McMahan et al., 2017) is a distributed machine learning framework that uses data collected from a group of community clients to learn a global model that can be used by all clients in the group. The communities served by these clients are formed from sets of remote users (e.g. mobile phones) or organizations (e.g. medical clinics and hospitals) that all share some defining attribute such as a similar geographical location. FL algorithms such as FedAvg (McMahan et al., 2017) train the global model in a distributed manner by first having each community client use its local data to train a local model. This local model is then sent to the cloud server who averages these models and sends the averaged model back to the community clients who then retrain that model with their local data. This interaction between the clients and server continues for a several update cycles until it converges on a global model that is agreeable to all clients. While there were no theoretical convergence guarantees with the original FL algorithm (McMahan et al., 2017), subsequent analysis (Smith et al., 2018; Li et al., 2020) did provide theoretical convergence analysis for this FL training pipeline. Since then FL has come to be a dominant framework for distributed machine learning (Kairouz et al., 2021), particularly in smart city (Jiang et al., 2020; Zheng et al., 2022; Qolomany et al., 2020; Pandya et al., 2023) and smart healthcare applications (Rieke et al., 2020; Nguyen et al., 2022; Antunes et al., 2022; Brisimi et al., 2018) .

This paper considers two related notions of fairness relevant to federated learning: Group Fairness and Community Fairness. Group fairness (Dwork et al., 2012; Hardt et al., 2016; Zafar et al., 2017) is concerned with achieving similar outcomes for groups defined by legally protected (a.k.a. sensitive) attributes such as race or gender. For community fairness (Li et al., 2019; Gross, 2007, 2008), a community may consist of individuals living in the same geographic location. Community fairness, therefore, is more concerned with ensuring that these geographically distinct communities have equal access to resources. Group fairness, on the other hand, requires that all individuals with the same legally protected attribute receive the same benefits as those outside of the protected group regardless of their membership in these geographically distinct communities or neighborhoods. Both fairness concepts (group vs. community) are relevant to federated learning. This is particularly true in smart healthcare applications where a physician’s decisions should not be influenced by factors such as age, race, or gender (Parsa-Parsi, 2017) and yet city leaders want to ensure that all geographically distinct neighborhoods perceive they have the same accessibility to adequate health care. Whether one can balance these two fairness concepts in an FL platform and what might be the cost of attaining such balance is the main topic of this paper.

This paper defines group fairness with respect to Equal Opportunity (EO) (Hardt et al., 2016) and community fairness with respect to Fair Resource Allocation (Li et al., 2019). EO ensures that those who deserve services receive them in a manner that is independent of any sensitive attributes. Fair Resource Allocation requires the likelihood of accurate outcomes to be uniform across all participating communities. We apply EO to group fairness because most legal standards, such as those from the Equal Employment Opportunity Commission (Peck, 1975), mandate that the true positive rate be consistent across sensitive attributes. However, EO may not be appropriate for communities that receive resources (services or infrastructure) from the city. EO focuses exclusively on individuals who deserve to benefit from resources (true positives), without preventing unqualified individuals from receiving resources. It could lead to surplus resource allocation in some communities. One example of this scenario might be seen in health care delivery, where a hospital network sees that the number of clinics per capita is equal between rural and urban residents. However, rural residents may still perceive inequality because the effort required to access these clinics (distance traveled) is much greater than that of the urban dwellers. Fair Resource Allocation considers both true positives and true negatives across all communities. This paper examines whether it is possible to achieve Equal Opportunity and Fair Resources Allocation in federated learning and seeks to estimate the cost we incur in achieving both fairness objectives.

Several recent papers have proposed methods for achieving either group or community fairness in federated learning. The methods fall into three categories: pre-processing, in-processing, and post-processing. Pre-processing techniques achieve model fairness by modifying the data set used to train the model. This may be done by weighting the training samples as described in (Abay et al., 2020). Pre-processing techniques, however, cannot simultaneously address group and community fairness. In-processing techniques typically modify the federated learning framework’s optimization algorithms. Current approaches either employ dynamic aggregation weights (Yue et al., 2023; Ezzeldin et al., 2023; Chu et al., 2021; Rodríguez-Gálvez et al., 2021; Lyu et al., 2020; Li et al., 2019) or use adversarial training (Du et al., 2021; Mohri et al., 2019). These approaches, however, complicate the existing FL training pipeline and lack formal convergence guarantees. Our paper is the first to apply post-processing in FL. Post-processing uses models selected by an existing training pipeline to generate a randomized model that achieves fairness. Prior post-processing work (Hardt et al., 2016; Fish et al., 2016; Menon & Williamson, 2017; Pleiss et al., 2017; Chzhen et al., 2019; Denis et al., 2021; Zhao & Gordon, 2022; Zeng et al., 2022; Xian et al., 2023) does not consider federated learning (FL), nor does it simultaneously address community and group fairness, which is the subject of this paper.

This paper’s novel contributions are:

  • The first application of the post-processing technique in federated learning to improve fairness.

  • Development of a post-processing fair FL framework (post-FFL) that simultaneously enforces group fairness, i.e, Equal Opportunity and community fairness, i.e., Fair Reources Allocation in both binary and multi-class classification.

  • Results that characterize when post-processing can simultaneously achieve group and community fairness for a given group of communities.

  • Results that enable the evaluation of the model’s accuracy loss when achieving group and community fairness.

  • Finally, experimental results on a real-world dataset that show our framework outperforms existing baselines in improving both notions of fairness, communication efficiency and computational cost.

2 Preliminary Definitions

This section provides a statistical interpretation of group and community fairness that allows us to address fairness issues in the federated learning of models that predict outcomes for individuals in a group of communities. The community group is a collection of geographically distinct human communities. Each community is a client that uses the local data it has on its inhabitants to select a local model that predicts health outcomes for a given inhabitant. All community clients send their local models to a global server who then aggregates the models into a global model. The resulting global model, however, may not be fair either with respect to group or community notions defined below. The main problem is to find a way to transform the global model into a fair global model. Since this transformation is done after the FL pipeline has selected the global model, this is a post-processing approach to achieving fairness.

Notational Conventions: This paper will denote random variables using upper case letters, X𝑋Xitalic_X, and lower case letters, x𝑥xitalic_x will denote instances of those random variables. A random variable’s distribution will be denoted as FXsubscript𝐹𝑋F_{X}italic_F start_POSTSUBSCRIPT italic_X end_POSTSUBSCRIPT and an instance, x𝑥xitalic_x, drawn from that distribution will be denoted as xFXsimilar-to𝑥subscript𝐹𝑋x\sim F_{X}italic_x ∼ italic_F start_POSTSUBSCRIPT italic_X end_POSTSUBSCRIPT. Bold face lower case symbols will be reserved for vectors and bold face upper case symbols will be reserved for matrices.

To formalize our statistical setup, we first need to define the notion of a community group.

Definition 2.1.

A community group consists of K𝐾Kitalic_K geographically distinct communities that we formally represent as a tuple of jointly random variables, D=(X,A,C,Y)𝐷𝑋𝐴𝐶𝑌D=(X,A,C,Y)italic_D = ( italic_X , italic_A , italic_C , italic_Y ) with probability distribution FD:𝒳×𝒜×𝒞×𝒴[0,1]:subscript𝐹𝐷𝒳𝒜𝒞𝒴01F_{D}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\times\mathcal{Y}% \rightarrow[0,1]italic_F start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT : caligraphic_X × caligraphic_A × caligraphic_C × caligraphic_Y → [ 0 , 1 ]. An instance of the community group, (x,a,c,y)𝑥𝑎𝑐𝑦(x,a,c,y)( italic_x , italic_a , italic_c , italic_y ), is called an individual where x𝒳𝑥𝒳x\in\mathcal{X}italic_x ∈ caligraphic_X is the individual’s private data vector, a𝒜={0,1}𝑎𝒜01a\in\mathcal{A}=\{0,1\}italic_a ∈ caligraphic_A = { 0 , 1 } denotes the individual’s protected sensitive attribute, and c𝒞={1,2,,K}𝑐𝒞12𝐾c\in\mathcal{C}=\{1,2,\ldots,K\}italic_c ∈ caligraphic_C = { 1 , 2 , … , italic_K } denotes which community the individual belongs to. The other value, y𝒴={0,1}𝑦𝒴01y\in\mathcal{Y}=\{0,1\}italic_y ∈ caligraphic_Y = { 0 , 1 } denotes the individual’s qualified outcome.

The variables in definition 2.1 have concrete interpretations in a community health application. Each community is a geographically distinct neighborhood served by a single health clinic. For an individual (x,a,c,y)FDsimilar-to𝑥𝑎𝑐𝑦subscript𝐹𝐷(x,a,c,y)\sim F_{D}( italic_x , italic_a , italic_c , italic_y ) ∼ italic_F start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT, the variable x𝑥xitalic_x represents that individual’s private health data, a𝑎aitalic_a may represent a protected attribute such as race or gender, c𝑐citalic_c is the individual’s local health clinic. Finally y𝑦yitalic_y represents whether or not the individual is ill and is therefore ”qualified” to access medical resources to treat that illness.

We are interested in selecting an outcome predictor, Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y for community group D𝐷Ditalic_D such that for any individual (x,a,c,y)FDsimilar-to𝑥𝑎𝑐𝑦subscript𝐹𝐷(x,a,c,y)\sim F_{D}( italic_x , italic_a , italic_c , italic_y ) ∼ italic_F start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT we have Y^(x,a,c)=y^𝑌𝑥𝑎𝑐𝑦\widehat{Y}(x,a,c)=yover^ start_ARG italic_Y end_ARG ( italic_x , italic_a , italic_c ) = italic_y with a high probability. In particular, let (1Δ)(0,1)1Δ01(1-\Delta)\in(0,1)( 1 - roman_Δ ) ∈ ( 0 , 1 ) denote a specified accuracy level, then the outcome predictor is ΔΔ\Deltaroman_Δ-accurate if PrD{Y^(X,A,C)=Y}1ΔsubscriptPr𝐷^𝑌𝑋𝐴𝐶𝑌1Δ{\rm Pr}_{D}\left\{\widehat{Y}(X,A,C)=Y\right\}\geq 1-\Deltaroman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = italic_Y } ≥ 1 - roman_Δ. With these definitions and notational conventions we can now formalize the specific notions of group fairness and community fairness.

Definition 2.2.

The outcome predictor Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y for community group D𝐷Ditalic_D satisfies equal opportunity if and only if

PrD{Y^(X,A,C)=1|Y=1,A=1}=PrD{Y^(X,A,C)=1|Y=1,A=0}subscriptPr𝐷conditional-set^𝑌𝑋𝐴𝐶1formulae-sequence𝑌1𝐴1subscriptPr𝐷conditional-set^𝑌𝑋𝐴𝐶1formulae-sequence𝑌1𝐴0\begin{split}{\rm Pr}_{D}\left\{\widehat{Y}(X,A,C)=1\,|\,Y=1,A=1\right\}={\rm Pr% }_{D}\left\{\widehat{Y}(X,A,C)=1\,|\,Y=1,A=0\right\}\end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = 1 | italic_Y = 1 , italic_A = 1 } = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = 1 | italic_Y = 1 , italic_A = 0 } end_CELL end_ROW (1)

Definition 2.2 asserts that the probability of the outcome predictor correctly predicting a positive outcome for an individual (x,a,c,y)𝑥𝑎𝑐𝑦(x,a,c,y)( italic_x , italic_a , italic_c , italic_y ) from D𝐷Ditalic_D who qualifies for the positive outcome (i.e. y=1𝑦1y=1italic_y = 1) is independent of the individual’s protected attribute a𝑎aitalic_a.

Remark 2.3.

This paper defines group fairness in terms of Equal Opportunity over the global distribution. It solves a different problem than (Chu et al., 2021), which focuses fairness over each local distribution. Global fairness and local fairness are not equivalent. See the Appendix A for more details.

Definition 2.4.

The outcome predictor Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y for community group D𝐷Ditalic_D satisfies community fairness if and only if for any j,k𝒞𝑗𝑘𝒞j,k\in\mathcal{C}italic_j , italic_k ∈ caligraphic_C, we have

PrD{Y^(X,A,C)=Y|C=j}=PrD{Y^(X,A,C)=Y|C=k}subscriptPr𝐷conditional-set^𝑌𝑋𝐴𝐶𝑌𝐶𝑗subscriptPr𝐷conditional-set^𝑌𝑋𝐴𝐶𝑌𝐶𝑘\begin{split}{\rm Pr}_{D}\left\{\widehat{Y}(X,A,C)=Y\,|\,C=j\right\}={\rm Pr}_% {D}\left\{\widehat{Y}(X,A,C)=Y\,|\,C=k\right\}\end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = italic_Y | italic_C = italic_j } = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = italic_Y | italic_C = italic_k } end_CELL end_ROW (2)

Definition 2.4 asserts that the probability of the outcome predictor correctly predicting an individual’s qualified outcome is independent of which community the individual belongs to.

This paper develops a post-processing FL algorithm that selects an outcome predictor Y~:𝒳×𝒜×𝒞𝒴:~𝑌𝒳𝒜𝒞𝒴\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal% {Y}over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y that satisfies both community fairness and group fairness. If a ΔΔ\Deltaroman_Δ-accurate predictor exists that achieves community and group fairness on community group D𝐷Ditalic_D, then we say the community group is ΔΔ\Deltaroman_Δ-equalizable. This paper will also establish necessary conditions for a community group to be ΔΔ\Deltaroman_Δ-equalizable.

3 Achieving Group and Community Fairness

Let D=(X,A,C,Y)𝐷𝑋𝐴𝐶𝑌D=(X,A,C,Y)italic_D = ( italic_X , italic_A , italic_C , italic_Y ) be a community group and consider the loss function :𝒴×𝒴{0,1}:𝒴𝒴01\ell:\mathcal{Y}\times\mathcal{Y}\rightarrow\{0,1\}roman_ℓ : caligraphic_Y × caligraphic_Y → { 0 , 1 } that takes values

(y~,y)=𝟙(y~y)~𝑦𝑦1~𝑦𝑦\displaystyle\ell(\widetilde{y},y)=\mathbbm{1}(\widetilde{y}\neq y)roman_ℓ ( over~ start_ARG italic_y end_ARG , italic_y ) = blackboard_1 ( over~ start_ARG italic_y end_ARG ≠ italic_y ) (3)

for any y~,y𝒴~𝑦𝑦𝒴\widetilde{y},y\in\mathcal{Y}over~ start_ARG italic_y end_ARG , italic_y ∈ caligraphic_Y, where 𝟙()1\mathbbm{1}(\cdot)blackboard_1 ( ⋅ ) is the indicator function. A fair outcome predictor is any map Y~:𝒳×𝒜×𝒞𝒴:~𝑌𝒳𝒜𝒞𝒴\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal% {Y}over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y that satisfies the equal opportunity equation (1) and community fairness equation (2) with respect to community group D𝐷Ditalic_D. The following proposition asserts that if an outcome predictor Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG satisfies the following optimization problem in equation (8), then Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG must be a fair outcome predictor with respect to community group D𝐷Ditalic_D.

Proposition 3.1.

Consider the community group, D=(X,A,C,Y)𝐷𝑋𝐴𝐶𝑌D=(X,A,C,Y)italic_D = ( italic_X , italic_A , italic_C , italic_Y ), and the binary loss function, \ellroman_ℓ, in equation (3). If the outcome predictor Y~:𝒳×𝒜×𝒞𝒴:~𝑌𝒳𝒜𝒞𝒴\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal% {Y}over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y satisfies the following optimization problem

minimize𝔼D[(Y~(X,A,C),Y)]with respect toY~:𝒳×𝒜×𝒞𝒴subject toPrD(Y~(X,A,C)=1|Y=1,A=0)=PrD(Y~(X,A,C)=1|Y=1,A=1),PrD(Y~(X,A,C)=Y|C=j)=PrD(Y~(X,A,C)=Y|C=k),j,k𝒞\displaystyle\begin{array}[]{ll}\text{minimize}&\mathbb{E}_{D}\left[\ell(% \widetilde{Y}(X,A,C),Y)\right]\\ \text{with respect to}&\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times% \mathcal{C}\rightarrow\mathcal{Y}\\ \text{subject to}&{\rm Pr}_{D}(\widetilde{Y}(X,A,C)=1\,|\,Y=1,A=0)={\rm Pr}_{D% }(\widetilde{Y}(X,A,C)=1\,|\,Y=1,A=1),\\ &\text{${\rm Pr}_{D}(\widetilde{Y}(X,A,C)=Y\,|\,C=j)$}=\text{${\rm Pr}_{D}(% \widetilde{Y}(X,A,C)=Y\,|\,C=k)$,}\quad\forall j,k\in\mathcal{C}\end{array}start_ARRAY start_ROW start_CELL minimize end_CELL start_CELL blackboard_E start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT [ roman_ℓ ( over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) , italic_Y ) ] end_CELL end_ROW start_ROW start_CELL with respect to end_CELL start_CELL over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y end_CELL end_ROW start_ROW start_CELL subject to end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = 1 | italic_Y = 1 , italic_A = 0 ) = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = 1 | italic_Y = 1 , italic_A = 1 ) , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = italic_Y | italic_C = italic_j ) = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) = italic_Y | italic_C = italic_k ) , ∀ italic_j , italic_k ∈ caligraphic_C end_CELL end_ROW end_ARRAY (8)

then Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG is a fair outcome predictor.

Proof: Any Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG that solves optimization problem must satisfy the given constraints. Since these constraints are equation (1) and (2) for equal opportunity and community fairness, respectively, the outcome predictor must also be fair with respect to community group D𝐷Ditalic_D. \diamondsuit

It is not yet clear if the optimization problem in equation (8) actually has a solution. To obtain conditions for the existence of a fair outcome predictor, we will first show that equation (8) can be recast as a linear program. The existence of a fair outcome predictor is then equivalent to that linear program having non-negative solutions.

Let Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y be an optimal outcome predictor that minimizes the expected value of the indicator loss function in equation (3) with respect to community group D𝐷Ditalic_D. For notational convenience we will drop the arguments on the outcome predictors so we write Y^(X,A,C)^𝑌𝑋𝐴𝐶\widehat{Y}(X,A,C)over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) (or Y~(X,A,C))\widetilde{Y}(X,A,C))over~ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) ) as Y^^𝑌\widehat{Y}over^ start_ARG italic_Y end_ARG (or Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG). For convenience we introduce the following notational conventions for the optimal outcome predictor’s joint probability of false or true positives and negatives:

FNac=PrD{Y^=0,Y=1,A=a,C=c}TNac=PrD{Y^=0,Y=0,A=a,C=c}FPac=PrD{Y^=1,Y=0,A=a,C=c}TPac=PrD{Y^=1,Y=1,A=a,C=c}superscriptFN𝑎𝑐subscriptPr𝐷formulae-sequence^𝑌0formulae-sequence𝑌1formulae-sequence𝐴𝑎𝐶𝑐superscriptTN𝑎𝑐subscriptPr𝐷formulae-sequence^𝑌0formulae-sequence𝑌0formulae-sequence𝐴𝑎𝐶𝑐superscriptFP𝑎𝑐subscriptPr𝐷formulae-sequence^𝑌1formulae-sequence𝑌0formulae-sequence𝐴𝑎𝐶𝑐superscriptTP𝑎𝑐subscriptPr𝐷formulae-sequence^𝑌1formulae-sequence𝑌1formulae-sequence𝐴𝑎𝐶𝑐\begin{split}{\rm FN}^{ac}&={\rm Pr}_{D}\left\{\widehat{Y}=0,Y=1,A=a,C=c\right% \}\\ {{\rm TN}}^{ac}&={\rm Pr}_{D}\left\{\widehat{Y}=0,Y=0,A=a,C=c\right\}\\ {\rm FP}^{ac}&={\rm Pr}_{D}\left\{\widehat{Y}=1,Y=0,A=a,C=c\right\}\\ {\rm TP}^{ac}&={\rm Pr}_{D}\left\{\widehat{Y}=1,Y=1,A=a,C=c\right\}\\ \end{split}start_ROW start_CELL roman_FN start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c } end_CELL end_ROW start_ROW start_CELL roman_TN start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 0 , italic_A = italic_a , italic_C = italic_c } end_CELL end_ROW start_ROW start_CELL roman_FP start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 0 , italic_A = italic_a , italic_C = italic_c } end_CELL end_ROW start_ROW start_CELL roman_TP start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c } end_CELL end_ROW (9)

We will also find it convenient to define the following statistics for the group community, D𝐷Ditalic_D.

pc=PrD(C=c)α=PrD(Y=1,A=0)β=PrD(Y=1,A=1)subscript𝑝𝑐subscriptPr𝐷𝐶𝑐𝛼subscriptPr𝐷formulae-sequence𝑌1𝐴0𝛽subscriptPr𝐷formulae-sequence𝑌1𝐴1\begin{split}p_{c}&={\rm Pr}_{D}(C=c)\\ \alpha&={\rm Pr}_{D}(Y=1\,,\,A=0)\\ \beta&={\rm Pr}_{D}(Y=1\,,\,A=1)\end{split}start_ROW start_CELL italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_C = italic_c ) end_CELL end_ROW start_ROW start_CELL italic_α end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 0 ) end_CELL end_ROW start_ROW start_CELL italic_β end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 1 ) end_CELL end_ROW (10)

pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is the probability of a random individual being in community c𝑐citalic_c, α𝛼\alphaitalic_α is the probability of a random individual being qualified and non-sensitive and β𝛽\betaitalic_β is the probability of a random individual being qualified and sensitive.

Finally, the variables we will use to characterize our fair outcome predictor, Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG, will be

zjacsubscriptsuperscript𝑧𝑎𝑐𝑗\displaystyle z^{ac}_{j}italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT =\displaystyle== PrD{Y~=Y^|Y^=j,A=a,C=c}subscriptPr𝐷conditional-set~𝑌^𝑌formulae-sequence^𝑌𝑗formulae-sequence𝐴𝑎𝐶𝑐\displaystyle{\rm Pr}_{D}\left\{\widetilde{Y}=\widehat{Y}\,|\,\widehat{Y}=j,A=% a,C=c\right\}roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over~ start_ARG italic_Y end_ARG = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = italic_j , italic_A = italic_a , italic_C = italic_c } (11)

So zjacsubscriptsuperscript𝑧𝑎𝑐𝑗z^{ac}_{j}italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is the probability that the fair predictor’s outcome, Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG, equals that of the optimal predictor’s outcome, Y^^𝑌\widehat{Y}over^ start_ARG italic_Y end_ARG, for an individual, (x,a,c,y)𝑥𝑎𝑐𝑦(x,a,c,y)( italic_x , italic_a , italic_c , italic_y ), for which the optimal predictor’s output is j𝒴𝑗𝒴j\in\mathcal{Y}italic_j ∈ caligraphic_Y, the sensitive attribute is a𝒜𝑎𝒜a\in\mathcal{A}italic_a ∈ caligraphic_A and the community label is c𝒞𝑐𝒞c\in\mathcal{C}italic_c ∈ caligraphic_C.

Proposition 3.2.

(Appendix C.1) Let 𝐳4K𝐳superscript4𝐾\mathbf{z}\in\mathbb{R}^{4K}bold_z ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT satisfy the following linear program (LP)

minimize:𝐜T𝐳with respect to:𝐳4Ksubject to:𝐀𝐳=𝐛0𝐳1minimize:superscript𝐜𝑇𝐳with respect to:𝐳superscript4𝐾subject to:𝐀𝐳𝐛missing-subexpression0𝐳1\displaystyle\begin{array}[]{ll}\mbox{minimize:}&\mathbf{c}^{T}\mathbf{z}\\ \mbox{with respect to:}&\mathbf{z}\in\mathbb{R}^{4K}\\ \mbox{subject to:}&\mathbf{Az}=\mathbf{b}\\ &0\leq\mathbf{z}\leq 1\end{array}start_ARRAY start_ROW start_CELL minimize: end_CELL start_CELL bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z end_CELL end_ROW start_ROW start_CELL with respect to: end_CELL start_CELL bold_z ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL subject to: end_CELL start_CELL bold_Az = bold_b end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL 0 ≤ bold_z ≤ 1 end_CELL end_ROW end_ARRAY (16)

where

𝐜Tsuperscript𝐜𝑇\displaystyle\mathbf{c}^{T}bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐜1T𝐜2T𝐜KT]delimited-[]superscriptsubscript𝐜1𝑇superscriptsubscript𝐜2𝑇subscriptsuperscript𝐜𝑇𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{c}_{1}^{T}&\mathbf{c}_{2}^{T}&% \cdots&\mathbf{c}^{T}_{K}\end{array}\right][ start_ARRAY start_ROW start_CELL bold_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ]
𝐳Tsuperscript𝐳𝑇\displaystyle\mathbf{z}^{T}bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐳1T𝐳2T𝐳KT]delimited-[]superscriptsubscript𝐳1𝑇superscriptsubscript𝐳2𝑇subscriptsuperscript𝐳𝑇𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{z}_{1}^{T}&\mathbf{z}_{2}^{T}&% \cdots&\mathbf{z}^{T}_{K}\end{array}\right][ start_ARRAY start_ROW start_CELL bold_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ]
𝐀=[𝐦1T𝐦2T𝐦3T𝐦K1T𝐦KTK1K𝐧1T1K𝐧2T1K𝐧3T1K𝐧K1T1K𝐧KT1K𝐧1TK1K𝐧2T𝐧3T1K𝐧K1T1K𝐧KT1K𝐧1T1K𝐧2TK1K𝐧3T1K𝐧K1T1K𝐧KT1K𝐧1T1K𝐧2T1K𝐧3TK1K𝐧K1T1K𝐧KT1K𝐧1T1K𝐧2T1K𝐧3T1K𝐧K1TK1K𝐧KT]𝐀delimited-[]superscriptsubscript𝐦1𝑇superscriptsubscript𝐦2𝑇superscriptsubscript𝐦3𝑇subscriptsuperscript𝐦𝑇𝐾1subscriptsuperscript𝐦𝑇𝐾𝐾1𝐾superscriptsubscript𝐧1𝑇1𝐾superscriptsubscript𝐧2𝑇1𝐾superscriptsubscript𝐧3𝑇1𝐾superscriptsubscript𝐧𝐾1𝑇1𝐾superscriptsubscript𝐧𝐾𝑇1𝐾superscriptsubscript𝐧1𝑇𝐾1𝐾superscriptsubscript𝐧2𝑇superscriptsubscript𝐧3𝑇1𝐾superscriptsubscript𝐧𝐾1𝑇1𝐾superscriptsubscript𝐧𝐾𝑇1𝐾superscriptsubscript𝐧1𝑇1𝐾superscriptsubscript𝐧2𝑇𝐾1𝐾superscriptsubscript𝐧3𝑇1𝐾superscriptsubscript𝐧𝐾1𝑇1𝐾superscriptsubscript𝐧𝐾𝑇1𝐾superscriptsubscript𝐧1𝑇1𝐾superscriptsubscript𝐧2𝑇1𝐾superscriptsubscript𝐧3𝑇𝐾1𝐾subscriptsuperscript𝐧𝑇𝐾11𝐾subscriptsuperscript𝐧𝑇𝐾1𝐾superscriptsubscript𝐧1𝑇1𝐾superscriptsubscript𝐧2𝑇1𝐾superscriptsubscript𝐧3𝑇1𝐾subscriptsuperscript𝐧𝑇𝐾1𝐾1𝐾subscriptsuperscript𝐧𝑇𝐾\mathbf{A}={\displaystyle\left[\begin{array}[]{cccccc}\mathbf{m}_{1}^{T}&% \mathbf{m}_{2}^{T}&\mathbf{m}_{3}^{T}&\cdots&\mathbf{m}^{T}_{K-1}&\mathbf{m}^{% T}_{K}\\ -\frac{K-1}{K}\mathbf{n}_{1}^{T}&\frac{1}{K}\mathbf{n}_{2}^{T}&\frac{1}{K}% \mathbf{n}_{3}^{T}&\cdots&\frac{1}{K}\mathbf{n}_{K-1}^{T}&\frac{1}{K}\mathbf{n% }_{K}^{T}\\ \frac{1}{K}\mathbf{n}_{1}^{T}&-\frac{K-1}{K}\mathbf{n}_{2}^{T}&\mathbf{n}_{3}^% {T}&\cdots&\frac{1}{K}\mathbf{n}_{K-1}^{T}&\frac{1}{K}\mathbf{n}_{K}^{T}\\ \frac{1}{K}\mathbf{n}_{1}^{T}&\frac{1}{K}\mathbf{n}_{2}^{T}&-\frac{K-1}{K}% \mathbf{n}_{3}^{T}&\cdots&\frac{1}{K}\mathbf{n}_{K-1}^{T}&\frac{1}{K}\mathbf{n% }_{K}^{T}\\ \vdots&\vdots&\vdots&\ddots&\vdots&\vdots\\ \frac{1}{K}\mathbf{n}_{1}^{T}&\frac{1}{K}\mathbf{n}_{2}^{T}&\frac{1}{K}\mathbf% {n}_{3}^{T}&\cdots&-\frac{K-1}{K}\mathbf{n}^{T}_{K-1}&\frac{1}{K}\mathbf{n}^{T% }_{K}\\ \frac{1}{K}\mathbf{n}_{1}^{T}&\frac{1}{K}\mathbf{n}_{2}^{T}&\frac{1}{K}\mathbf% {n}_{3}^{T}&\cdots&\frac{1}{K}\mathbf{n}^{T}_{K-1}&-\frac{K-1}{K}\mathbf{n}^{T% }_{K}\end{array}\right]}bold_A = [ start_ARRAY start_ROW start_CELL bold_m start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_m start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_m start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_m start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT end_CELL start_CELL bold_m start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_n start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL ⋮ end_CELL start_CELL ⋮ end_CELL start_CELL ⋮ end_CELL start_CELL ⋱ end_CELL start_CELL ⋮ end_CELL start_CELL ⋮ end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT end_CELL start_CELL - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ]
𝐛Tsuperscript𝐛𝑇\displaystyle\mathbf{b}^{T}bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [c=1K(FN1cβFN0cα)1Kc=1K(b1bc)1Kc=1K(b2bc)1Kc=1K(bKbc)]delimited-[]superscriptsubscript𝑐1𝐾superscriptFN1𝑐𝛽superscriptFN0𝑐𝛼1𝐾superscriptsubscript𝑐1𝐾subscript𝑏1subscript𝑏𝑐1𝐾superscriptsubscript𝑐1𝐾subscript𝑏2subscript𝑏𝑐1𝐾superscriptsubscript𝑐1𝐾subscript𝑏𝐾subscript𝑏𝑐\displaystyle\left[\begin{array}[]{ccccc}{\displaystyle\sum_{c=1}^{K}\left(% \frac{{\rm FN}^{1c}}{\beta}-\frac{{\rm FN}^{0c}}{\alpha}\right)}&{% \displaystyle\frac{1}{K}\sum_{c=1}^{K}(b_{1}-b_{c})}&{\displaystyle\frac{1}{K}% \sum_{c=1}^{K}(b_{2}-b_{c})}&\cdots&{\displaystyle\frac{1}{K}\sum_{c=1}^{K}(b_% {K}-b_{c})}\end{array}\right][ start_ARRAY start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( divide start_ARG roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG - divide start_ARG roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG ) end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_CELL start_CELL ⋯ end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( italic_b start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_CELL end_ROW end_ARRAY ]

with

𝐜iTsuperscriptsubscript𝐜𝑖𝑇\displaystyle\mathbf{c}_{i}^{T}bold_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [(FN0iTN0i)(FP0iTP0i)(FN1iTN1i)(FP1iTP1i)]delimited-[]superscriptFN0𝑖superscriptTN0𝑖superscriptFP0𝑖superscriptTP0𝑖superscriptFN1𝑖superscriptTN1𝑖superscriptFP1𝑖superscriptTP1𝑖\displaystyle\left[\begin{array}[]{cccc}({\rm FN}^{0i}-{\rm TN}^{0i})&({\rm FP% }^{0i}-{\rm TP}^{0i})&({\rm FN}^{1i}-{\rm TN}^{1i})&({\rm FP}^{1i}-{\rm TP}^{1% i})\end{array}\right][ start_ARRAY start_ROW start_CELL ( roman_FN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT - roman_TN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT - roman_TP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT - roman_TN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT - roman_TP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT ) end_CELL end_ROW end_ARRAY ]
𝐧iTsuperscriptsubscript𝐧𝑖𝑇\displaystyle\mathbf{n}_{i}^{T}bold_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== 1pi[(FN0iTN0i)(FP0iTP0i)(FN1iTN1i)(FP1iTP1i)]1subscript𝑝𝑖delimited-[]superscriptFN0𝑖superscriptTN0𝑖superscriptFP0𝑖superscriptTP0𝑖superscriptFN1𝑖superscriptTN1𝑖superscriptFP1𝑖superscriptTP1𝑖\displaystyle\frac{1}{p_{i}}\left[\begin{array}[]{cccc}({\rm FN}^{0i}-{\rm TN}% ^{0i})&({\rm FP}^{0i}-{\rm TP}^{0i})&({\rm FN}^{1i}-{\rm TN}^{1i})&({\rm FP}^{% 1i}-{\rm TP}^{1i})\end{array}\right]divide start_ARG 1 end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG [ start_ARRAY start_ROW start_CELL ( roman_FN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT - roman_TN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT - roman_TP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT - roman_TN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT ) end_CELL start_CELL ( roman_FP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT - roman_TP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT ) end_CELL end_ROW end_ARRAY ]
𝐳iTsuperscriptsubscript𝐳𝑖𝑇\displaystyle\mathbf{z}_{i}^{T}bold_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [z00iz10iz01iz11i]delimited-[]superscriptsubscript𝑧00𝑖superscriptsubscript𝑧10𝑖superscriptsubscript𝑧01𝑖superscriptsubscript𝑧11𝑖\displaystyle\left[\begin{array}[]{cccc}z_{0}^{0i}&z_{1}^{0i}&z_{0}^{1i}&z_{1}% ^{1i}\end{array}\right][ start_ARRAY start_ROW start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ]
𝐦iTsuperscriptsubscript𝐦𝑖𝑇\displaystyle\mathbf{m}_{i}^{T}bold_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [FN0iαTP0iαFN1iβTP1iβ]delimited-[]superscriptFN0𝑖𝛼superscriptTP0𝑖𝛼superscriptFN1𝑖𝛽superscriptTP1𝑖𝛽\displaystyle\left[\begin{array}[]{cccc}\frac{-{\rm FN}^{0i}}{\alpha}&\frac{{% \rm TP}^{0i}}{\alpha}&\frac{{\rm FN}^{1i}}{\beta}&\frac{-{\rm TP}^{1i}}{\beta}% \end{array}\right][ start_ARRAY start_ROW start_CELL divide start_ARG - roman_FN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_CELL start_CELL divide start_ARG roman_TP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_CELL start_CELL divide start_ARG roman_FN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL start_CELL divide start_ARG - roman_TP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL end_ROW end_ARRAY ]
bisubscript𝑏𝑖\displaystyle b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT =\displaystyle== 1pi(TN0i+TP0i+TN1i+TP1i)1subscript𝑝𝑖superscriptTN0𝑖superscriptTP0𝑖superscriptTN1𝑖superscriptTP1𝑖\displaystyle\frac{1}{p_{i}}({\rm TN}^{0i}+{\rm TP}^{0i}+{\rm TN}^{1i}+{\rm TP% }^{1i})divide start_ARG 1 end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ( roman_TN start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT )

for i=1,2,K𝑖12𝐾i=1,2,\cdots Kitalic_i = 1 , 2 , ⋯ italic_K.

Let the solution of the linear program 𝐳𝐳\mathbf{z}bold_z be:

𝐳Tsuperscript𝐳𝑇\displaystyle\mathbf{z}^{T}bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐳1T𝐳2T𝐳KT]delimited-[]superscriptsubscript𝐳1𝑇superscriptsubscript𝐳2𝑇subscriptsuperscript𝐳𝑇𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{z}_{1}^{T}&\mathbf{z}_{2}^{T}&% \cdots&\mathbf{z}^{T}_{K}\end{array}\right][ start_ARRAY start_ROW start_CELL bold_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ]

with

𝐳iTsuperscriptsubscript𝐳𝑖𝑇\displaystyle\mathbf{z}_{i}^{T}bold_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [z00iz10iz01iz11i]delimited-[]superscriptsubscript𝑧00𝑖superscriptsubscript𝑧10𝑖superscriptsubscript𝑧01𝑖superscriptsubscript𝑧11𝑖\displaystyle\left[\begin{array}[]{cccc}z_{0}^{0i}&z_{1}^{0i}&z_{0}^{1i}&z_{1}% ^{1i}\end{array}\right][ start_ARRAY start_ROW start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ]

Then the outcome predictor Y~Y^,𝐳:𝒳×𝒜×𝒞𝒴:subscript~𝑌^𝑌𝐳𝒳𝒜𝒞𝒴\widetilde{Y}_{\widehat{Y},\mathbf{z}}:\mathcal{X}\times\mathcal{A}\times% \mathcal{C}\rightarrow\mathcal{Y}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y taking values

Y~Y^,𝐳(x,a,c)={0with probability z0ac1with probability 1z0acif Y^(x,a,c)=1orY~Y^,𝐳(x,a,c)={1with probability z1ac0with probability 1z1acif Y^(x,a,c)=0formulae-sequenceformulae-sequencesubscript~𝑌^𝑌𝐳𝑥𝑎𝑐cases0with probability superscriptsubscript𝑧0𝑎𝑐1with probability 1superscriptsubscript𝑧0𝑎𝑐if ^𝑌𝑥𝑎𝑐1orsubscript~𝑌^𝑌𝐳𝑥𝑎𝑐cases1with probability superscriptsubscript𝑧1𝑎𝑐0with probability 1superscriptsubscript𝑧1𝑎𝑐if ^𝑌𝑥𝑎𝑐0\begin{split}\quad\quad&\widetilde{Y}_{\widehat{Y},\mathbf{z}}(x,a,c)=\begin{% cases}0&\text{with probability }z_{0}^{ac}\\ 1&\text{with probability }1-z_{0}^{ac}\end{cases}\quad\text{if }\widehat{Y}(x,% a,c)=1\\ \text{or}\\ \quad\quad&\widetilde{Y}_{\widehat{Y},\mathbf{z}}(x,a,c)=\begin{cases}1&\text{% with probability }z_{1}^{ac}\\ 0&\text{with probability }1-z_{1}^{ac}\end{cases}\quad\text{if }\widehat{Y}(x,% a,c)=0\\ \end{split}start_ROW start_CELL end_CELL start_CELL over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ( italic_x , italic_a , italic_c ) = { start_ROW start_CELL 0 end_CELL start_CELL with probability italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 1 end_CELL start_CELL with probability 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW if over^ start_ARG italic_Y end_ARG ( italic_x , italic_a , italic_c ) = 1 end_CELL end_ROW start_ROW start_CELL or end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ( italic_x , italic_a , italic_c ) = { start_ROW start_CELL 1 end_CELL start_CELL with probability italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL with probability 1 - italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW if over^ start_ARG italic_Y end_ARG ( italic_x , italic_a , italic_c ) = 0 end_CELL end_ROW

is a fair outcome predictor.

Remark 3.3.

Our post-FFL algorithm can be extended to multi-class classification tasks, i.e., 𝒴={1,2,,N}𝒴12𝑁\mathcal{Y}=\{1,2,\cdots,N\}caligraphic_Y = { 1 , 2 , ⋯ , italic_N }. The linear program for multi-class classification is detailed in Appendix B.

Remark 3.4.

In general, we may not necessarily need to achieve strictly identical performance across all communities. It is worth noting that the optimization shown in (16) can incorporate a more relaxed version of equal opportunity and community fairness constraints.

|PrD(Y~=1|Y=1,A=0)PrD(Y~=1|Y=1,A=1)|ϵk𝒞,|Pr(Y~Y|C=k)1Kc=1KPr(Y~Y|C=c)|δ\begin{split}|{\rm Pr_{D}}(\tilde{Y}=1|Y=1,A=0)-{\rm Pr_{D}}(\tilde{Y}=1|Y=1,A% =1)|&\leq\epsilon\\ \forall k\in\mathcal{C},|{\rm Pr}(\widetilde{Y}\neq Y|C=k)-\frac{1}{K}\sum_{c=% 1}^{K}{\rm Pr}(\widetilde{Y}\neq Y|C=c)|&\leq\delta\end{split}start_ROW start_CELL | roman_Pr start_POSTSUBSCRIPT roman_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr start_POSTSUBSCRIPT roman_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 ) | end_CELL start_CELL ≤ italic_ϵ end_CELL end_ROW start_ROW start_CELL ∀ italic_k ∈ caligraphic_C , | roman_Pr ( over~ start_ARG italic_Y end_ARG ≠ italic_Y | italic_C = italic_k ) - divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG ≠ italic_Y | italic_C = italic_c ) | end_CELL start_CELL ≤ italic_δ end_CELL end_ROW (26)

In such cases, the linear program with the relaxed fairness constraints is:

minimize:𝐜T𝐳with respect to:𝐳4Ksubject to:𝐛ϵ𝐀𝐳𝐛+ϵ0𝐳1minimize:superscript𝐜𝑇𝐳with respect to:𝐳superscript4𝐾subject to:𝐛bold-italic-ϵ𝐀𝐳𝐛bold-italic-ϵmissing-subexpression0𝐳1\displaystyle\begin{array}[]{ll}\mbox{minimize:}&\mathbf{c}^{T}\mathbf{z}\\ \mbox{with respect to:}&\mathbf{z}\in\mathbb{R}^{4K}\\ \mbox{subject to:}&\mathbf{b}-\boldsymbol{\epsilon}\leq\mathbf{Az}\leq\mathbf{% b}+\boldsymbol{\epsilon}\\ &0\leq\mathbf{z}\leq 1\end{array}start_ARRAY start_ROW start_CELL minimize: end_CELL start_CELL bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z end_CELL end_ROW start_ROW start_CELL with respect to: end_CELL start_CELL bold_z ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL subject to: end_CELL start_CELL bold_b - bold_italic_ϵ ≤ bold_Az ≤ bold_b + bold_italic_ϵ end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL 0 ≤ bold_z ≤ 1 end_CELL end_ROW end_ARRAY (31)

where,

ϵTsuperscriptbold-italic-ϵ𝑇\displaystyle\boldsymbol{\epsilon}^{T}bold_italic_ϵ start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [ϵδδ]delimited-[]italic-ϵ𝛿𝛿\displaystyle\left[\begin{array}[]{cccc}\epsilon&\delta&\cdots&\delta\end{% array}\right][ start_ARRAY start_ROW start_CELL italic_ϵ end_CELL start_CELL italic_δ end_CELL start_CELL ⋯ end_CELL start_CELL italic_δ end_CELL end_ROW end_ARRAY ]

By solving the linear program with different ϵ(K+1)bold-italic-ϵsuperscript𝐾1\boldsymbol{\epsilon}\in\mathbbm{R}^{(K+1)}bold_italic_ϵ ∈ blackboard_R start_POSTSUPERSCRIPT ( italic_K + 1 ) end_POSTSUPERSCRIPT, we can precisely control the degree of community fairness and group fairness, setting ϵ=𝟎bold-italic-ϵ0\boldsymbol{\epsilon}=\mathbf{0}bold_italic_ϵ = bold_0 gives us the outcome predictor that strictly satisfies equal opportunity and community fairness.\diamondsuit

We can write the linear program (16) in the standard form by introducing a set of slack variables 𝐬4K𝐬superscript4𝐾\mathbf{s}\in\mathbb{R}^{4K}bold_s ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT:

𝐬Tsuperscript𝐬𝑇\displaystyle\mathbf{s}^{T}bold_s start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐬1T𝐬2T𝐬KT]delimited-[]superscriptsubscript𝐬1𝑇superscriptsubscript𝐬2𝑇subscriptsuperscript𝐬𝑇𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{s}_{1}^{T}&\mathbf{s}_{2}^{T}&% \cdots&\mathbf{s}^{T}_{K}\end{array}\right][ start_ARRAY start_ROW start_CELL bold_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_s start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY ]

with

𝐬iTsuperscriptsubscript𝐬𝑖𝑇\displaystyle\mathbf{s}_{i}^{T}bold_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [s00is10is01is11i]delimited-[]superscriptsubscript𝑠00𝑖superscriptsubscript𝑠10𝑖superscriptsubscript𝑠01𝑖superscriptsubscript𝑠11𝑖\displaystyle\left[\begin{array}[]{cccc}s_{0}^{0i}&s_{1}^{0i}&s_{0}^{1i}&s_{1}% ^{1i}\end{array}\right][ start_ARRAY start_ROW start_CELL italic_s start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_s start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL start_CELL italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_i end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ]

The variables we need to solve for in linear program (16) represent probabilities, thus, 0zjac10superscriptsubscript𝑧𝑗𝑎𝑐10\leq z_{j}^{ac}\leq 10 ≤ italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ≤ 1. It is equivalent to:

zjac+sjac=1zjac,sjac0formulae-sequencesuperscriptsubscript𝑧𝑗𝑎𝑐superscriptsubscript𝑠𝑗𝑎𝑐1superscriptsubscript𝑧𝑗𝑎𝑐superscriptsubscript𝑠𝑗𝑎𝑐0\begin{split}z_{j}^{ac}+s_{j}^{ac}&=1\\ z_{j}^{ac},s_{j}^{ac}&\geq 0\end{split}start_ROW start_CELL italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT + italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL = 1 end_CELL end_ROW start_ROW start_CELL italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT , italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL start_CELL ≥ 0 end_CELL end_ROW (35)

Combine the linear program (16) with (35), the standard form of the linear program (16) is:

minimize:𝐜¯T𝐳¯with respect to:𝐳¯8Ksubject to:𝐀¯𝐳¯=𝐛¯𝐳¯0minimize:superscript¯𝐜𝑇¯𝐳with respect to:¯𝐳superscript8𝐾subject to:¯𝐀¯𝐳¯𝐛missing-subexpression¯𝐳0\displaystyle\begin{array}[]{ll}\mbox{minimize:}&\mathbf{\bar{c}}^{T}\mathbf{% \bar{z}}\\ \mbox{with respect to:}&\mathbf{\bar{z}}\in\mathbb{R}^{8K}\\ \mbox{subject to:}&\mathbf{\bar{A}\bar{z}}=\mathbf{\bar{b}}\\ &\mathbf{\bar{z}}\geq 0\end{array}start_ARRAY start_ROW start_CELL minimize: end_CELL start_CELL over¯ start_ARG bold_c end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_z end_ARG end_CELL end_ROW start_ROW start_CELL with respect to: end_CELL start_CELL over¯ start_ARG bold_z end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT 8 italic_K end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL subject to: end_CELL start_CELL over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG = over¯ start_ARG bold_b end_ARG end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL over¯ start_ARG bold_z end_ARG ≥ 0 end_CELL end_ROW end_ARRAY (40)

with

𝐜¯Tsuperscript¯𝐜𝑇\displaystyle\mathbf{\bar{c}}^{T}over¯ start_ARG bold_c end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐜T𝟎]8Kdelimited-[]superscript𝐜𝑇0missing-subexpressionmissing-subexpressionsuperscript8𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{c}^{T}&\mathbf{0}\end{array}% \right]\in\mathbb{R}^{8K}[ start_ARRAY start_ROW start_CELL bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_0 end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW end_ARRAY ] ∈ blackboard_R start_POSTSUPERSCRIPT 8 italic_K end_POSTSUPERSCRIPT
𝐳¯Tsuperscript¯𝐳𝑇\displaystyle\mathbf{\bar{z}}^{T}over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐳T𝐬T]8Kdelimited-[]superscript𝐳𝑇superscript𝐬𝑇missing-subexpressionmissing-subexpressionsuperscript8𝐾\displaystyle\left[\begin{array}[]{cccc}\mathbf{z}^{T}&\mathbf{s}^{T}\end{% array}\right]\in\mathbb{R}^{8K}[ start_ARRAY start_ROW start_CELL bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_s start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW end_ARRAY ] ∈ blackboard_R start_POSTSUPERSCRIPT 8 italic_K end_POSTSUPERSCRIPT
𝐀¯¯𝐀\displaystyle\mathbf{\bar{A}}over¯ start_ARG bold_A end_ARG =\displaystyle== [𝐀𝟎𝐈𝐈](5K+1)×8Kdelimited-[]𝐀0𝐈𝐈superscript5𝐾18𝐾\displaystyle\left[\begin{array}[]{cc}\mathbf{A}&\mathbf{0}\\ \mathbf{I}&\mathbf{I}\end{array}\right]\in\mathbb{R}^{(5K+1)\times 8K}[ start_ARRAY start_ROW start_CELL bold_A end_CELL start_CELL bold_0 end_CELL end_ROW start_ROW start_CELL bold_I end_CELL start_CELL bold_I end_CELL end_ROW end_ARRAY ] ∈ blackboard_R start_POSTSUPERSCRIPT ( 5 italic_K + 1 ) × 8 italic_K end_POSTSUPERSCRIPT
𝐛¯Tsuperscript¯𝐛𝑇\displaystyle\mathbf{\bar{b}}^{T}over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT =\displaystyle== [𝐛T𝟏4KT]5K+1delimited-[]superscript𝐛𝑇superscriptsubscript14𝐾𝑇missing-subexpressionmissing-subexpressionsuperscript5𝐾1\displaystyle\left[\begin{array}[]{cccc}\mathbf{b}^{T}&\mathbf{1}_{4K}^{T}\end% {array}\right]\in\mathbb{R}^{5K+1}[ start_ARRAY start_ROW start_CELL bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW end_ARRAY ] ∈ blackboard_R start_POSTSUPERSCRIPT 5 italic_K + 1 end_POSTSUPERSCRIPT

where 𝟏4K4Ksubscript14𝐾superscript4𝐾\mathbf{1}_{4K}\in\mathbb{R}^{4K}bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT is all 1111 vector.

Theorem 3.5.

(Appendix C.2) The linear program (40) always has non-negative solutions.

Theorem 3.5 indicates that the linear program (16), which is equivalent to (40), always has a solution. Thus, there always exists fair outcome predictors satisfying both equal opportunity and community fairness. We next demonstrate the necessary conditions for the existence of a ΔΔ\Deltaroman_Δ-accurate fair outcome predictor. An outcome predictor: Y~:𝒳×𝒜×𝒞𝒴:~𝑌𝒳𝒜𝒞𝒴\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal% {Y}over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y is a ΔΔ\Deltaroman_Δ-accurate fair outcome predictor if:

PrD(Y~Y)ΔPrD(Y~=1|Y=1,A=0)=PrD(Y~=1|Y=1,A=1)k𝒞,PrD(Y~Y|C=k)=1Kc=1KPrD(Y~Y|C=c)\begin{split}{\rm Pr}_{D}(\widetilde{Y}\neq Y)&\leq\Delta\\ {\rm Pr}_{D}(\widetilde{Y}=1|Y=1,A=0)&={\rm Pr}_{D}(\widetilde{Y}=1|Y=1,A=1)\\ \forall k\in\mathcal{C},{\rm Pr}_{D}(\widetilde{Y}\neq Y|C=k)&=\frac{1}{K}\sum% _{c=1}^{K}{\rm Pr}_{D}(\widetilde{Y}\neq Y|C=c)\end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) end_CELL start_CELL ≤ roman_Δ end_CELL end_ROW start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 ) end_CELL start_CELL = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 ) end_CELL end_ROW start_ROW start_CELL ∀ italic_k ∈ caligraphic_C , roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y | italic_C = italic_k ) end_CELL start_CELL = divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y | italic_C = italic_c ) end_CELL end_ROW (45)
Theorem 3.6.

(Appendix C.3) The three conditions in (45) cannot hold simultaneously if Δ<𝐜¯𝐀¯T𝐛¯2σ¯2+c=1K(TN0c+TP0c+TN1c+TP1c)Δsubscriptnorm¯𝐜subscriptnormsuperscript¯𝐀𝑇¯𝐛2superscript¯𝜎2superscriptsubscript𝑐1𝐾superscriptTN0𝑐superscriptTP0𝑐superscriptTN1𝑐superscriptTP1𝑐\Delta<-\|\mathbf{\bar{c}}\|_{\infty}\frac{\|\mathbf{\bar{A}}^{T}\mathbf{\bar{% b}}\|_{2}}{\underline{\sigma}^{2}}+\sum_{c=1}^{K}({\rm TN}^{0c}+{\rm TP}^{0c}+% {\rm TN}^{1c}+{\rm TP}^{1c})roman_Δ < - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_TN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ) , where, σ¯¯𝜎\underline{\sigma}under¯ start_ARG italic_σ end_ARG is the smallest singular value of the matrix 𝐀¯¯𝐀\mathbf{\bar{A}}over¯ start_ARG bold_A end_ARG.

Theorem 3.6 establishes a necessary condition for the existence of an ΔΔ\Deltaroman_Δ-accurate fair outcome predictor, based on the statistics of the data represented by 𝐀¯,𝐛¯,𝐜¯¯𝐀¯𝐛¯𝐜\mathbf{\bar{A}},\mathbf{\bar{b}},\mathbf{\bar{c}}over¯ start_ARG bold_A end_ARG , over¯ start_ARG bold_b end_ARG , over¯ start_ARG bold_c end_ARG. The following theorem estimates the accuracy lost in a ϵbold-italic-ϵ\boldsymbol{\epsilon}bold_italic_ϵ-relaxed fair predictor.

Theorem 3.7.

(Appendix C.4) Let 𝐳4K𝐳superscript4𝐾\mathbf{z}\in\mathbbm{R}^{4K}bold_z ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT be the solution of the linear program (31) with a predefined ϵbold-ϵ\boldsymbol{\epsilon}bold_italic_ϵ, then the minimum accuracy we lose for improving both community fairness and group fairness under post-FFL is 𝐜T(𝐳𝟏4k)superscript𝐜𝑇𝐳subscript14𝑘\mathbf{c}^{T}(\mathbf{z}-\mathbf{1}_{4k})bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_z - bold_1 start_POSTSUBSCRIPT 4 italic_k end_POSTSUBSCRIPT ), where, 𝟏4Ksubscript14𝐾\mathbf{1}_{4K}bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT is all 1111 vector.

Theorem 3.7 above can serve as a tool for evaluating the accuracy we lose for improving group fairness and community fairness

4 Post-FFL: Fair Outcome Predictor in FL

This section shows how the linear program (16) can be used within a federated learning framework to construct a fair outcome predictor. An overview of post-FFL is shown in Fig. 1. The black arrows illustrate the exchange of local model’s parameters and the global model’s parameters during FedAvg training. The blue arrows depict the post-processing workflow following FedAvg, where local communities send their local statistics to the global server. The global server constructs a linear program and sends the solution back to the local communities. Each local community uses the decision tree, as shown on the right of Fig.1, to make fair outcome predictions. Below, we provide a list itemizing the concrete training steps of post-FFL:

Refer to caption

Figure 1: Overview of the proposed post-FFL framework.
Algorithm 1 Fair Outcome Predictor

Input: The optimal outcome predictor: Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y, the community k𝑘kitalic_k’s corresponding minimizer:

𝐳kT=[z00kz10kz01kz11k]superscriptsubscript𝐳𝑘𝑇delimited-[]superscriptsubscript𝑧00𝑘superscriptsubscript𝑧10𝑘superscriptsubscript𝑧01𝑘superscriptsubscript𝑧11𝑘\mathbf{z}_{k}^{T}=\left[\begin{array}[]{cccc}z_{0}^{0k}&z_{1}^{0k}&z_{0}^{1k}% &z_{1}^{1k}\end{array}\right]bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT = [ start_ARRAY start_ROW start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT end_CELL start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ]

Output: Fair outcome predictor Y~Y^,𝐳k:𝒳×𝒜×𝒞𝒴:subscript~𝑌^𝑌subscript𝐳𝑘𝒳𝒜𝒞𝒴\widetilde{Y}_{\widehat{Y},\mathbf{z}_{k}}:\mathcal{X}\times\mathcal{A}\times% \mathcal{C}\rightarrow\mathcal{Y}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y

1. randomly sample sU(0,1)similar-to𝑠𝑈01s\sim U(0,1)italic_s ∼ italic_U ( 0 , 1 ), the uniform distribution between (0,1)

2. Construct Y~Y^,𝐳k(x,a,k)subscript~𝑌^𝑌subscript𝐳𝑘𝑥𝑎𝑘\widetilde{Y}_{\widehat{Y},\mathbf{z}_{k}}(x,a,k)over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x , italic_a , italic_k ) as

Y~Y^,𝐳k(x,a,k)={0, if (a=0) and ((Y^=0 and sz00k) or (Y^=1 and s>z10k))1, if (a=0) and ((Y^=0 and s>z00k) or ((Y^=1 and sz10k))0, if (a=1) and ((Y^=0 and sz01k) or (Y^=1 and s>z11k))1, if (a=1) and ((Y^=0 and s>z01k) or (Y^=1 and sz11k))\widetilde{Y}_{\widehat{Y},\mathbf{z}_{k}}(x,a,k)=\left\{\begin{array}[]{l}0,% \text{ if }(a=0)\text{ and }((\widehat{Y}=0\text{ and }s\leq z_{0}^{0k})\text{% or }(\widehat{Y}=1\text{ and }s>z_{1}^{0k}))\\ 1,\text{ if }(a=0)\text{ and }((\widehat{Y}=0\text{ and }s>z_{0}^{0k})\text{ % or }((\widehat{Y}=1\text{ and }s\leq z_{1}^{0k}))\\ 0,\text{ if }(a=1)\text{ and }((\widehat{Y}=0\text{ and }s\leq z_{0}^{1k})% \text{ or }(\widehat{Y}=1\text{ and }s>z_{1}^{1k}))\\ 1,\text{ if }(a=1)\text{ and }((\widehat{Y}=0\text{ and }s>z_{0}^{1k})\text{ % or }(\widehat{Y}=1\text{ and }s\leq z_{1}^{1k}))\end{array}\right.over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_x , italic_a , italic_k ) = { start_ARRAY start_ROW start_CELL 0 , if ( italic_a = 0 ) and ( ( over^ start_ARG italic_Y end_ARG = 0 and italic_s ≤ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT ) or ( over^ start_ARG italic_Y end_ARG = 1 and italic_s > italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT ) ) end_CELL end_ROW start_ROW start_CELL 1 , if ( italic_a = 0 ) and ( ( over^ start_ARG italic_Y end_ARG = 0 and italic_s > italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT ) or ( ( over^ start_ARG italic_Y end_ARG = 1 and italic_s ≤ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT ) ) end_CELL end_ROW start_ROW start_CELL 0 , if ( italic_a = 1 ) and ( ( over^ start_ARG italic_Y end_ARG = 0 and italic_s ≤ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT ) or ( over^ start_ARG italic_Y end_ARG = 1 and italic_s > italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT ) ) end_CELL end_ROW start_ROW start_CELL 1 , if ( italic_a = 1 ) and ( ( over^ start_ARG italic_Y end_ARG = 0 and italic_s > italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT ) or ( over^ start_ARG italic_Y end_ARG = 1 and italic_s ≤ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT ) ) end_CELL end_ROW end_ARRAY

return Y~Y^,𝐳ksubscript~𝑌^𝑌subscript𝐳𝑘\widetilde{Y}_{\widehat{Y},\mathbf{z}_{k}}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT

  1. 1.

    Training an Optimal Outcome Predictor using FedAvg: The server and communities collaboratively train an optimal predictor Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y using the FedAvg algorithm (McMahan et al., 2017). The participating community trains a local model at time t𝑡titalic_t and sends the local model’s parameters, 𝜽ctnsuperscriptsubscript𝜽𝑐𝑡superscript𝑛\boldsymbol{\theta}_{c}^{t}\in\mathbb{R}^{n}bold_italic_θ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, to the global server. The global server then aggregates the local models into a global model parameter, 𝜽t=c=1Kpc𝜽ctsuperscript𝜽𝑡superscriptsubscript𝑐1𝐾subscript𝑝𝑐superscriptsubscript𝜽𝑐𝑡\boldsymbol{\theta}^{t}=\sum_{c=1}^{K}p_{c}\boldsymbol{\theta}_{c}^{t}bold_italic_θ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT bold_italic_θ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT, and sends it back to the local communities. This iterative process continues until the parameters, 𝜽𝜽\boldsymbol{\theta}bold_italic_θ, of the optimal predictor Y^^𝑌\widehat{Y}over^ start_ARG italic_Y end_ARG are determined. The aggregation weight, pc=PrD(C=c)subscript𝑝𝑐subscriptPr𝐷𝐶𝑐p_{c}=\Pr_{D}(C=c)italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_C = italic_c ), is estimated from the dataset as shown in (46).

    pc=number of samples in community cnumber of total samplessubscript𝑝𝑐number of samples in community cnumber of total samples\begin{split}p_{c}=\frac{\text{number of samples in community $c$}}{\text{% number of total samples}}\end{split}start_ROW start_CELL italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = divide start_ARG number of samples in community italic_c end_ARG start_ARG number of total samples end_ARG end_CELL end_ROW (46)
  2. 2.

    Local Prediction and Probability Calculation: Each local community generates predictions Y^(X,A,C)𝒴^𝑌𝑋𝐴𝐶𝒴\widehat{Y}(X,A,C)\in\mathcal{Y}over^ start_ARG italic_Y end_ARG ( italic_X , italic_A , italic_C ) ∈ caligraphic_Y, computes local statistics PrD(Y^=y,Y=y,A=aC=c)subscriptPr𝐷formulae-sequence^𝑌𝑦formulae-sequence𝑌superscript𝑦𝐴conditional𝑎𝐶𝑐{\rm Pr}_{D}({\widehat{Y}=y,Y=y^{\prime},A=a\mid C=c})roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = italic_y , italic_Y = italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_A = italic_a ∣ italic_C = italic_c ) for all (y,y,a){0,1}3𝑦superscript𝑦𝑎superscript013(y,y^{\prime},a)\in\{0,1\}^{3}( italic_y , italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_a ) ∈ { 0 , 1 } start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT as specified in (47), and then transmits these probabilities to the global server.

    PrD(Y^=y,Y=y,A=aC=c)=number of samples with (Y^=y,Y=y,A=a) in community cnumber of samples in community csubscriptPr𝐷formulae-sequence^𝑌𝑦formulae-sequence𝑌superscript𝑦𝐴conditional𝑎𝐶𝑐number of samples with (Y^=y,Y=y,A=a) in community cnumber of samples in community c\begin{split}&{\rm Pr}_{D}(\hat{Y}=y,Y=y^{\prime},A=a\mid C=c)=\frac{\text{% number of samples with ($\hat{Y}=y,Y=y^{\prime},A=a$) in community $c$}}{\text% {number of samples in community c}}\end{split}start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = italic_y , italic_Y = italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_A = italic_a ∣ italic_C = italic_c ) = divide start_ARG number of samples with ( over^ start_ARG italic_Y end_ARG = italic_y , italic_Y = italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_A = italic_a ) in community italic_c end_ARG start_ARG number of samples in community c end_ARG end_CELL end_ROW (47)
  3. 3.

    Constructing and Solving the Linear Program: The global server computes the parameters defined in Equations (9) and (10) using the probabilities sent by the communities. The parameters FNac,TNac,FPac,TPacsuperscriptFNacsuperscriptTNacsuperscriptFPacsuperscriptTPac{\rm FN^{ac}},{\rm TN^{ac}},{\rm FP^{ac}},{\rm TP^{ac}}roman_FN start_POSTSUPERSCRIPT roman_ac end_POSTSUPERSCRIPT , roman_TN start_POSTSUPERSCRIPT roman_ac end_POSTSUPERSCRIPT , roman_FP start_POSTSUPERSCRIPT roman_ac end_POSTSUPERSCRIPT , roman_TP start_POSTSUPERSCRIPT roman_ac end_POSTSUPERSCRIPT in (9) are computed based on:

    PrD{Y^=y,Y=y,A=a,C=c}=pcPrD{Y^=y,Y=y,A=aC=c}subscriptPr𝐷formulae-sequence^𝑌𝑦formulae-sequence𝑌superscript𝑦formulae-sequence𝐴𝑎𝐶𝑐subscript𝑝𝑐subscriptPr𝐷conditional-setformulae-sequence^𝑌𝑦formulae-sequence𝑌superscript𝑦𝐴𝑎𝐶𝑐\begin{split}&{\rm Pr}_{D}\left\{\widehat{Y}=y,Y=y^{\prime},A=a,C=c\right\}=p_% {c}{\rm Pr}_{D}\left\{\widehat{Y}=y,Y=y^{\prime},A=a\mid C=c\right\}\end{split}start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = italic_y , italic_Y = italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_A = italic_a , italic_C = italic_c } = italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT { over^ start_ARG italic_Y end_ARG = italic_y , italic_Y = italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_A = italic_a ∣ italic_C = italic_c } end_CELL end_ROW

    The parameters α𝛼\alphaitalic_α and β𝛽\betaitalic_β in (10) are computed as:

    α𝛼\displaystyle\alphaitalic_α =\displaystyle== PrD(Y=1,A=0)=c=1K(FN0c+TP0c)subscriptPr𝐷formulae-sequence𝑌1𝐴0superscriptsubscript𝑐1𝐾superscriptFN0𝑐superscriptTP0𝑐\displaystyle{\rm Pr}_{D}(Y=1,A=0)=\sum_{c=1}^{K}({\rm FN}^{0c}+{\rm TP}^{0c})roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 0 ) = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT )
    β𝛽\displaystyle\betaitalic_β =\displaystyle== PrD(Y=1,A=1)=c=1K(FN1c+TP1c)subscriptPr𝐷formulae-sequence𝑌1𝐴1superscriptsubscript𝑐1𝐾superscriptFN1𝑐superscriptTP1𝑐\displaystyle{\rm Pr}_{D}(Y=1,A=1)=\sum_{c=1}^{K}({\rm FN}^{1c}+{\rm TP}^{1c})roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 1 ) = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT )

    Using the above parameters, the global server constructs the linear program (16), finds the minimizer 𝐳𝐳\mathbf{z}bold_z:

    𝐳T=[𝐳1T𝐳2T𝐳KT]superscript𝐳𝑇delimited-[]superscriptsubscript𝐳1𝑇superscriptsubscript𝐳2𝑇superscriptsubscript𝐳𝐾𝑇\mathbf{z}^{T}=\left[\begin{array}[]{cccc}\mathbf{z}_{1}^{T}&\mathbf{z}_{2}^{T% }&\cdots&\mathbf{z}_{K}^{T}\end{array}\right]\\ bold_z start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT = [ start_ARRAY start_ROW start_CELL bold_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL bold_z start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ]

    and then sends the corresponding minimizer 𝐳kTsuperscriptsubscript𝐳𝑘𝑇\mathbf{z}_{k}^{T}bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT to community k𝑘kitalic_k, where k=1,2,,K𝑘12𝐾k=1,2,\cdots,Kitalic_k = 1 , 2 , ⋯ , italic_K.

  4. 4.

    Fair Outcome Predictor: The local community k𝑘kitalic_k, (k=1,2,K)𝑘12𝐾(k=1,2,\cdots K)( italic_k = 1 , 2 , ⋯ italic_K ) employs Algorithm 1 to make fair predictions. The received minimizer 𝐳kTsuperscriptsubscript𝐳𝑘𝑇\mathbf{z}_{k}^{T}bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT indicates the probability that the fair predictor’s outcome equals the optimal predictor’s outcome for community k𝑘kitalic_k.

Algorithm 1 provides a community dependent randomized function that is used to decide whether to accept or deny the prediction from the optimal model. The output of the optimal model, combined with the randomized function, will yield a fair outcome predictor.

5 Experiments

We conduct experiments on the real-world dataset to demonstrate the effectiveness of the post-FFL. Section 5.1 verifies that the proposed post-FFL can simultaneously enforce both notions of fairness for binary and multi-class classification tasks. It also shows that our framework can flexibly adjust the degree of fairness. Section 5.2 compares our framework with other existing fair federated algorithms. Our framework outperforms current in-processing techniques in terms of achieving both notions of fairness, communication efficiency, and computational cost. Section 5.3 presents results under different data heterogeneity settings. Section 5.4 explores the effects of the local epoch and batch size in FedAvg algorithm.

Dataset.

We use three real-world datasets: the Adult, the Diabetes, and the HM10000 to demonstrate the effectiveness of post-FFL.

The Adult dataset (Asuncion & Newman, 2007) consists of 6 numerical features (age, final weight, education number, etc.) and 8 categorical features (work class, education, gender, race, etc.) and is used to predict a binary label. The label indicates whether an individual earns more than 50K/year. We set gender as the sensitive attribute. Following the federated setting in (Li et al., 2020; Mohri et al., 2019), we split the dataset into two communities: one is the PhD community, in which all individuals are PhDs, and the other is the non-PhD community.

The Diabetes dataset (Strack et al., 2014) contains 10 numerical features (time in hospital, number of procedures, etc.), 40 binary features (race, gender, age range, admission source, diabetMed, etc.), and is used to predict a binary label. The label indicates whether a patient will be readmitted within 30 days. We set the group “older (aged over 60) African-American females” as the sensitive group. We split the data into seven communities based on their admission source. Communities 1, 2, 3, 4, 5, 6, and 7 represent samples admitted from the Emergency Room, Physician Referral, NULL, Transfer from a hospital, Transfer from another healthcare facility, Clinic Referral, Transfer from a Skilled Nursing Facility, and Others, respectively.

The HM10000 dataset (Tschandl et al., 2018) comprises dermatoscopic images from different populations and is used to predict seven classes. The seven skin diagnostic classes are: akiec (Actinic Keratoses and Intraepithelial Carcinoma), bcc (Basal Cell Carcinoma), bkl (Benign Keratosis), df (Dermatofibroma), nv (Melanocytic Nevi), mel (Melanoma), and vasc (Vascular Skin Lesions). We set individuals aged over 60 as the protected group. Equal Opportunity in this multi-class problem is defined as the true positive rate of Basal Cell Carcinoma being equal across the protected and unprotected groups. We divide the dataset into five communities. These communities are defined as follows: Community 1 represents individuals aged under 40; Community 2, those aged 40 to 50; Community 3, individuals aged 50 to 60; Community 4, those aged 60 to 70; and Community 5 includes those older than 70 and individuals of unknown ages.

Evaluation Metrics.

We evaluate the model’s performance from the following perspectives:

  • Model utility: We use the model’s Avg-Acc to measure its utility. The Avg-Acc is the weighted average accuracy across all communities.

  • Group fairness: Group fairness, as defined in Definition 2.2, requires that the true positive rates are the same for sensitive and non-sensitive groups. We measure group fairness using the Equal Opportunity Difference (EOD), which is defined as the difference in true positive rates between sensitive and non-sensitive groups.

  • Community fairness: Community fairness, as defined in Definition 2.4, requires that the model has similar accuracy across all communities. We measure community fairness using Accuracy Disparity (AD) which is the difference between the highest and lowest accuracy across all communities.

The full experiments details (including model and hyperparameters) are in Appendix D.1

5.1 Fairness of post-FFL

In this section, we verify that the proposed framework can simultaneously enforce group fairness and community fairness within a FL platform. We demonstrate our framework can control the degree of group fairness and community fairness by adjusting the ϵitalic-ϵ\epsilonitalic_ϵ and δ𝛿\deltaitalic_δ in the linear program (31) respectively. Smaller ϵitalic-ϵ\epsilonitalic_ϵ and δ𝛿\deltaitalic_δ values will lead to a fairer outcome predictor. Setting (ϵ=0,δ=0)formulae-sequenceitalic-ϵ0𝛿0(\epsilon=0,\delta=0)( italic_ϵ = 0 , italic_δ = 0 ) results in a predictor that strictly achieves both group fairness and community fairness. We further show that Theorem (3.7) within our framework allows one to evaluate the accuracy loss incurred while improving group fairness and community fairness.

Achieving group fairness and community fairness.

Table 1 reports Avg-Acc, EOD, and AD of FedAvg (McMahan et al., 2017) and post-FFL (ϵ=0,δ=0)formulae-sequenceitalic-ϵ0𝛿0(\epsilon=0,\delta=0)( italic_ϵ = 0 , italic_δ = 0 ) for all three datasets. These results show post-FFL reduced EOD and AD by 66.0%-87.5 % over FedAvg, thereby simultaneously achieving high levels of group and community fairness.

Table 1: The EOD, AD and Avg-Acc of FedAvg and our post-FFL. The 95% confidence interval (mean±plus-or-minus\pm± margin of error) of all measurements is computed over 5 runs.
Dataset Frameworks EOD AD Avg-Acc
Adult Fedavg 0.10 ±plus-or-minus\pm± 0.02 0.14 ±plus-or-minus\pm± 0.11 0.85 ±plus-or-minus\pm± 0.00
Post-FFL 0.02 ±plus-or-minus\pm± 0.00(\downarrow80.00%) 0.03 ±plus-or-minus\pm± 0.01(\downarrow78.57%) 0.75 ±plus-or-minus\pm± 0.03
Diabetes Fedavg 0.07±plus-or-minus\pm± 0.03 0.09 ±plus-or-minus\pm± 0.02 0.83 ±plus-or-minus\pm± 0.01
Post-FFL 0.02±plus-or-minus\pm±0.02(\downarrow74.43%) 0.03 ±plus-or-minus\pm± 0.01(\downarrow66.67%) 0.82±plus-or-minus\pm± 0.01
HM1000 Fedavg 0.08 ±plus-or-minus\pm± 0.02 0.33 ±plus-or-minus\pm± 0.03 0.74 ±plus-or-minus\pm± 0.02
Post-FFL 0.01±plus-or-minus\pm±0.02(\downarrow87.50%) 0.08 ±plus-or-minus\pm± 0.01(\downarrow75.75%) 0.58±plus-or-minus\pm± 0.04

Flexibility of Adjusting the Trade-off Between Fairness and Accuracy.

Table 2 reports the Avg-Acc, EOD, and AD for different settings of (ϵ,δ)italic-ϵ𝛿(\epsilon,\delta)( italic_ϵ , italic_δ ) on all three datasets. These results show that with fixed ϵitalic-ϵ\epsilonitalic_ϵ, decreasing δ𝛿\deltaitalic_δ reduces AD and Avg-Acc, indicating the model is fairer with respect to community fairness but has poorer performance. Similarly, with a fixed δ𝛿\deltaitalic_δ, the degree of equal opportunity was effectively controlled by adjusting ϵitalic-ϵ\epsilonitalic_ϵ. These results support our assertion that post-FFL is effective tool for trading off fairness and model accuracy.

Table 2: post-FFL performance for a range of (ϵ,δ)italic-ϵ𝛿(\epsilon,\delta)( italic_ϵ , italic_δ ) relaxed fair predictors.
Dataset (ϵ,δ)italic-ϵ𝛿(\epsilon,\delta)( italic_ϵ , italic_δ ) EOD AD Avg-Acc empirical accuracy loss estimated accuracy loss estimated error
Adult (0.00, 0.00) 0.016 0.012 0.780 0.074 0.074 0.000
(0.00, 0.02) 0.008 0.053 0.804 0.050 0.056 0.006
(0.00, 0.04) 0.001 0.091 0.841 0.013 0.012 0.001
(0.02, 0.00) 0.033 0.014 0.766 0.088 0.095 0.007
(0.02, 0.02) 0.030 0.051 0.802 0.051 0.056 0.004
(0.02, 0.04) 0.017 0.090 0.837 0.017 0.018 0.001
(0.04, 0.00) 0.049 0.016 0.758 0.095 0.096 0.001
(0.04, 0.02) 0.029 0.056 0.797 0.057 0.057 0.000
(0.04, 0.04) 0.044 0.094 0.839 0.014 0.018 0.004
Diabetes (0.00, 0.00) 0.008 0.021 0.812 0.022 0.022 0.000
(0.00, 0.02) 0.034 0.067 0.830 0.002 0.001 0.001
(0.00, 0.04) 0.047 0.080 0.831 0.003 0.003 0.000
(0.02, 0.00) 0.040 0.013 0.815 0.018 0.022 0.004
(0.02, 0.02) 0.025 0.048 0.830 0.004 0.001 0.003
(0.02, 0.04) 0.027 0.077 0.832 0.002 0.000 0.002
(0.04, 0.00) 0.057 0.025 0.815 0.018 0.022 0.004
(0.04, 0.02) 0.006 0.070 0.831 0.002 0.001 0.001
(0.04, 0.04) 0.032 0.076 0.831 0.002 0.00 0.002
HM10000 (0.00, 0.00) 0.012 0.089 0.623 0.146 0.131 0.015
(0.00, 0.05) 0.010 0.176 0.687 0.083 0.077 0.006
(0.00, 0.10) 0.034 0.242 0.736 0.032 0.023 0.009
(0.02, 0.00) 0.060 0.060 0.617 0.152 0.131 0.021
(0.02, 0.05) 0.043 0.160 0.682 0.087 0.077 0.010
(0.02, 0.10) 0.044 0.249 0.723 0.045 0.023 0.022
(0.04, 0.00) 0.060 0.045 0.616 0.152 0.131 0.021
(0.04, 0.05) 0.050 0.154 0.669 0.100 0.077 0.023
(0.04, 0.10) 0.057 0.242 0.728 0.041 0.023 0.017

Estimating the accuracy trade-off for fairness.

The last three columns of Table 2 compare a relaxed post-FFL model’s accuracy against the theoretical estimate of accuracy loss in Theorem (3.7). The columns show a theoretical estimate that was within (74.65±plus-or-minus\pm±11.34)% of the empirical accuracy for the particular (ϵ,δ)italic-ϵ𝛿(\epsilon,\delta)( italic_ϵ , italic_δ ) relaxations over all three datasets. This suggests Theorem (3.7) can estimate the accuracy lost when enforcing group and community fairness.

5.2 Comparison with other algorithms

This subsection compares post-FFL with other existing fair federated learning algorithms. We did not find prior work that tries to simultaneously achieve group fairness and community fairness in a federated setting. The most relevant prior work employs in-processing (rather than post-processing) techniques to achieve either equal opportunity or fair resource allocation (community fairness) in a federated setting. We used q-FedAvg (Li et al., 2019) and FairFed (Ezzeldin et al., 2023) as baselines for community fairness and group fairness, respectively.

A full description of all baselines is provided in Appendix D.2

Achieving Both Notions of Fairness.

Table 3 examines the performance of post-FFL on the Adult and HM10000 datasets using three evaluation metrics (EOD, AD, Avg-Acc). These results show that FairFed improves group fairness (EOD) by 83.9683.9683.9683.96-98.9198.9198.9198.91% over FedAvg on the two datasets while making community fairness (AD) worse. The table results show that q-FedAvg improves community fairness (AD) by 14.1514.1514.1514.15-98.3998.3998.3998.39% over FedAvg on two datasets with little change in group fairness (EOD). The table shows that post-FFL was able to significantly improve group (EOD) and community (AD) fairness over both datasets to levels consistent with FairFed (EOD) and q-FedAvg (AD).

Table 3: EOD, AD and Avg-Acc of all algorithms.
Adult HM1000
Algorithms EOD AD Avg-Acc EOD AD Avg-Acc
Initial FedAvg 0.106 0.124 0.854 0.092 0.311 0.769
Our post-FFL (ϵ=0,δ=0)formulae-sequenceitalic-ϵ0𝛿0(\epsilon=0,\delta=0)( italic_ϵ = 0 , italic_δ = 0 ) 0.016 (\downarrow84.91%) 0.012(\downarrow90.32%) 0.780 0.012(\downarrow86.96%) 0.089(\downarrow71.38%) 0.623
q-FedAvg 0.337(\uparrow217.92%) 0.002(\downarrow98.39%) 0.811 0.071(\downarrow22.82%) 0.267(\downarrow14.15%) 0.730
FairFed 0.017(\downarrow83.96%) 0.362(\uparrow191.94%) 0.846 0.001(\downarrow98.91%) 0.420(\uparrow35.05%) 0.673

Communication Efficiency and Computational Cost

Table 4 reports the number of communication rounds, computation time for one round, and total computation time for FedAvg, FairFed and q-FedAvg for the Adult and HM10000 datasets. Note that because post-FFL simply post-processes the models obtained by FedAvg, the communication and computation cost of post-FFL is accurately represented by FedAvg’s cost. So the results in Table 4 are actually comparing post-FFL’s computational cost to the inprocessing fair FL algorithms FairFed and q-FedAvg. The computation time results were obtained on a 16-Core 4.00 GHz AMD RYZEN Threadripper Pro 5955WX Processor. The average time is calculated over 30 communication rounds for each method.

The results in Table 4 show that the number of communication rounds required by post-FFL is 2-3 orders of magnitude lower than that required by q-FedAvg and one order of magnitude lower than what FairFed required. The post-FFL’s computation time for a single round was comparable to that used by q-FedAvg. When compared to FairFed, post-FFL single round time was comparable on the more complex HM10000 dataset and an order of magnitude faster on the Adult dataset. The table shows for the total amount of time needed for algorithm convergence, post-FFL was 2 order of magnitude faster on the Adult data set and about one order faster on the HM10000 dataset for both in-processing fair FL algorithms. Training curves for a specific run in Fig.4 of Appendix D.2 provide a more ”graphic” illustration of post-FFL’s convergence speed. These results, therefore, support our assertion that post-FFL (FedAvg) has significantly lower computational and communication cost than prior in-processing approaches to fair FL.

Table 4: Number of communication rounds for convergence, average time taken for completing one round of update and total time for convergence of FedAvg, q-FedAvg andFairFed.
Adult HM10000
Objectives FedAvg q-Fedavg FairFed FedAvg q-Fedavg FairFed
# of convergence rounds \approx 5 >1000absent1000>1000> 1000 \approx20 \approx 10 >200absent200>200> 200 15absent15\approx 15≈ 15
Avg-time for 1 round 0.631s 0.639s 16.428s 10.619s 10.863s 14.016s
Total time for convergence \approx3.155s >>>639s \approx328.56s \approx106.19s >>>2172.6s \approx210.24s

5.3 Experimental Result With Different Data Heterogeneity Level

We present results with various degrees of data heterogeneity across all communities. We introduce community heterogeneity by adjusting the mixture of individuals with specific target and sensitive attributes. The results for Adult dataset with two communities are presented, and the results for HM10000 are in Appendix D.3.

We define class 1 as positive male (y=1,s=1)formulae-sequence𝑦1𝑠1(y=1,s=1)( italic_y = 1 , italic_s = 1 ), class 2 as positive female (y=1,s=0)formulae-sequence𝑦1𝑠0(y=1,s=0)( italic_y = 1 , italic_s = 0 ), class 3 as negative male (y=0,s=1)formulae-sequence𝑦0𝑠1(y=0,s=1)( italic_y = 0 , italic_s = 1 ), and class 4 as negative female (y=0,s=0)formulae-sequence𝑦0𝑠0(y=0,s=0)( italic_y = 0 , italic_s = 0 ). We sample the local communities’ datasets so that the class proportion of each community is as shown in Fig. 2. For scenario 1, data is i.i.d. distributed across all communities. The sensitive attribute is totally skewed across two communities in scenario 2. Both the target and sensitive attributes are imbalanced across communities in scenario 3.

Table 5 presents the measurements for all scenarios. We observe resents these results which show that post-FFL reduced EOD and AD by 50%-100 % over FedAvg across all scenarios, thereby simultaneously achieving high levels of group and community fairness across different heterogeneity scenarios. Compared to Scenario 1, Scenario 2 has a higher degree of data heterogeneity, resulting in a greater initial AD for FedAvg. Consequently, the accuracy traded for fairness in Scenario 2 (0.110) is greater than in Scenario 1 (0.108). This demonstrates that as the level of data heterogeneity increases, the accuracy traded to ensure fairness also increases.

Figure 2: The class proportion of the three scenarios.
Refer to caption
(a) Scenario 1
Refer to caption
(b) Scenario 2
Refer to caption
(c) Scenario 3
Table 5: Experimental results with different degrees of heterogeneity (Adult)
Level of heterogeneity FedAvg Post-FFL Accuracy trade for fairness
Avg-Acc EOD Acc @1 Acc@2 AD Avg-Acc EOD Acc @1 Accc @2 AD
Scenario 1 0.817 0.080 0.826 0.808 0.017 0.799 0.013 0.809 0.788 0.021 0.018
Scenario 2 0.855 0.320 0.784 0.929 0.145 0.745 0.046 0.745 0.751 0.006 0.110
Scenario 3 0.875 0.242 0.840 0.910 0.070 0.837 0.036 0.846 0.828 0.018 0.038

5.4 Experimental results with various local Batch Sizes and Epochs.

Since post-FFL post-processes models obtained using FedAvg, it is important to assess the sensitivity of post-FFL’s fairness with respect to FedAvg’s hyperparameters, in particular the batch size B𝐵Bitalic_B and number of local epochs E𝐸Eitalic_E used to obtain the local models. B𝐵Bitalic_B represents the fraction of data samples used for each local model update. B=1𝐵1B=1italic_B = 1 indicates that the full local dataset is treated as a single minibatch. E𝐸Eitalic_E is the number of training epochs in each communication round. (B=1,E=1formulae-sequence𝐵1𝐸1B=1,E=1italic_B = 1 , italic_E = 1) corresponds exactly to FedSGD (McMahan et al., 2017). We present the results for the Adult dataset. The class proportion of communities used corresponds to Scenario 2 of Table 5.

The results with different B,E𝐵𝐸B,Eitalic_B , italic_E are in Table 6. We observe that EOD is reduced to (0.01±0.01)plus-or-minus0.010.01(0.01\pm 0.01)( 0.01 ± 0.01 ) and AD are reduced to (0.01±0.01)plus-or-minus0.010.01(0.01\pm 0.01)( 0.01 ± 0.01 ) after applying post-FFL for all different settings. Post-FFL can simultaneously ensure group fairness and community fairness, regardless of the local epochs E𝐸Eitalic_E and local batch size B𝐵Bitalic_B. Post-FFL’s has low sensitivity to batch size and number of local epochs

Table 6: Experimental results with different BB\mathrm{B}roman_B and EE\mathrm{E}roman_E in FedAvg algorithm (Adult)
Settings FedAvg Post-FFL Accuracy trade for fairness
Avg-Acc EOD Acc @1 Acc@2 AD Avg-Acc EOD Acc @1 Accc @2 AD
B=1,E=1formulae-sequenceB1E1\mathrm{B}=1,\mathrm{E}=1roman_B = 1 , roman_E = 1 (FedSGD) 0.841 0.350 0.719 0.924 0.205 0.67 0.019 0.679 0.661 0.018 0.171
B=1,E=5formulae-sequenceB1E5\mathrm{B}=1,\mathrm{E}=5roman_B = 1 , roman_E = 5 0.860 0.241 0.768 0.921 0.153 0.722 0.012 0.714 0.729 0.015 0.138
B=1/3,E=1formulae-sequenceB13E1\mathrm{B}=1/3,\mathrm{E}=1roman_B = 1 / 3 , roman_E = 1 0.863 0.440 0.799 0.923 0.124 0.668 0.003 0.669 0.668 0.001 0.195
B=1/3,E=5formulae-sequenceB13E5\mathrm{B}=1/3,\mathrm{E}=5roman_B = 1 / 3 , roman_E = 5 0.855 0.300 0.801 0.912 0.11 0.759 0.008 0.759 0.745 0.014 0.096
B=1/6,E=1formulae-sequenceB16E1\mathrm{B}=1/6,\mathrm{E}=1roman_B = 1 / 6 , roman_E = 1 0.862 0.493 0.799 0.924 0.125 0.679 0.001 0.670 0.687 0.017 0.183
B=1/6,E=5formulae-sequenceB16E5\mathrm{B}=1/6,\mathrm{E}=5roman_B = 1 / 6 , roman_E = 5 0.868 0.229 0.796 0.895 0.098 0.724 0.015 0.724 0.724 0.000 0.144

6 Conclusions and Limitations

In this work, we propose the post-FFL framework, which simultaneously achieves group and community fairness in FL. Experiments on real-world datasets demonstrate that post-FFL allows users to adjust the degree of fairness, and the theoretical results associated with it can predict the accuracy cost for fairness. Post-FFL outperforms existing baselines in fair federated learning in terms of fairness improvement, communication efficiency, and computational cost.

Post-FFL selects a random outcome predictor from a fixed set of classifiers. The fixed nature of this set may limit the achievable accuracy. Existing literature (Hardt et al., 2016; Xian et al., 2023) derives fair predictor from a pre-trained score function may lead to a more optimal model. We will explore the score-based approach in FL in future work.

Acknowledgments

The authors acknowledge the partial financial support of the Lucy Family Institute for Data and Science and the National Science Foundation - grant CNS-2228092.

References

  • Abadi et al. (2015) Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mané, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viégas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke, M., Yu, Y., and Zheng, X. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015. URL http://tensorflow.org/. Software available from tensorflow.org.
  • Abay et al. (2020) Abay, A., Zhou, Y., Baracaldo, N., Rajamoni, S., Chuba, E., and Ludwig, H. Mitigating bias in federated learning. arXiv preprint arXiv:2012.02447, 2020.
  • Antunes et al. (2022) Antunes, R. S., André da Costa, C., Küderle, A., Yari, I. A., and Eskofier, B. Federated learning for healthcare: Systematic review and architecture proposal. ACM Transactions on Intelligent Systems and Technology (TIST), 13(4):1–23, 2022.
  • Asuncion & Newman (2007) Asuncion, A. and Newman, D. Uci machine learning repository, 2007.
  • Brisimi et al. (2018) Brisimi, T. S., Chen, R., Mela, T., Olshevsky, A., Paschalidis, I. C., and Shi, W. Federated learning of predictive models from federated electronic health records. International journal of medical informatics, 112:59–67, 2018.
  • Chu et al. (2021) Chu, L., Wang, L., Dong, Y., Pei, J., Zhou, Z., and Zhang, Y. Fedfair: Training fair models in cross-silo federated learning. arXiv preprint arXiv:2109.05662, 2021.
  • Chzhen et al. (2019) Chzhen, E., Denis, C., Hebiri, M., Oneto, L., and Pontil, M. Leveraging labeled and unlabeled data for consistent fair binary classification. Advances in Neural Information Processing Systems, 32, 2019.
  • Denis et al. (2021) Denis, C., Elie, R., Hebiri, M., and Hu, F. Fairness guarantee in multi-class classification. arXiv preprint arXiv:2109.13642, 2021.
  • Du et al. (2021) Du, W., Xu, D., Wu, X., and Tong, H. Fairness-aware agnostic federated learning. In Proceedings of the 2021 SIAM International Conference on Data Mining (SDM), pp.  181–189. SIAM, 2021.
  • Dwork et al. (2012) Dwork, C., Hardt, M., Pitassi, T., Reingold, O., and Zemel, R. Fairness through awareness. In Proceedings of the 3rd innovations in theoretical computer science conference, pp.  214–226, 2012.
  • Ezzeldin et al. (2023) Ezzeldin, Y. H., Yan, S., He, C., Ferrara, E., and Avestimehr, A. S. Fairfed: Enabling group fairness in federated learning. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 37, pp.  7494–7502, 2023.
  • Fish et al. (2016) Fish, B., Kun, J., and Lelkes, Á. D. A confidence-based approach for balancing fairness and accuracy. In Proceedings of the 2016 SIAM international conference on data mining, pp.  144–152. SIAM, 2016.
  • Goldman & Tucker (1957) Goldman, A. J. and Tucker, A. W. 2. Polyhedral Convex Cones, pp.  19–40. Princeton University Press, Princeton, 1957. ISBN 9781400881987. doi: doi:10.1515/9781400881987-003. URL https://doi.org/10.1515/9781400881987-003.
  • Gross (2007) Gross, C. Community perspectives of wind energy in australia: The application of a justice and community fairness framework to increase social acceptance. Energy policy, 35(5):2727–2736, 2007.
  • Gross (2008) Gross, C. A measure of fairness: An investigative framework to explore perceptions of fairness and justice in a real-life social conflict. Human Ecology Review, 15(2):130–140, 2008. ISSN 10744827, 22040919. URL http://www.jstor.org/stable/24707597.
  • Hardt et al. (2016) Hardt, M., Price, E., and Srebro, N. Equality of opportunity in supervised learning. Advances in neural information processing systems, 29, 2016.
  • Jiang et al. (2020) Jiang, J. C., Kantarci, B., Oktug, S., and Soyata, T. Federated learning in smart city sensing: Challenges and opportunities. Sensors, 20(21):6230, 2020.
  • Kairouz et al. (2021) Kairouz, P., McMahan, H. B., Avent, B., Bellet, A., Bennis, M., Bhagoji, A. N., Bonawitz, K., Charles, Z., Cormode, G., Cummings, R., et al. Advances and open problems in federated learning. Foundations and Trends® in Machine Learning, 14(1–2):1–210, 2021.
  • Li et al. (2019) Li, T., Sanjabi, M., Beirami, A., and Smith, V. Fair resource allocation in federated learning. arXiv preprint arXiv:1905.10497, 2019.
  • Li et al. (2020) Li, T., Sahu, A. K., Zaheer, M., Sanjabi, M., Talwalkar, A., and Smith, V. Federated optimization in heterogeneous networks. Proceedings of Machine learning and systems, 2:429–450, 2020.
  • Lyu et al. (2020) Lyu, L., Xu, X., Wang, Q., and Yu, H. Collaborative fairness in federated learning. Federated Learning: Privacy and Incentive, pp.  189–204, 2020.
  • McMahan et al. (2017) McMahan, B., Moore, E., Ramage, D., Hampson, S., and y Arcas, B. A. Communication-efficient learning of deep networks from decentralized data. In Artificial intelligence and statistics, pp.  1273–1282. PMLR, 2017.
  • Menon & Williamson (2017) Menon, A. K. and Williamson, R. C. The cost of fairness in classification. arXiv preprint arXiv:1705.09055, 2017.
  • Mohri et al. (2019) Mohri, M., Sivek, G., and Suresh, A. T. Agnostic federated learning. In International Conference on Machine Learning, pp.  4615–4625. PMLR, 2019.
  • Nguyen et al. (2022) Nguyen, D. C., Pham, Q.-V., Pathirana, P. N., Ding, M., Seneviratne, A., Lin, Z., Dobre, O., and Hwang, W.-J. Federated learning for smart healthcare: A survey. ACM Computing Surveys (CSUR), 55(3):1–37, 2022.
  • Pandya et al. (2023) Pandya, S., Srivastava, G., Jhaveri, R., Babu, M. R., Bhattacharya, S., Maddikunta, P. K. R., Mastorakis, S., Piran, M. J., and Gadekallu, T. R. Federated learning for smart cities: A comprehensive survey. Sustainable Energy Technologies and Assessments, 55:102987, 2023.
  • Parsa-Parsi (2017) Parsa-Parsi, R. W. The Revised Declaration of Geneva: A Modern-Day Physician’s Pledge. JAMA, 318(20):1971–1972, 11 2017. ISSN 0098-7484. doi: 10.1001/jama.2017.16230. URL https://doi.org/10.1001/jama.2017.16230.
  • Peck (1975) Peck, C. J. Equal employment opportunity commission: Developments in the administrative process 1965-1975. Wash. L. Rev., 51:831, 1975.
  • Pleiss et al. (2017) Pleiss, G., Raghavan, M., Wu, F., Kleinberg, J., and Weinberger, K. Q. On fairness and calibration. Advances in neural information processing systems, 30, 2017.
  • Qolomany et al. (2020) Qolomany, B., Ahmad, K., Al-Fuqaha, A., and Qadir, J. Particle swarm optimized federated learning for industrial iot and smart city services. In GLOBECOM 2020-2020 IEEE Global Communications Conference, pp.  1–6. IEEE, 2020.
  • Rieke et al. (2020) Rieke, N., Hancox, J., Li, W., Milletari, F., Roth, H. R., Albarqouni, S., Bakas, S., Galtier, M. N., Landman, B. A., Maier-Hein, K., et al. The future of digital health with federated learning. NPJ digital medicine, 3(1):119, 2020.
  • Rodríguez-Gálvez et al. (2021) Rodríguez-Gálvez, B., Granqvist, F., van Dalen, R., and Seigel, M. Enforcing fairness in private federated learning via the modified method of differential multipliers. arXiv preprint arXiv:2109.08604, 2021.
  • Smith et al. (2018) Smith, V., Forte, S., Ma, C., Takáč, M., Jordan, M. I., and Jaggi, M. Cocoa: A general framework for communication-efficient distributed optimization. Journal of Machine Learning Research, 18(230):1–49, 2018.
  • Strack et al. (2014) Strack, B., DeShazo, J. P., Gennings, C., Olmo, J. L., Ventura, S., Cios, K. J., Clore, J. N., et al. Impact of hba1c measurement on hospital readmission rates: analysis of 70,000 clinical database patient records. BioMed research international, 2014, 2014.
  • Tschandl et al. (2018) Tschandl, P., Rosendahl, C., and Kittler, H. The ham10000 dataset, a large collection of multi-source dermatoscopic images of common pigmented skin lesions. Scientific Data, 5(1):180161, 2018. ISSN 2052-4463. doi: 10.1038/sdata.2018.161. URL https://doi.org/10.1038/sdata.2018.161.
  • Xian et al. (2023) Xian, R., Yin, L., and Zhao, H. Fair and optimal classification via post-processing. In International Conference on Machine Learning, pp.  37977–38012. PMLR, 2023.
  • Yue et al. (2023) Yue, X., Nouiehed, M., and Al Kontar, R. Gifair-fl: A framework for group and individual fairness in federated learning. INFORMS Journal on Data Science, 2(1):10–23, 2023.
  • Zafar et al. (2017) Zafar, M. B., Valera, I., Rogriguez, M. G., and Gummadi, K. P. Fairness constraints: Mechanisms for fair classification. In Artificial intelligence and statistics, pp.  962–970. PMLR, 2017.
  • Zeng et al. (2022) Zeng, X., Dobriban, E., and Cheng, G. Bayes-optimal classifiers under group fairness. arXiv preprint arXiv:2202.09724, 2022.
  • Zhao & Gordon (2022) Zhao, H. and Gordon, G. J. Inherent tradeoffs in learning fair representations. The Journal of Machine Learning Research, 23(1):2527–2552, 2022.
  • Zheng et al. (2022) Zheng, Z., Zhou, Y., Sun, Y., Wang, Z., Liu, B., and Li, K. Applications of federated learning in smart cities: recent advances, taxonomy, and open challenges. Connection Science, 34(1):1–28, 2022.

Appendix A Global Fairness and Local Fairness are not Equivalent.

As stated in Remark 2.3, ensuring fairness in each local distribution does not guarantee global fairness, as local fairness and global fairness are not equivalent.

The local fairness with respect to Equal Opportunity (EO) over each local distribution in FL is defined as:

c𝒞,Pr(Y^=1|Y=1,A=0,C=c)=Pr(Y^=1|Y=1,A=1,C=c)\displaystyle\forall c\in\mathcal{C},{\rm Pr}(\widehat{Y}=1|Y=1,A=0,C=c)={\rm Pr% }(\widehat{Y}=1|Y=1,A=1,C=c)∀ italic_c ∈ caligraphic_C , roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 , italic_C = italic_c ) = roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 , italic_C = italic_c ) (48)

Our paper studies group fairness over the global distribution, i.e.,

Pr(Y^=1|Y=1,A=0)=Pr(Y^=1|Y=1,A=1)\displaystyle{\rm Pr}(\widehat{Y}=1|Y=1,A=0)={\rm Pr}(\widehat{Y}=1|Y=1,A=1)roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 ) = roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 ) (49)

It is obvious that if the model is fair over the global distribution, it is not necessarily fair over the local distributions, i.e., equation (49) does not imply equation (48). Conversely, we cannot ensure global fairness by simply training locally fair models, i.e., equation (48) does not imply equation (49). The reason is as follows:

Assume we have a model, Y^:𝒳×𝒜×𝒞𝒴:^𝑌𝒳𝒜𝒞𝒴\widehat{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal{Y}over^ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y, that is fair within each community, i.e., satisfying equation (48). The global Equal Opportunity Difference (EOD) for the model Y^^𝑌\widehat{Y}over^ start_ARG italic_Y end_ARG is:

EOD::EODabsent\displaystyle{\rm EOD}:roman_EOD : =\displaystyle== Pr(Y^=1|Y=1,A=0)Pr(Y^=1|Y=1,A=1)\displaystyle{\rm Pr}(\widehat{Y}=1|Y=1,A=0)-{\rm Pr}(\widehat{Y}=1|Y=1,A=1)roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 )
=\displaystyle== c𝒞[Pr(Y^=1,C=c|Y=1,A=0)Pr(Y^=1,C=c|Y=1,A=1)]\displaystyle\sum_{c\in\mathcal{C}}\left[{\rm Pr}(\widehat{Y}=1,C=c|Y=1,A=0)-{% \rm Pr}(\widehat{Y}=1,C=c|Y=1,A=1)\right]∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT [ roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 , italic_C = italic_c | italic_Y = 1 , italic_A = 0 ) - roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 , italic_C = italic_c | italic_Y = 1 , italic_A = 1 ) ]
=\displaystyle== c𝒞[Pr(Y^=1|Y=1,A=0,C=c)Pr(C=c|Y=1,A=0)\displaystyle\sum_{c\in\mathcal{C}}\left[{\rm Pr}(\widehat{Y}=1|Y=1,A=0,C=c)% \cdot{\rm Pr}(C=c|Y=1,A=0)\right.∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT [ roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 , italic_C = italic_c ) ⋅ roman_Pr ( italic_C = italic_c | italic_Y = 1 , italic_A = 0 )
Pr(Y^=1|Y=1,A=1,C=c)Pr(C=c|Y=1,A=1)]\displaystyle\quad\quad\left.-{\rm Pr}(\widehat{Y}=1|Y=1,A=1,C=c)\cdot{\rm Pr}% (C=c|Y=1,A=1)\right]- roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 , italic_C = italic_c ) ⋅ roman_Pr ( italic_C = italic_c | italic_Y = 1 , italic_A = 1 ) ]

Given that the model, Y^^𝑌\widehat{Y}over^ start_ARG italic_Y end_ARG satisfies EO in (48), we can substitute Pr(Y^=1|Y=1,A=1,C=c){\rm Pr}(\widehat{Y}=1|Y=1,A=1,C=c)roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 , italic_C = italic_c ) with Pr(Y^=1|Y=1,A=0,C=c){\rm Pr}(\widehat{Y}=1|Y=1,A=0,C=c)roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 , italic_C = italic_c ):

EODEOD\displaystyle{\rm EOD}roman_EOD =\displaystyle== c𝒞[(Pr(C=c|Y=1,A=0)Pr(C=c|Y=1,A=1))Pr(Y^=1|Y=1,A=0,C=c)]\displaystyle\sum_{c\in\mathcal{C}}\left[\left({\rm Pr}(C=c|Y=1,A=0)-{\rm Pr}(% C=c|Y=1,A=1)\right)\cdot{\rm Pr}(\widehat{Y}=1|Y=1,A=0,C=c)\right]∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT [ ( roman_Pr ( italic_C = italic_c | italic_Y = 1 , italic_A = 0 ) - roman_Pr ( italic_C = italic_c | italic_Y = 1 , italic_A = 1 ) ) ⋅ roman_Pr ( over^ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 , italic_C = italic_c ) ]

The global EOD is not necessarily zero, i.e., the model is not fair over the global distribution. The global EOD is zero when the community label C𝐶Citalic_C and the sensitive attribute A𝐴Aitalic_A are conditionally independent, given Y=1𝑌1Y=1italic_Y = 1. However, in most real-world scenarios of interest to us, the sensitive attribute, for example, ”race” and the community label indicates which geographic ”neighborhood” the household is located in are highly correlated due to a history of racial segregation. So we cannot, in general, achieve global fairness simply by enforcing local fairness at the client level.

Appendix B The LP for Multi-Class Classification.

As mentioned in Remark 3.3, our approach can be extended to multi-class problems, where x𝒳𝑥𝒳x\in\mathcal{X}italic_x ∈ caligraphic_X, a𝒜={0,1}𝑎𝒜01a\in\mathcal{A}=\{0,1\}italic_a ∈ caligraphic_A = { 0 , 1 }, c𝒞={1,2,,K}𝑐𝒞12𝐾c\in\mathcal{C}=\{1,2,\ldots,K\}italic_c ∈ caligraphic_C = { 1 , 2 , … , italic_K }, and y𝒴={0,1,,N}𝑦𝒴01𝑁y\in\mathcal{Y}=\{0,1,\ldots,N\}italic_y ∈ caligraphic_Y = { 0 , 1 , … , italic_N }.

In multi-class problems, the variables we use to characterize the fair outcome predictor Y~~𝑌\tilde{Y}over~ start_ARG italic_Y end_ARG are,

zkjacsubscriptsuperscript𝑧𝑎𝑐𝑘𝑗\displaystyle z^{ac}_{kj}italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT =\displaystyle== Pr{Y~=k,|Y^=j,A=a,C=c},k𝒴,j𝒴,a𝒜,c𝒞\displaystyle{\rm Pr}\left\{\widetilde{Y}=k,|\,\widehat{Y}=j,A=a,C=c\right\},% \forall k\in\mathcal{Y},j\in\mathcal{Y},a\in\mathcal{A},c\in\mathcal{C}roman_Pr { over~ start_ARG italic_Y end_ARG = italic_k , | over^ start_ARG italic_Y end_ARG = italic_j , italic_A = italic_a , italic_C = italic_c } , ∀ italic_k ∈ caligraphic_Y , italic_j ∈ caligraphic_Y , italic_a ∈ caligraphic_A , italic_c ∈ caligraphic_C

We set α=Pr(Y=1,A=0)𝛼Prformulae-sequence𝑌1𝐴0\alpha={\rm Pr}(Y=1,A=0)italic_α = roman_Pr ( italic_Y = 1 , italic_A = 0 ), β=Pr(Y=1,A=1),pc=Pr(C=c)formulae-sequence𝛽Prformulae-sequence𝑌1𝐴1subscript𝑝𝑐PrCc\beta={\rm Pr}(Y=1,A=1),p_{c}=\rm{Pr}(C=c)italic_β = roman_Pr ( italic_Y = 1 , italic_A = 1 ) , italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = roman_Pr ( roman_C = roman_c ) and use the the joint statistics over Y^,Y,A,C^𝑌𝑌𝐴𝐶\hat{Y},Y,A,Cover^ start_ARG italic_Y end_ARG , italic_Y , italic_A , italic_C: pkjac=Pr(Y=k,Y^=j,A=a,C=c)superscriptsubscript𝑝𝑘𝑗𝑎𝑐Prformulae-sequence𝑌𝑘formulae-sequence^𝑌𝑗formulae-sequence𝐴𝑎𝐶𝑐p_{kj}^{ac}={\rm Pr}(Y=k,\hat{Y}=j,A=a,C=c)italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT = roman_Pr ( italic_Y = italic_k , over^ start_ARG italic_Y end_ARG = italic_j , italic_A = italic_a , italic_C = italic_c ) to construct the linear program.

The LP of multi-class problem is:

maximize:c𝒞a𝒜j𝒴k𝒴pkjaczkjacwith respect to:zkjac,k𝒴,j𝒴,a𝒜,c𝒞,subject to:c𝒞j𝒴p1j0cαz1j0cc𝒞j𝒴p1j1cβz1j1c=0c𝒞,a𝒜j𝒴k𝒴pkjacpczkjac1Kc𝒞a𝒜j𝒴k𝒴pkjacpczkjac=0c𝒞,a𝒜,j𝒴,k𝒴zkjac=1k𝒴,j𝒴,a𝒜,c𝒞,0zkjac1maximize:subscript𝑐𝒞subscript𝑎𝒜subscript𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscriptsuperscript𝑧𝑎𝑐𝑘𝑗with respect to:formulae-sequencesuperscriptsubscript𝑧𝑘𝑗𝑎𝑐formulae-sequencefor-all𝑘𝒴formulae-sequence𝑗𝒴formulae-sequence𝑎𝒜𝑐𝒞subject to:subscript𝑐𝒞subscript𝑗𝒴superscriptsubscript𝑝1𝑗0𝑐𝛼superscriptsubscript𝑧1𝑗0𝑐subscript𝑐𝒞subscript𝑗𝒴superscriptsubscript𝑝1𝑗1𝑐𝛽superscriptsubscript𝑧1𝑗1𝑐0missing-subexpressionformulae-sequencefor-all𝑐𝒞subscript𝑎𝒜subscript𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscript𝑝𝑐superscriptsubscript𝑧𝑘𝑗𝑎𝑐1𝐾subscript𝑐𝒞subscript𝑎𝒜subscript𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscript𝑝𝑐superscriptsubscript𝑧𝑘𝑗𝑎𝑐0missing-subexpressionformulae-sequencefor-all𝑐𝒞formulae-sequence𝑎𝒜formulae-sequence𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑧𝑘𝑗𝑎𝑐1missing-subexpressionformulae-sequencefor-all𝑘𝒴formulae-sequence𝑗𝒴formulae-sequence𝑎𝒜formulae-sequence𝑐𝒞0superscriptsubscript𝑧𝑘𝑗𝑎𝑐1\displaystyle\begin{array}[]{ll}\mbox{maximize:}&\sum\limits_{c\in\mathcal{C}}% \sum\limits_{a\in\mathcal{A}}\sum\limits_{j\in\mathcal{Y}}\sum\limits_{k\in% \mathcal{Y}}p_{kj}^{ac}z^{ac}_{kj}\\[14.22636pt] \mbox{with respect to:}&z_{kj}^{ac}\in\mathbb{R},\forall k\in\mathcal{Y},j\in% \mathcal{Y},a\in\mathcal{A},c\in\mathcal{C},\\[8.5359pt] \mbox{subject to:}&\sum\limits_{c\in\mathcal{C}}\sum\limits_{j\in\mathcal{Y}}% \frac{p_{1j}^{0c}}{\alpha}\cdot z_{1j}^{0c}-\sum\limits_{c\in\mathcal{C}}\sum% \limits_{j\in\mathcal{Y}}\frac{p_{1j}^{1c}}{\beta}z_{1j}^{1c}=0\\[14.22636pt] &\forall c\in\mathcal{C},\sum\limits_{a\in\mathcal{A}}\sum\limits_{j\in% \mathcal{Y}}\sum\limits_{k\in\mathcal{Y}}\frac{p_{kj}^{ac}}{p_{c}}\cdot z_{kj}% ^{ac}-\frac{1}{K}\sum\limits_{c\in\mathcal{C}}\sum\limits_{a\in\mathcal{A}}% \sum\limits_{j\in\mathcal{Y}}\sum\limits_{k\in\mathcal{Y}}\frac{p_{kj}^{ac}}{p% _{c}}\cdot z_{kj}^{ac}=0\\[14.22636pt] &\forall c\in\mathcal{C},a\in\mathcal{A},j\in\mathcal{Y},\sum\limits_{k\in% \mathcal{Y}}z_{kj}^{ac}=1\\[14.22636pt] &\forall k\in\mathcal{Y},j\in\mathcal{Y},a\in\mathcal{A},c\in\mathcal{C},0\leq z% _{kj}^{ac}\leq 1\par\end{array}start_ARRAY start_ROW start_CELL maximize: end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL with respect to: end_CELL start_CELL italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ∈ blackboard_R , ∀ italic_k ∈ caligraphic_Y , italic_j ∈ caligraphic_Y , italic_a ∈ caligraphic_A , italic_c ∈ caligraphic_C , end_CELL end_ROW start_ROW start_CELL subject to: end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG ⋅ italic_z start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG italic_z start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT = 0 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_c ∈ caligraphic_C , ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ⋅ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT - divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ⋅ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT = 0 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_c ∈ caligraphic_C , italic_a ∈ caligraphic_A , italic_j ∈ caligraphic_Y , ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT = 1 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_k ∈ caligraphic_Y , italic_j ∈ caligraphic_Y , italic_a ∈ caligraphic_A , italic_c ∈ caligraphic_C , 0 ≤ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ≤ 1 end_CELL end_ROW end_ARRAY

Then, the outcome predictor: Y~:𝒳×𝒜×𝒞𝒴:~𝑌𝒳𝒜𝒞𝒴\widetilde{Y}:\mathcal{X}\times\mathcal{A}\times\mathcal{C}\rightarrow\mathcal% {Y}over~ start_ARG italic_Y end_ARG : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y that takes values:

If Y^(x,a,c)=j,A=a,C=c:Y~(x,a,c)=kwith probabilityzkjac:formulae-sequenceIf ^𝑌𝑥𝑎𝑐𝑗formulae-sequence𝐴𝑎𝐶𝑐~𝑌𝑥𝑎𝑐𝑘with probabilitysubscriptsuperscript𝑧𝑎𝑐𝑘𝑗\begin{split}&\text{If }\widehat{Y}(x,a,c)=j,A=a,C=c:\widetilde{Y}(x,a,c)=k% \quad\text{with probability}\quad z^{ac}_{kj}\end{split}start_ROW start_CELL end_CELL start_CELL If over^ start_ARG italic_Y end_ARG ( italic_x , italic_a , italic_c ) = italic_j , italic_A = italic_a , italic_C = italic_c : over~ start_ARG italic_Y end_ARG ( italic_x , italic_a , italic_c ) = italic_k with probability italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT end_CELL end_ROW (51)

is a fair outcome predictor.

Proof: We first show that the outcome predictor in (51) satisfies Equal Opportunity:

Pr(Y~=1|Y=1,A=a){\rm}Pr(\tilde{Y}=1|Y=1,A=a)italic_P italic_r ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = italic_a ) can be expressed as:

Pr(Y~=1|Y=1,A=a)=c𝒞Pr(Y~=1,Y=1,C=c,A=a)Pr(Y=1,A=a)=c𝒞j𝒴Pr(Y^=1,Y=1,C=c,A=a)Pr(Y=1,A=a)Pr(Y~=1|Y^=j,A=a,C=c)=c𝒞j𝒴p1jacPr(Y=1,A=a)z1jac\begin{split}{\rm Pr}(\widetilde{Y}=1|Y=1,A=a)&=\sum_{c\in\mathcal{C}}\frac{{% \rm Pr}(\widetilde{Y}=1,Y=1,C=c,A=a)}{{\rm Pr}(Y=1,A=a)}\\ &=\sum_{c\in\mathcal{C}}\sum_{j\in\mathcal{Y}}\frac{{\rm Pr(\widehat{Y}}=1,Y=1% ,C=c,A=a)}{{\rm Pr}(Y=1,A=a)}\cdot{\rm Pr}(\widetilde{Y}=1|\widehat{Y}=j,A=a,C% =c)\\ &=\sum_{c\in\mathcal{C}}\sum_{j\in\mathcal{Y}}\frac{p_{1j}^{ac}}{{\rm Pr}(Y=1,% A=a)}z_{1j}^{ac}\end{split}start_ROW start_CELL roman_Pr ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = italic_a ) end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT divide start_ARG roman_Pr ( over~ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_C = italic_c , italic_A = italic_a ) end_ARG start_ARG roman_Pr ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG roman_Pr ( over^ start_ARG roman_Y end_ARG = 1 , italic_Y = 1 , italic_C = italic_c , italic_A = italic_a ) end_ARG start_ARG roman_Pr ( italic_Y = 1 , italic_A = italic_a ) end_ARG ⋅ roman_Pr ( over~ start_ARG italic_Y end_ARG = 1 | over^ start_ARG italic_Y end_ARG = italic_j , italic_A = italic_a , italic_C = italic_c ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG roman_Pr ( italic_Y = 1 , italic_A = italic_a ) end_ARG italic_z start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW (52)

Thus, the first equation of the LP is:

0=c𝒞j𝒴p1j0cαz1j0cc𝒞j𝒴p1j1cβz1j1c=Pr(Y~=1|Y=1,A=0)Pr(Y~=1|Y=1,A=1)\begin{split}0&=\sum_{c\in\mathcal{C}}\sum_{j\in\mathcal{Y}}\frac{p_{1j}^{0c}}% {\alpha}z_{1j}^{0c}-\sum_{c\in\mathcal{C}}\sum_{j\in\mathcal{Y}}\frac{p_{1j}^{% 1c}}{\beta}z_{1j}^{1c}\\ &={\rm Pr}(\widetilde{Y}=1|Y=1,A=0)-{\rm Pr}(\widetilde{Y}=1|Y=1,A=1)\end{split}start_ROW start_CELL 0 end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG italic_z start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG italic_z start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = roman_Pr ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr ( over~ start_ARG italic_Y end_ARG = 1 | italic_Y = 1 , italic_A = 1 ) end_CELL end_ROW (53)

which indicates Equal Opportunity.

We then show that the fair outcome predictor satisfies Community Fairness:

The accuracy of the predictor of community c𝑐citalic_c is Pr(Y~=Y|C=c)Pr~𝑌conditional𝑌𝐶𝑐{\rm Pr}(\widetilde{Y}=Y|C=c)roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) and can be written as:

Pr(Y~=Y|C=c)=a𝒜k𝒴Pr(Y~=k,Y=k,A=a|C=c)=a𝒜k𝒴Pr(Y~=k,Y=k,A=a,C=c)Pr(C=c)=a𝒜k𝒴j𝒴Pr(Y^=k,Y=k,A=a,C=c)Pr(C=c)Pr(Y~=k|Y^=j,A=a,C=c)=a𝒜k𝒴j𝒴pkjacpczkjac\begin{split}{\rm Pr}(\widetilde{Y}=Y|C=c)&=\sum_{a\in\mathcal{A}}\sum_{k\in% \mathcal{Y}}{\rm Pr}(\widetilde{Y}=k,Y=k,A=a|C=c)\\ &=\sum_{a\in\mathcal{A}}\sum_{k\in\mathcal{Y}}\frac{{\rm Pr}(\widetilde{Y}=k,Y% =k,A=a,C=c)}{{\rm Pr}(C=c)}\\ &=\sum_{a\in\mathcal{A}}\sum_{k\in\mathcal{Y}}\sum_{j\in\mathcal{Y}}\frac{{\rm Pr% }(\widehat{Y}=k,Y=k,A=a,C=c)}{{\rm Pr}(C=c)}\cdot{\rm Pr}(\widetilde{Y}=k|% \widehat{Y}=j,A=a,C=c)\\ &=\sum_{a\in\mathcal{A}}\sum_{k\in\mathcal{Y}}\sum_{j\in\mathcal{Y}}\frac{p_{% kj}^{ac}}{p_{c}}\cdot z_{kj}^{ac}\end{split}start_ROW start_CELL roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_k , italic_Y = italic_k , italic_A = italic_a | italic_C = italic_c ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_k , italic_Y = italic_k , italic_A = italic_a , italic_C = italic_c ) end_ARG start_ARG roman_Pr ( italic_C = italic_c ) end_ARG end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG roman_Pr ( over^ start_ARG italic_Y end_ARG = italic_k , italic_Y = italic_k , italic_A = italic_a , italic_C = italic_c ) end_ARG start_ARG roman_Pr ( italic_C = italic_c ) end_ARG ⋅ roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_k | over^ start_ARG italic_Y end_ARG = italic_j , italic_A = italic_a , italic_C = italic_c ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ⋅ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW (54)

Thus, the next equation of the LP is:

c𝒞,0=a𝒜k𝒴j𝒴pkjacpczkjac1Kc𝒞a𝒜k𝒴j𝒴pkjacpczkjac=Pr(Y~=Y|C=c)1Kc𝒞Pr(Y~=Y|C=c)formulae-sequencefor-all𝑐𝒞0subscript𝑎𝒜subscript𝑘𝒴subscript𝑗𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscript𝑝𝑐superscriptsubscript𝑧𝑘𝑗𝑎𝑐1𝐾subscript𝑐𝒞subscript𝑎𝒜subscript𝑘𝒴subscript𝑗𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscript𝑝𝑐superscriptsubscript𝑧𝑘𝑗𝑎𝑐Pr~𝑌conditional𝑌𝐶𝑐1𝐾subscript𝑐𝒞Pr~𝑌conditional𝑌𝐶𝑐\begin{split}\forall c\in\mathcal{C},0&=\sum_{a\in\mathcal{A}}\sum_{k\in% \mathcal{Y}}\sum_{j\in\mathcal{Y}}\frac{p_{kj}^{ac}}{p_{c}}\cdot z_{kj}^{ac}-% \frac{1}{K}\sum_{c\in\mathcal{C}}\sum_{a\in\mathcal{A}}\sum_{k\in\mathcal{Y}}% \sum_{j\in\mathcal{Y}}\frac{p_{kj}^{ac}}{p_{c}}\cdot z_{kj}^{ac}\\ &={\rm Pr}(\widetilde{Y}=Y|C=c)-\frac{1}{K}\sum_{c\in\mathcal{C}}{\rm Pr}(% \widetilde{Y}=Y|C=c)\end{split}start_ROW start_CELL ∀ italic_c ∈ caligraphic_C , 0 end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ⋅ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT - divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT divide start_ARG italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ⋅ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) - divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) end_CELL end_ROW (55)

which indicates community fairness.

The objective function we maximize is:

c𝒞a𝒜j𝒴k𝒴pkjaczkjac=c𝒞Pr(Y~=Y|C=c)pc=c𝒞Pr(Y~=Y|C=c)Pr(C=c)=Pr(Y~=Y)subscript𝑐𝒞subscript𝑎𝒜subscript𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑝𝑘𝑗𝑎𝑐subscriptsuperscript𝑧𝑎𝑐𝑘𝑗subscript𝑐𝒞Pr~𝑌conditional𝑌𝐶𝑐subscript𝑝𝑐subscript𝑐𝒞Pr~𝑌conditional𝑌𝐶𝑐Pr𝐶𝑐Pr~𝑌𝑌\begin{split}\sum\limits_{c\in\mathcal{C}}\sum\limits_{a\in\mathcal{A}}\sum% \limits_{j\in\mathcal{Y}}\sum\limits_{k\in\mathcal{Y}}p_{kj}^{ac}z^{ac}_{kj}&=% \sum\limits_{c\in\mathcal{C}}{\rm Pr}(\widetilde{Y}=Y|C=c)\cdot p_{c}\\ &=\sum\limits_{c\in\mathcal{C}}{\rm Pr}(\widetilde{Y}=Y|C=c)\cdot{\rm Pr}(C=c)% \\ &={\rm Pr}(\widetilde{Y}=Y)\end{split}start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_a ∈ caligraphic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_Y end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) ⋅ italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y | italic_C = italic_c ) ⋅ roman_Pr ( italic_C = italic_c ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = roman_Pr ( over~ start_ARG italic_Y end_ARG = italic_Y ) end_CELL end_ROW (56)

which is the accuracy over the global distribution.

Since the variable zkjacsubscriptsuperscript𝑧𝑎𝑐𝑘𝑗z^{ac}_{kj}italic_z start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT represents probability, we have:

c𝒞,a𝒜,j𝒴,k𝒴zkjac=1k𝒴,j𝒴,a𝒜,c𝒞,0zkjac1formulae-sequenceformulae-sequencefor-all𝑐𝒞formulae-sequence𝑎𝒜formulae-sequence𝑗𝒴subscript𝑘𝒴superscriptsubscript𝑧𝑘𝑗𝑎𝑐1for-all𝑘𝒴formulae-sequence𝑗𝒴formulae-sequence𝑎𝒜formulae-sequence𝑐𝒞0superscriptsubscript𝑧𝑘𝑗𝑎𝑐1\begin{split}&\forall c\in\mathcal{C},a\in\mathcal{A},j\in\mathcal{Y},\sum% \limits_{k\in\mathcal{Y}}z_{kj}^{ac}=1\\ &\forall k\in\mathcal{Y},j\in\mathcal{Y},a\in\mathcal{A},c\in\mathcal{C},0\leq z% _{kj}^{ac}\leq 1\end{split}start_ROW start_CELL end_CELL start_CELL ∀ italic_c ∈ caligraphic_C , italic_a ∈ caligraphic_A , italic_j ∈ caligraphic_Y , ∑ start_POSTSUBSCRIPT italic_k ∈ caligraphic_Y end_POSTSUBSCRIPT italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT = 1 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ∀ italic_k ∈ caligraphic_Y , italic_j ∈ caligraphic_Y , italic_a ∈ caligraphic_A , italic_c ∈ caligraphic_C , 0 ≤ italic_z start_POSTSUBSCRIPT italic_k italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ≤ 1 end_CELL end_ROW (57)

which are the last two equations of the constraints.

Thus, the outcome predictor is a fair outcome predictor. \diamondsuit

Appendix C Theoretical Proofs

C.1 Proof of Proposition 3.2

We first show that the outcome predictor Y~Y^,𝐳:𝒳×𝒜×𝒞𝒴:subscript~𝑌^𝑌𝐳𝒳𝒜𝒞𝒴\widetilde{Y}_{\widehat{Y},\mathbf{z}}:\mathcal{X}\times\mathcal{A}\times% \mathcal{C}\rightarrow\mathcal{Y}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y satisfies equal opportunity:

The probability PrD(Y~Y^,𝐳=1|Y=1,A=a){\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=a)roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = italic_a ) can be extended as:

PrD(Y~Y^,𝐳=1|Y=1,A=a)=PrD(Y~Y^,𝐳=1,Y=1,A=a)PrD(Y=1,A=a)=c=1KPrD(Y~Y^,𝐳=1,Y=1,A=a,C=c)PrD(Y=1,A=a)=c=1K(PrD(Y^=1,Y=1,A=a,C=c)PrD(Y~Y^,𝐳=Y^|Y^=1,A=a,C=c))PrD(Y=1,A=a)+c=1K(PrD(Y^=0,Y=1,A=a,C=c)PrD(Y~Y^,𝐳Y^|Y^=0,A=a,C=c))PrD(Y=1,A=a)=c=1K(PrD(Y^=1,Y=1,A=a,C=c)z1acPrD(Y=1,A=a)+c=1K(PrD(Y^=0,Y=1,A=a,C=c)(1z0ac)PrD(Y=1,A=a)=c=1KTPacz1acPrD(Y=1,A=a)+c=1KFNac(1z0ac)PrD(Y=1,A=a)\begin{split}&{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=a)\\ =&\frac{{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1,Y=1,A=a)}{{\rm Pr% }_{D}(Y=1,A=a)}\\ =&\frac{\sum_{c=1}^{K}{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1,Y=% 1,A=a,C=c)}{{\rm Pr}_{D}(Y=1,A=a)}\\ =&\frac{\sum_{c=1}^{K}({\rm Pr}_{D}(\widehat{Y}=1,Y=1,A=a,C=c)\cdot{\rm Pr}_{D% }(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=\widehat{Y}|\widehat{Y}=1,A=a,C=c))}{% {\rm Pr}_{D}(Y=1,A=a)}\\ +&\frac{\sum_{c=1}^{K}({\rm Pr}_{D}(\widehat{Y}=0,Y=1,A=a,C=c)\cdot{\rm Pr}_{D% }(\widetilde{Y}_{\widehat{Y},\mathbf{z}}\neq\widehat{Y}|\widehat{Y}=0,A=a,C=c)% )}{{\rm Pr}_{D}(Y=1,A=a)}\\ =&\frac{\sum_{c=1}^{K}({\rm Pr}_{D}(\widehat{Y}=1,Y=1,A=a,C=c)\cdot z_{1}^{ac}% }{{\rm Pr}_{D}(Y=1,A=a)}+\frac{\sum_{c=1}^{K}({\rm Pr}_{D}(\widehat{Y}=0,Y=1,A% =a,C=c)\cdot(1-z_{0}^{ac})}{{\rm Pr}_{D}(Y=1,A=a)}\\ =&\frac{\sum_{c=1}^{K}{\rm TP}^{ac}\cdot z_{1}^{ac}}{{\rm Pr}_{D}(Y=1,A=a)}+% \frac{\sum_{c=1}^{K}{\rm FN}^{ac}\cdot(1-z_{0}^{ac})}{{\rm Pr}_{D}(Y=1,A=a)}\\ \end{split}start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = italic_a ) end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 , italic_Y = 1 , italic_A = italic_a ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_c ) ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL + end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_c ) ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c ) ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_c ) ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = italic_a ) end_ARG end_CELL end_ROW (58)

We can now calculate the Equal opportunity Difference of the outcome predictor Y~Y^,𝐳subscript~𝑌^𝑌𝐳\widetilde{Y}_{\widehat{Y},\mathbf{z}}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT, which is defined as: PrD(Y~Y^,𝐳=1|Y=1,A=0)PrD(Y~Y^,𝐳=1|Y=1,A=1){\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=0)-{\rm Pr}_{D}(% \widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=1)roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 1 ):

PrD(Y~Y^,𝐳=1|Y=1,A=0)PrD(Y~Y^,𝐳=1|Y=1,A=1)=c=1KTP0cz10cPrD(Y=1,A=0)+c=1KFN0c(1z00c)PrD(Y=1,A=0)(c=1KTP1cz11cPrD(Y=1,A=1)+c=1KFN1c(1z01c)PrD(Y=1,A=1))=c=1KFN0cz00cα+c=1KTP0cz10cα+c=1KFN1cz01cβc=0KTP1cz11cβ+c=1KFN0cαc=1KFN1cβ\begin{split}&{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=0)-{% \rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=1)\\ =&\frac{\sum_{c=1}^{K}{\rm TP}^{0c}\cdot z_{1}^{0c}}{{\rm Pr}_{D}(Y=1,A=0)}+% \frac{\sum_{c=1}^{K}{\rm FN}^{0c}\cdot(1-z_{0}^{0c})}{{\rm Pr}_{D}(Y=1,A=0)}-(% \frac{\sum_{c=1}^{K}{\rm TP}^{1c}\cdot z_{1}^{1c}}{{\rm Pr}_{D}(Y=1,A=1)}+% \frac{\sum_{c=1}^{K}{\rm FN}^{1c}\cdot(1-z_{0}^{1c})}{{\rm Pr}_{D}(Y=1,A=1)})% \\ =&\frac{-\sum_{c=1}^{K}{\rm FN}^{0c}\cdot z_{0}^{0c}}{\alpha}+\frac{\sum_{c=1}% ^{K}{\rm TP}^{0c}\cdot z_{1}^{0c}}{\alpha}+\frac{\sum_{c=1}^{K}{\rm FN}^{1c}% \cdot z_{0}^{1c}}{\beta}-\frac{\sum_{c=0}^{K}{\rm TP}^{1c}\cdot z_{1}^{1c}}{% \beta}+\frac{\sum_{c=1}^{K}{\rm FN}^{0c}}{\alpha}-\frac{\sum_{c=1}^{K}{\rm FN}% ^{1c}}{\beta}\end{split}start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 1 ) end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 0 ) end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 0 ) end_ARG - ( divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 1 ) end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ) end_ARG start_ARG roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_Y = 1 , italic_A = 1 ) end_ARG ) end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG - ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG - divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG - divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL end_ROW (59)

The first linear equation of 𝐀𝐳=𝐛𝐀𝐳𝐛\mathbf{Az}=\mathbf{b}bold_Az = bold_b in (16) is:

0=c=1K𝐦cT𝐳ck=1K(FN1kβFN0kα)=c=0K[FN0cαTP0cαFN1cβTP1cβ]T[z00cz10cz01cz11c]c=1K(FN1cβFN0cα)=c=1KFN0cz00cα+c=1KTP0cz10cα+c=1KFN1cz01cβc=0KTP1cz11cβ+c=1KFN0cαc=1KFN1cβCombine the above with the Equal Opportunity Difference’s expression (59:PrD(Y~Y^,𝐳=1|Y=1,A=0)PrD(Y~Y^,𝐳=1|Y=1,A=1)=0\begin{split}0=&\sum_{c=1}^{K}\mathbf{m}_{c}^{T}\mathbf{z}_{c}-\sum_{k=1}^{K}% \left(\frac{{\rm FN}^{1k}}{\beta}-\frac{{\rm FN}^{0k}}{\alpha}\right)\\ =&\sum_{c=0}^{K}\left[\begin{array}[]{cccc}\frac{-{\rm FN}^{0c}}{\alpha}&\frac% {{\rm TP}^{0c}}{\alpha}&\frac{{\rm FN}^{1c}}{\beta}&\frac{-{\rm TP}^{1c}}{% \beta}\end{array}\right]^{T}\cdot\left[\begin{array}[]{cccc}z_{0}^{0c}\\ z_{1}^{0c}\\ z_{0}^{1c}\\ z_{1}^{1c}\end{array}\right]-\sum_{c=1}^{K}\left(\frac{{\rm FN}^{1c}}{\beta}-% \frac{{\rm FN}^{0c}}{\alpha}\right)\\ =&\frac{-\sum_{c=1}^{K}{\rm FN}^{0c}\cdot z_{0}^{0c}}{\alpha}+\frac{\sum_{c=1}% ^{K}{\rm TP}^{0c}\cdot z_{1}^{0c}}{\alpha}+\frac{\sum_{c=1}^{K}{\rm FN}^{1c}% \cdot z_{0}^{1c}}{\beta}-\frac{\sum_{c=0}^{K}{\rm TP}^{1c}\cdot z_{1}^{1c}}{% \beta}+\frac{\sum_{c=1}^{K}{\rm FN}^{0c}}{\alpha}-\frac{\sum_{c=1}^{K}{\rm FN}% ^{1c}}{\beta}\\ &\text{Combine the above with the {Equal Opportunity Difference}'s expression % (\ref{eq:equal_opportunity_difference}) }:\\ &{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=0)-{\rm Pr}_{D}(% \widetilde{Y}_{\widehat{Y},\mathbf{z}}=1|Y=1,A=1)=0\end{split}start_ROW start_CELL 0 = end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT bold_m start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( divide start_ARG roman_FN start_POSTSUPERSCRIPT 1 italic_k end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG - divide start_ARG roman_FN start_POSTSUPERSCRIPT 0 italic_k end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG ) end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT [ start_ARRAY start_ROW start_CELL divide start_ARG - roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_CELL start_CELL divide start_ARG roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG end_CELL start_CELL divide start_ARG roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL start_CELL divide start_ARG - roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL end_ROW end_ARRAY ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ [ start_ARRAY start_ROW start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_CELL start_CELL end_CELL start_CELL end_CELL start_CELL end_CELL end_ROW end_ARRAY ] - ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( divide start_ARG roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG - divide start_ARG roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG ) end_CELL end_ROW start_ROW start_CELL = end_CELL start_CELL divide start_ARG - ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG - divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG + divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_α end_ARG - divide start_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT end_ARG start_ARG italic_β end_ARG end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL Combine the above with the italic_Equal italic_Opportunity italic_Difference ’s expression ( ) : end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 0 ) - roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 | italic_Y = 1 , italic_A = 1 ) = 0 end_CELL end_ROW (60)

We can see from (60) the first linear equation leads a outcome predictor that satisfies equal opportunity.

Then, we show that the outcome predictor Y~Y^,𝐳:𝒳×𝒜×𝒞𝒴:subscript~𝑌^𝑌𝐳𝒳𝒜𝒞𝒴\widetilde{Y}_{\widehat{Y},\mathbf{z}}:\mathcal{X}\times\mathcal{A}\times% \mathcal{C}\rightarrow\mathcal{Y}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT : caligraphic_X × caligraphic_A × caligraphic_C → caligraphic_Y satisfies community fairness.

The condition for community fairness in Definition 2.4 is equivalent to:

k𝒞,Pr(Y~Y^,𝐳Y|C=k)=1Kc=1KPr(Y~Y^,𝐳Y|C=c)formulae-sequencefor-all𝑘𝒞Prsubscript~𝑌^𝑌𝐳conditional𝑌𝐶𝑘1𝐾superscriptsubscript𝑐1𝐾Prsubscript~𝑌^𝑌𝐳conditional𝑌𝐶𝑐\displaystyle\forall k\in\mathcal{C},{\rm Pr}(\widetilde{Y}_{\widehat{Y},% \mathbf{z}}\neq Y|C=k)=\frac{1}{K}\sum_{c=1}^{K}{\rm Pr}(\widetilde{Y}_{% \widehat{Y},\mathbf{z}}\neq Y|C=c)∀ italic_k ∈ caligraphic_C , roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_k ) = divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_c )

The error rate of community k𝑘kitalic_k: Pr(Y~Y^,𝐳Y|C=k)Prsubscript~𝑌^𝑌𝐳conditional𝑌𝐶𝑘{\rm Pr}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}\neq Y|C=k)roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_k ) can be extended as:

Pr(Y~Y^,𝐳Y|C=k)=a=01(PrD(Y~Y^,𝐳=0,Y=1,A=a|C=k)+PrD(Y~Y^,𝐳=1,Y=0,A=a|C=k))=a=01[PrD(Y^=0,Y=1,A=a|C=k)PrD(Y~Y^,𝐳=Y^|Y^=0,A=a,C=k)+PrD(Y^=1,Y=1,A=a|C=k)PrD(Y~Y^,𝐳Y^|Y^=1,A=a,C=k)+PrD(Y^=1,Y=0,A=a|C=k)PrD(Y~Y^,𝐳=Y^|Y^=1,A=a,C=k)+PrD(Y^=0,Y=0,A=a|C=k)PrD(Y~Y^,𝐳Y^|Y^=0,A=a,C=k)]=a=01(FNakz0ak+TPak(1z1ak)+FPakz1ak+TNak(1z0ak))/Pr(C=k)=a=01((FNakTNak)z0ak+(FPakTPak)z1ak+(TPak+TNak))1pk=𝐧kT𝐳k+bk\begin{split}{\rm Pr}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}\neq Y|C=k)&=\sum_% {a=0}^{1}({\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=0,Y=1,A=a|C=k)+{% \rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=1,Y=0,A=a|C=k))\\ &=\sum_{a=0}^{1}[{\rm Pr}_{D}(\widehat{Y}=0,Y=1,A=a|C=k)\cdot{\rm Pr}_{D}(% \widetilde{Y}_{\widehat{Y},\mathbf{z}}=\widehat{Y}|\widehat{Y}=0,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=1,Y=1,A=a|C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}_{% \widehat{Y},\mathbf{z}}\neq\widehat{Y}|\widehat{Y}=1,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=1,Y=0,A=a|C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}_{% \widehat{Y},\mathbf{z}}=\widehat{Y}|\widehat{Y}=1,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=0,Y=0,A=a|C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}_{% \widehat{Y},\mathbf{z}}\neq\widehat{Y}|\widehat{Y}=0,A=a,C=k)]\\ &=\sum_{a=0}^{1}({\rm FN}^{ak}\cdot z_{0}^{ak}+{\rm TP}^{ak}\cdot(1-z_{1}^{ak}% )+{\rm FP}^{ak}\cdot z_{1}^{ak}+{\rm TN}^{ak}\cdot(1-z_{0}^{ak}))/{\rm Pr}(C=k% )\\ &=\sum_{a=0}^{1}(({\rm FN}^{ak}-{\rm TN}^{ak})\cdot z_{0}^{ak}+({\rm FP}^{ak}-% {\rm TP}^{ak})\cdot z_{1}^{ak}+({\rm TP}^{ak}+{\rm TN}^{ak}))\cdot\frac{1}{p_{% k}}\\ &=\mathbf{n}_{k}^{T}\cdot\mathbf{z}_{k}+b_{k}\end{split}start_ROW start_CELL roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_k ) end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 0 , italic_Y = 1 , italic_A = italic_a | italic_C = italic_k ) + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = 1 , italic_Y = 0 , italic_A = italic_a | italic_C = italic_k ) ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT [ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a | italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_A = italic_a | italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 0 , italic_A = italic_a | italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 0 , italic_A = italic_a | italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_k ) ] end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( roman_FN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) + roman_FP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) ) / roman_Pr ( italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( ( roman_FN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT - roman_TN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + ( roman_FP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT - roman_TP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + ( roman_TP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) ) ⋅ divide start_ARG 1 end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = bold_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL end_ROW (61)

The last n𝑛nitalic_n linear equations of 𝐀𝐳=𝐛𝐀𝐳𝐛\mathbf{A}\mathbf{z}=\mathbf{b}bold_Az = bold_b in (16) are:

for k=1,2,3,K𝑘123𝐾k=1,2,3,\cdots Kitalic_k = 1 , 2 , 3 , ⋯ italic_K:

0=K1K𝐧kT𝐳k+1K(c𝒞,ck)𝐧cT𝐳c1Kc=1K(bkbc)=(𝐧kT𝐳k+bk)+1Kc𝒞(𝐧cT𝐳cT+bc)=Pr(Y~Y^,𝐳Y|C=k)+1Kc=0KPr(Y~Y^,𝐳Y|C=c)0𝐾1𝐾superscriptsubscript𝐧𝑘𝑇subscript𝐳𝑘1𝐾subscriptformulae-sequence𝑐𝒞𝑐𝑘superscriptsubscript𝐧𝑐𝑇subscript𝐳𝑐1𝐾superscriptsubscript𝑐1𝐾subscript𝑏𝑘subscript𝑏𝑐superscriptsubscript𝐧𝑘𝑇subscript𝐳𝑘subscript𝑏𝑘1𝐾subscript𝑐𝒞superscriptsubscript𝐧𝑐𝑇superscriptsubscript𝐳𝑐𝑇subscript𝑏𝑐Prsubscript~𝑌^𝑌𝐳conditional𝑌𝐶𝑘1𝐾superscriptsubscript𝑐0𝐾Prsubscript~𝑌^𝑌𝐳conditional𝑌𝐶𝑐\begin{split}0&=-\frac{K-1}{K}\mathbf{n}_{k}^{T}\mathbf{z}_{k}+\frac{1}{K}\sum% _{(c\in\mathcal{C},c\neq k)}\mathbf{n}_{c}^{T}\mathbf{z}_{c}-\frac{1}{K}\sum_{% c=1}^{K}(b_{k}-b_{c})\\ &=-(\mathbf{n}_{k}^{T}\mathbf{z}_{k}+b_{k})+\frac{1}{K}\sum_{c\in\mathcal{C}}(% \mathbf{n}_{c}^{T}\mathbf{z}_{c}^{T}+b_{c})\\ &=-{\rm Pr}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}\neq Y|C=k)+\frac{1}{K}\sum_% {c=0}^{K}{\rm Pr}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}\neq Y|C=c)\end{split}start_ROW start_CELL 0 end_CELL start_CELL = - divide start_ARG italic_K - 1 end_ARG start_ARG italic_K end_ARG bold_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT ( italic_c ∈ caligraphic_C , italic_c ≠ italic_k ) end_POSTSUBSCRIPT bold_n start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( italic_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = - ( bold_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) + divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ( bold_n start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT + italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = - roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_k ) + divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT roman_Pr ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT ≠ italic_Y | italic_C = italic_c ) end_CELL end_ROW (62)

The last equation is from (61).

We can see from (62) the last K𝐾Kitalic_K linear equations of 𝐀𝐳=𝐛𝐀𝐳𝐛\mathbf{A}\mathbf{z}=\mathbf{b}bold_Az = bold_b , the outcome predictor satisfies community fairness.

From the proceeding, if 𝐳4K𝐳superscript4𝐾\mathbf{z}\in\mathbbm{R}^{4K}bold_z ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT is the solution of the linear program (16), the outcome predictor that satisfies (11) is a fair outcome predictor. The outcome predictor Y~Y^,𝐳subscript~𝑌^𝑌𝐳\widetilde{Y}_{\widehat{Y},\mathbf{z}}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT that takes values of (3.2) has:

PrD(Y~Y^,𝐳=Y^|Y^=1,A=a,C=c)=z1acPrD(Y~Y^,𝐳=Y^|Y^=0,A=a,C=c)=z0ac\begin{split}{\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=\widehat{Y}|% \widehat{Y}=1,A=a,C=c)&=z_{1}^{ac}\\ {\rm Pr}_{D}(\widetilde{Y}_{\widehat{Y},\mathbf{z}}=\widehat{Y}|\widehat{Y}=0,% A=a,C=c)&=z_{0}^{ac}\end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_c ) end_CELL start_CELL = italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_c ) end_CELL start_CELL = italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_c end_POSTSUPERSCRIPT end_CELL end_ROW

which satisfies (3.2).

Thus, the outcome predictor Y~Y^,𝐳subscript~𝑌^𝑌𝐳\widetilde{Y}_{\widehat{Y},\mathbf{z}}over~ start_ARG italic_Y end_ARG start_POSTSUBSCRIPT over^ start_ARG italic_Y end_ARG , bold_z end_POSTSUBSCRIPT is a fair outcome predictor w.r.t. both equal opportunity and community fairness. \diamondsuit

C.2 Proof of Theorem 3.5

We show that the linear program (40) always has solutions. Before presenting the proof, we first present Farkas’ lemma (Goldman & Tucker, 1957):

Let 𝐀m×n𝐀superscript𝑚𝑛\mathbf{A}\in\mathbb{R}^{m\times n}bold_A ∈ blackboard_R start_POSTSUPERSCRIPT italic_m × italic_n end_POSTSUPERSCRIPT and 𝐛m𝐛superscript𝑚\mathbf{b}\in\mathbb{R}^{m}bold_b ∈ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT. Then exactly one of the following two assertions is true:

  1. 1.

    There exists a 𝐳n𝐳superscript𝑛\mathbf{z}\in\mathbb{R}^{n}bold_z ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT such that 𝐀𝐳=𝐛𝐀𝐳𝐛\mathbf{Az}=\mathbf{b}bold_Az = bold_b and 𝐳0𝐳0\mathbf{z}\geq 0bold_z ≥ 0.

  2. 2.

    There exists a 𝐲m𝐲superscript𝑚\mathbf{y}\in\mathbb{R}^{m}bold_y ∈ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT such that 𝐀T𝐲0superscript𝐀𝑇𝐲0\mathbf{A}^{T}\mathbf{y}\geq 0bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y ≥ 0 and 𝐛T𝐲<0superscript𝐛𝑇𝐲0\mathbf{b}^{T}\mathbf{y}<0bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y < 0.

Faraks’ lemma states that either the system 𝐀𝐳=𝐛𝐀𝐳𝐛\mathbf{Az}=\mathbf{b}bold_Az = bold_b has a non-negative solution or the system 𝐀T𝐲0superscript𝐀𝑇𝐲0\mathbf{A}^{T}\mathbf{y}\geq 0bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y ≥ 0 has a solution with 𝐛T𝐲<0superscript𝐛𝑇𝐲0\mathbf{b}^{T}\mathbf{y}<0bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y < 0 but not both. Thus, we can show the linear program (40) always exist a solution by showing that the set {𝐲|𝐲5K+1,𝐀¯T𝐲0,𝐛¯T𝐲<0}conditional-set𝐲formulae-sequence𝐲superscript5𝐾1formulae-sequencesuperscript¯𝐀𝑇𝐲0superscript¯𝐛𝑇𝐲0\{\mathbf{y}|\mathbf{y}\in\mathbb{R}^{5K+1},\mathbf{\bar{A}}^{T}\mathbf{y}\geq 0% ,\mathbf{\bar{b}}^{T}\mathbf{y}<0\}{ bold_y | bold_y ∈ blackboard_R start_POSTSUPERSCRIPT 5 italic_K + 1 end_POSTSUPERSCRIPT , over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y ≥ 0 , over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y < 0 } is always empty.

Let: 𝐲T=[𝐲1T𝐲2T]superscript𝐲𝑇delimited-[]superscriptsubscript𝐲1𝑇superscriptsubscript𝐲2𝑇\mathbf{y}^{T}=\left[\begin{array}[]{cc}\mathbf{y}_{1}^{T}&\mathbf{y}_{2}^{T}% \end{array}\right]bold_y start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT = [ start_ARRAY start_ROW start_CELL bold_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ], with 𝐲1K+1subscript𝐲1superscript𝐾1\mathbf{y}_{1}\in\mathbb{R}^{K+1}bold_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_K + 1 end_POSTSUPERSCRIPT, 𝐲24Ksubscript𝐲2superscript4𝐾\mathbf{y}_{2}\in\mathbb{R}^{4K}bold_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 4 italic_K end_POSTSUPERSCRIPT, then, the condition 𝐀¯T𝐲0superscript¯𝐀𝑇𝐲0\mathbf{\bar{A}}^{T}\mathbf{y}\geq 0over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y ≥ 0 is:

𝐀¯T𝐲=[𝐀T𝐈𝟎𝐈][𝐲𝟏𝐲𝟐]=[𝐀T𝐲𝟏+𝐈𝐲𝟐𝐲𝟐]0𝟏4KT(𝐀T𝐲𝟏+𝐲𝟐)0𝟏4KT𝐲𝟐0superscript¯𝐀𝑇𝐲delimited-[]superscript𝐀𝑇𝐈0𝐈delimited-[]subscript𝐲1missing-subexpressionsubscript𝐲2missing-subexpressiondelimited-[]superscript𝐀𝑇subscript𝐲1subscript𝐈𝐲2missing-subexpressionsubscript𝐲2missing-subexpression0superscriptsubscript14𝐾𝑇superscript𝐀𝑇subscript𝐲1subscript𝐲20superscriptsubscript14𝐾𝑇subscript𝐲20\begin{split}\mathbf{\bar{A}}^{T}\mathbf{y}=&\left[\begin{array}[]{cc}\mathbf{% A}^{T}&\mathbf{I}\\ \mathbf{0}&\mathbf{I}\end{array}\right]\cdot\left[\begin{array}[]{cc}\mathbf{y% _{1}}\\ \mathbf{y_{2}}\end{array}\right]\\ &=\left[\begin{array}[]{cc}\mathbf{A}^{T}\mathbf{y_{1}}+\mathbf{I}\mathbf{y_{2% }}\\ \mathbf{y_{2}}\end{array}\right]\geq 0\\ \rightarrow\quad&\mathbf{1}_{4K}^{T}\cdot(\mathbf{A}^{T}\mathbf{y_{1}}+\mathbf% {y_{2}})\geq 0\\ &\mathbf{1}_{4K}^{T}\cdot\mathbf{y_{2}}\geq 0\end{split}start_ROW start_CELL over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y = end_CELL start_CELL [ start_ARRAY start_ROW start_CELL bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_I end_CELL end_ROW start_ROW start_CELL bold_0 end_CELL start_CELL bold_I end_CELL end_ROW end_ARRAY ] ⋅ [ start_ARRAY start_ROW start_CELL bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW end_ARRAY ] end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = [ start_ARRAY start_ROW start_CELL bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT + bold_Iy start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW end_ARRAY ] ≥ 0 end_CELL end_ROW start_ROW start_CELL → end_CELL start_CELL bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ ( bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT + bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT ) ≥ 0 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT ≥ 0 end_CELL end_ROW (63)

The condition 𝐛¯T𝐲<0superscript¯𝐛𝑇𝐲0\mathbf{\bar{b}}^{T}\mathbf{y}<0over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y < 0 is:

𝐛¯T𝐲=[𝐛T𝟏4KT][𝐲𝟏𝐲𝟐]=𝐛T𝐲𝟏+𝟏4KT𝐲𝟐=12𝐀T𝐲𝟏+𝟏4KT𝐲𝟐<0superscript¯𝐛𝑇𝐲delimited-[]superscript𝐛𝑇superscriptsubscript14𝐾𝑇delimited-[]subscript𝐲1missing-subexpressionsubscript𝐲2missing-subexpressionsuperscript𝐛𝑇subscript𝐲1superscriptsubscript14𝐾𝑇subscript𝐲212superscript𝐀𝑇subscript𝐲1superscriptsubscript14𝐾𝑇subscript𝐲20\begin{split}\mathbf{\bar{b}}^{T}\mathbf{y}&=\left[\begin{array}[]{cc}\mathbf{% b}^{T}&\mathbf{1}_{4K}^{T}\end{array}\right]\cdot\left[\begin{array}[]{cc}% \mathbf{y_{1}}\\ \mathbf{y_{2}}\end{array}\right]\\ &=\mathbf{b}^{T}\mathbf{y_{1}}+\mathbf{1}_{4K}^{T}\mathbf{y_{2}}\\ &=\frac{1}{2}\mathbf{A}^{T}\mathbf{y_{1}}+\mathbf{1}_{4K}^{T}\mathbf{y_{2}}<0% \end{split}start_ROW start_CELL over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y end_CELL start_CELL = [ start_ARRAY start_ROW start_CELL bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ] ⋅ [ start_ARRAY start_ROW start_CELL bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW end_ARRAY ] end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = bold_b start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT + bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = divide start_ARG 1 end_ARG start_ARG 2 end_ARG bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT + bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT < 0 end_CELL end_ROW (64)

The last equation above is from the fact: 1pc(TN0c+TP0c+TN1c+TP1c)=11pc(FN0c+FP0c+FN1c+FP1c)1subscript𝑝𝑐superscriptTN0𝑐superscriptTP0𝑐superscriptTN1𝑐superscriptTP1𝑐11subscript𝑝𝑐superscriptFN0𝑐superscriptFP0𝑐superscriptFN1𝑐superscriptFP1𝑐\frac{1}{p_{c}}({\rm TN}^{0c}+{\rm TP}^{0c}+{\rm TN}^{1c}+{\rm TP}^{1c})=1-% \frac{1}{p_{c}}({\rm FN}^{0c}+{\rm FP}^{0c}+{\rm FN}^{1c}+{\rm FP}^{1c})divide start_ARG 1 end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ( roman_TN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ) = 1 - divide start_ARG 1 end_ARG start_ARG italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG ( roman_FN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_FP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_FN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT + roman_FP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ).

When 𝟏4KT𝐲𝟐0superscriptsubscript14𝐾𝑇subscript𝐲20\mathbf{1}_{4K}^{T}\mathbf{y_{2}}\geq 0bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT ≥ 0, which is the second condition in (63), the first condition in (63): 𝟏4KT(𝐀T𝐲𝟏)𝟏4KT𝐲𝟐superscriptsubscript14𝐾𝑇superscript𝐀𝑇subscript𝐲1superscriptsubscript14𝐾𝑇subscript𝐲2\mathbf{1}_{4K}^{T}\cdot(\mathbf{A}^{T}\mathbf{y_{1}})\geq-\mathbf{1}_{4K}^{T}% \mathbf{y_{2}}bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ ( bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT ) ≥ - bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT is always conflict with the condition (64): 𝟏4KT(𝐀T𝐲𝟏)<2𝟏4KT𝐲𝟐superscriptsubscript14𝐾𝑇superscript𝐀𝑇subscript𝐲12superscriptsubscript14𝐾𝑇subscript𝐲2\mathbf{1}_{4K}^{T}\cdot(\mathbf{A}^{T}\mathbf{y_{1}})<-2\cdot\mathbf{1}_{4K}^% {T}\mathbf{y_{2}}bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋅ ( bold_A start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT ) < - 2 ⋅ bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT, as 2𝟏4KT𝐲𝟐𝟏4KT𝐲𝟐2superscriptsubscript14𝐾𝑇subscript𝐲2superscriptsubscript14𝐾𝑇subscript𝐲2-2\cdot\mathbf{1}_{4K}^{T}\mathbf{y_{2}}\leq-\mathbf{1}_{4K}^{T}\mathbf{y_{2}}- 2 ⋅ bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT ≤ - bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT.

Thus, the set: {𝐲|𝐲5K+1,𝐀¯T𝐲0,𝐛¯T𝐲<0}conditional-set𝐲formulae-sequence𝐲superscript5𝐾1formulae-sequencesuperscript¯𝐀𝑇𝐲0superscript¯𝐛𝑇𝐲0\{\mathbf{y}|\mathbf{y}\in\mathbb{R}^{5K+1},\mathbf{\bar{A}}^{T}\mathbf{y}\geq 0% ,\mathbf{\bar{b}}^{T}\mathbf{y}<0\}{ bold_y | bold_y ∈ blackboard_R start_POSTSUPERSCRIPT 5 italic_K + 1 end_POSTSUPERSCRIPT , over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y ≥ 0 , over¯ start_ARG bold_b end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_y < 0 } is always empty. This indicates the system 𝐀¯𝐳¯=𝐛¯¯𝐀¯𝐳¯𝐛\mathbf{\bar{A}\bar{z}}=\mathbf{\bar{b}}over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG = over¯ start_ARG bold_b end_ARG always has non-negative solutions. The variables in the linear program represent probabilities that are bounded in [0,1]01[0,1][ 0 , 1 ]. Therefore, the objective function of (40) is bounded. The linear program always has solutions.

\diamondsuit

C.3 Proof of Theorem 3.6

Proof: The PrD(Y~Y)subscriptPr𝐷~𝑌𝑌{\rm Pr}_{D}(\widetilde{Y}\neq Y)roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) in first condition can be extended as:

PrD(Y~Y)=c=1Ka=01(PrD(Y~=0,Y=1,A=a,C=k)+PrD(Y~=1,Y=0,A=a,C=k))=c=1Ka=01[PrD(Y^=0,Y=1,A=a,C=k)PrD(Y~=Y^|Y^=0,A=a,C=k)+PrD(Y^=1,Y=1,A=a,C=k)PrD(Y~Y^|Y^=1,A=a,C=k)+PrD(Y^=1,Y=0,A=a,C=k)PrD(Y~=Y^|Y^=1,A=a,C=k)+PrD(Y^=0,Y=0,A=a,C=k)PrD(Y~Y^|Y^=0,A=a,C=k)]=c=1Ka=01(FNakz0ak+TPak(1z1ak)+FPakz1ak+TNak(1z0ak))=𝐜T𝐳+c=0Kbcpc=𝐜¯T𝐳¯+c=0Kbcpc\begin{split}{\rm Pr}_{D}(\widetilde{Y}\neq Y)&=\sum_{c=1}^{K}\sum_{a=0}^{1}({% \rm Pr}_{D}(\widetilde{Y}=0,Y=1,A=a,C=k)+{\rm Pr}_{D}(\widetilde{Y}=1,Y=0,A=a,% C=k))\\ &=\sum_{c=1}^{K}\sum_{a=0}^{1}[{\rm Pr}_{D}(\widehat{Y}=0,Y=1,A=a,C=k)\cdot{% \rm Pr}_{D}(\widetilde{Y}=\widehat{Y}|\widehat{Y}=0,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=1,Y=1,A=a,C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}\neq% \widehat{Y}|\widehat{Y}=1,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=1,Y=0,A=a,C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}=% \widehat{Y}|\widehat{Y}=1,A=a,C=k)\\ &+{\rm Pr}_{D}(\widehat{Y}=0,Y=0,A=a,C=k)\cdot{\rm Pr}_{D}(\widetilde{Y}\neq% \widehat{Y}|\widehat{Y}=0,A=a,C=k)]\\ &=\sum_{c=1}^{K}\sum_{a=0}^{1}({\rm FN}^{ak}\cdot z_{0}^{ak}+{\rm TP}^{ak}% \cdot(1-z_{1}^{ak})+{\rm FP}^{ak}\cdot z_{1}^{ak}+{\rm TN}^{ak}\cdot(1-z_{0}^{% ak}))\\ &=\mathbf{c}^{T}\mathbf{z}+\sum_{c=0}^{K}b_{c}p_{c}\\ &=\mathbf{\bar{c}}^{T}\mathbf{\bar{z}}+\sum_{c=0}^{K}b_{c}p_{c}\end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_k ) + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = 1 , italic_Y = 0 , italic_A = italic_a , italic_C = italic_k ) ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT [ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 1 , italic_A = italic_a , italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 1 , italic_Y = 0 , italic_A = italic_a , italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG = over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 1 , italic_A = italic_a , italic_C = italic_k ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG = 0 , italic_Y = 0 , italic_A = italic_a , italic_C = italic_k ) ⋅ roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ over^ start_ARG italic_Y end_ARG | over^ start_ARG italic_Y end_ARG = 0 , italic_A = italic_a , italic_C = italic_k ) ] end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_a = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( roman_FN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) + roman_FP start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ⋅ ( 1 - italic_z start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a italic_k end_POSTSUPERSCRIPT ) ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL = over¯ start_ARG bold_c end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_z end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_CELL end_ROW (65)

As we show in proposition (3.2), the constraints of equal opportunity and community fairness in the linear program (16) (or a standard form (40)) are:

𝐀¯𝐳¯=𝐛¯𝐀¯T𝐀¯𝐳¯=𝐀¯T𝐛¯¯𝐀¯𝐳¯𝐛superscript¯𝐀𝑇¯𝐀¯𝐳superscript¯𝐀𝑇¯𝐛\begin{split}&\mathbf{\bar{A}}\mathbf{\bar{z}}=\mathbf{\bar{b}}\\ \Rightarrow\quad&\mathbf{\bar{A}}^{T}\mathbf{\bar{A}}\mathbf{\bar{z}}=\mathbf{% \bar{A}}^{T}\mathbf{\bar{b}}\end{split}start_ROW start_CELL end_CELL start_CELL over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG = over¯ start_ARG bold_b end_ARG end_CELL end_ROW start_ROW start_CELL ⇒ end_CELL start_CELL over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG = over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG end_CELL end_ROW

For matrix 𝐀¯T𝐀¯superscript¯𝐀𝑇¯𝐀\mathbf{\bar{A}}^{T}\mathbf{\bar{A}}over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG, we have:

λmin(𝐀¯T𝐀¯)𝐳¯T𝐳¯𝐳¯T𝐀¯T𝐀¯𝐳¯subscript𝜆minsuperscript¯𝐀𝑇¯𝐀superscript¯𝐳𝑇¯𝐳superscript¯𝐳𝑇superscript¯𝐀𝑇¯𝐀¯𝐳\begin{split}\lambda_{\rm min}(\mathbf{\bar{A}}^{T}\mathbf{\bar{A}})\mathbf{% \bar{z}}^{T}\mathbf{\bar{z}}\leq\mathbf{\bar{z}}^{T}\mathbf{\bar{A}}^{T}% \mathbf{\bar{A}}\mathbf{\bar{z}}\end{split}start_ROW start_CELL italic_λ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT ( over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG ) over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_z end_ARG ≤ over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG end_CELL end_ROW (66)

where, λmin(𝐀¯T𝐀¯)subscript𝜆minsuperscript¯𝐀𝑇¯𝐀\lambda_{\rm min}(\mathbf{\bar{A}}^{T}\mathbf{\bar{A}})italic_λ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT ( over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG ) is the smallest eigenvalue of 𝐀¯T𝐀¯superscript¯𝐀𝑇¯𝐀\mathbf{\bar{A}}^{T}\mathbf{\bar{A}}over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG.

Then, we show the l2subscript𝑙2l_{2}italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT norm of 𝐳¯¯𝐳\mathbf{\bar{z}}over¯ start_ARG bold_z end_ARG is bounded:

λmin(𝐀¯T𝐀¯)𝐳¯T𝐳¯𝐳¯T𝐀¯T𝐀¯𝐳¯𝐳¯2𝐀¯T𝐀¯𝐳¯2=𝐳¯2𝐀¯T𝐛¯2λmin(𝐀¯T𝐀¯)𝐳¯2𝐀¯T𝐛¯2𝐳2𝐀¯T𝐛¯2σ¯2subscript𝜆minsuperscript¯𝐀𝑇¯𝐀superscript¯𝐳𝑇¯𝐳superscript¯𝐳𝑇superscript¯𝐀𝑇¯𝐀¯𝐳subscriptdelimited-∥∥¯𝐳2subscriptdelimited-∥∥superscript¯𝐀𝑇¯𝐀¯𝐳2subscriptdelimited-∥∥¯𝐳2subscriptdelimited-∥∥superscript¯𝐀𝑇¯𝐛2subscript𝜆minsuperscript¯𝐀𝑇¯𝐀subscriptdelimited-∥∥¯𝐳2subscriptdelimited-∥∥superscript¯𝐀𝑇¯𝐛2subscriptdelimited-∥∥𝐳2subscriptnormsuperscript¯𝐀𝑇¯𝐛2superscript¯𝜎2\begin{split}&\lambda_{\rm min}(\mathbf{\bar{A}}^{T}\mathbf{\bar{A}})\mathbf{% \bar{z}}^{T}\mathbf{\bar{z}}\leq\mathbf{\bar{z}}^{T}\mathbf{\bar{A}}^{T}% \mathbf{\bar{A}}\mathbf{\bar{z}}\leq\|\mathbf{\bar{z}}\|_{2}\|\mathbf{\bar{A}}% ^{T}\mathbf{\bar{A}}\mathbf{\bar{z}}\|_{2}=\|\mathbf{\bar{z}}\|_{2}\|\mathbf{% \bar{A}}^{T}\mathbf{\bar{b}}\|_{2}\\ \Rightarrow\quad&\lambda_{\rm min}(\mathbf{\bar{A}}^{T}\mathbf{\bar{A}})\|% \mathbf{\bar{z}}\|_{2}\leq\|\mathbf{\bar{A}}^{T}\mathbf{\bar{b}}\|_{2}\\ \Rightarrow\quad&\|\mathbf{z}\|_{2}\leq\frac{\|\mathbf{\bar{A}}^{T}\mathbf{% \bar{b}}\|_{2}}{\underline{\sigma}^{2}}\end{split}start_ROW start_CELL end_CELL start_CELL italic_λ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT ( over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG ) over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_z end_ARG ≤ over¯ start_ARG bold_z end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG ≤ ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ⇒ end_CELL start_CELL italic_λ start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT ( over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_A end_ARG ) ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ⇒ end_CELL start_CELL ∥ bold_z ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG end_CELL end_ROW (67)

where, σ¯¯𝜎\underline{\sigma}under¯ start_ARG italic_σ end_ARG is the smallest singular value of the matrix 𝐀¯¯𝐀\mathbf{\bar{A}}over¯ start_ARG bold_A end_ARG.

Thus, the PrD(Y~Y)subscriptPr𝐷~𝑌𝑌{\rm Pr}_{D}(\widetilde{Y}\neq Y)roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) has:

PrD(Y~Y)=𝐜¯T𝐳¯+c=0Kbcpc𝐜¯𝐳¯+c=0Kbcpc(all elements in c are negative)𝐜¯𝐳¯2+c=0Kbcpc(𝐳¯2𝐳¯)𝐜¯𝐀¯T𝐛¯2σ¯2+c=0Kbcpc(the upper bound (67))\begin{split}{\rm Pr}_{D}(\widetilde{Y}\neq Y)&=\mathbf{\bar{c}}^{T}\mathbf{% \bar{z}}+\sum_{c=0}^{K}b_{c}p_{c}\\ &\geq-\|\mathbf{\bar{c}}\|_{\infty}\|\mathbf{\bar{z}}\|_{\infty}+\sum_{c=0}^{K% }b_{c}p_{c}\quad\textit{(all elements in c are negative)}\\ &\geq-\|\mathbf{\bar{c}}\|_{\infty}\|\mathbf{\bar{z}}\|_{2}+\sum_{c=0}^{K}b_{c% }p_{c}\quad(\|\mathbf{\bar{z}}\|_{2}\geq\|\mathbf{\bar{z}}\|_{\infty})\\ &\geq-\|\mathbf{\bar{c}}\|_{\infty}\frac{\|\mathbf{\bar{A}}^{T}\mathbf{\bar{b}% }\|_{2}}{\underline{\sigma}^{2}}+\sum_{c=0}^{K}b_{c}p_{c}\quad\textit{(the % upper bound (\ref{eq:lower_bound}}))\\ \end{split}start_ROW start_CELL roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) end_CELL start_CELL = over¯ start_ARG bold_c end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_z end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ≥ - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT (all elements in c are negative) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ≥ - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ( ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≥ ∥ over¯ start_ARG bold_z end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ≥ - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT (the upper bound ( ) ) end_CELL end_ROW (68)

with bcpc=(TN0c+TP0c+TN1c+TP1c)subscript𝑏𝑐subscript𝑝𝑐superscriptTN0𝑐superscriptTP0𝑐superscriptTN1𝑐superscriptTP1𝑐b_{c}p_{c}=({\rm TN}^{0c}+{\rm TP}^{0c}+{\rm TN}^{1c}+{\rm TP}^{1c})italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = ( roman_TN start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 0 italic_c end_POSTSUPERSCRIPT + roman_TN start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT + roman_TP start_POSTSUPERSCRIPT 1 italic_c end_POSTSUPERSCRIPT ).

When Δ<𝐜¯𝐀¯T𝐛¯2σ¯2+c=0KbcpcΔsubscriptnorm¯𝐜subscriptnormsuperscript¯𝐀𝑇¯𝐛2superscript¯𝜎2superscriptsubscript𝑐0𝐾subscript𝑏𝑐subscript𝑝𝑐\Delta<-\|\mathbf{\bar{c}}\|_{\infty}\frac{\|\mathbf{\bar{A}}^{T}\mathbf{\bar{% b}}\|_{2}}{\underline{\sigma}^{2}}+\sum_{c=0}^{K}b_{c}p_{c}roman_Δ < - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, the inequality: PrD(Y~Y)𝐜¯𝐀¯T𝐛¯2σ¯2+c=0KbcpcsubscriptPr𝐷~𝑌𝑌subscriptnorm¯𝐜subscriptnormsuperscript¯𝐀𝑇¯𝐛2superscript¯𝜎2superscriptsubscript𝑐0𝐾subscript𝑏𝑐subscript𝑝𝑐{\rm Pr}_{D}(\widetilde{Y}\neq Y)\geq-\|\mathbf{\bar{c}}\|_{\infty}\frac{\|% \mathbf{\bar{A}}^{T}\mathbf{\bar{b}}\|_{2}}{\underline{\sigma}^{2}}+\sum_{c=0}% ^{K}b_{c}p_{c}roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) ≥ - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is conflict with the first condition in (45): PrD(Y~Y)ΔsubscriptPr𝐷~𝑌𝑌Δ{\rm Pr}_{D}(\widetilde{Y}\neq Y)\leq\Deltaroman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) ≤ roman_Δ.

Thus, if Δ<𝐜¯𝐀¯T𝐛¯2σ¯2+c=0KbcpcΔsubscriptnorm¯𝐜subscriptnormsuperscript¯𝐀𝑇¯𝐛2superscript¯𝜎2superscriptsubscript𝑐0𝐾subscript𝑏𝑐subscript𝑝𝑐\Delta<-\|\mathbf{\bar{c}}\|_{\infty}\frac{\|\mathbf{\bar{A}}^{T}\mathbf{\bar{% b}}\|_{2}}{\underline{\sigma}^{2}}+\sum_{c=0}^{K}b_{c}p_{c}roman_Δ < - ∥ over¯ start_ARG bold_c end_ARG ∥ start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT divide start_ARG ∥ over¯ start_ARG bold_A end_ARG start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over¯ start_ARG bold_b end_ARG ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG under¯ start_ARG italic_σ end_ARG start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, the fairness condition and ϵitalic-ϵ\epsilonitalic_ϵ-accurate condition are incompatible with each other. \diamondsuit

C.4 Proof of Theorem 3.7

The error rate of the fair outcome predictor is demonstrated in (65), which is: PrD(Y~Y)=𝐜T𝐳+c=0KbcpcsubscriptPr𝐷~𝑌𝑌superscript𝐜𝑇𝐳superscriptsubscript𝑐0𝐾subscript𝑏𝑐subscript𝑝𝑐{\rm Pr}_{D}(\widetilde{Y}\neq Y)=\mathbf{c}^{T}\mathbf{z}+\sum_{c=0}^{K}b_{c}% \cdot p_{c}roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) = bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ⋅ italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT.

The predictor Y~~𝑌\widetilde{Y}over~ start_ARG italic_Y end_ARG is optimal when 𝐳=𝟏4k𝐳subscript14𝑘\mathbf{z}=\mathbf{1}_{4k}bold_z = bold_1 start_POSTSUBSCRIPT 4 italic_k end_POSTSUBSCRIPT, the error rate of the optimal predictor is: PrD(Y^Y)=𝐜T𝟏4K+c=0KbcpcsubscriptPr𝐷^𝑌𝑌superscript𝐜𝑇subscript14𝐾superscriptsubscript𝑐0𝐾subscript𝑏𝑐subscript𝑝𝑐{\rm Pr}_{D}(\widehat{Y}\neq Y)=\mathbf{c}^{T}\mathbf{1}_{4K}+\sum_{c=0}^{K}b_% {c}\cdot p_{c}roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG ≠ italic_Y ) = bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_c = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ⋅ italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT.

Thus, the minimum error we need to compromise for enforcing group fairness and community fairness is:

PrD(Y~Y)PrD(Y^Y)=𝐜T𝐳𝐜T𝟏4KsubscriptPr𝐷~𝑌𝑌subscriptPr𝐷^𝑌𝑌superscript𝐜𝑇𝐳superscript𝐜𝑇subscript14𝐾{\rm Pr}_{D}(\widetilde{Y}\neq Y)-{\rm Pr}_{D}(\widehat{Y}\neq Y)=\mathbf{c}^{% T}\mathbf{z}-\mathbf{c}^{T}\mathbf{1}_{4K}roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over~ start_ARG italic_Y end_ARG ≠ italic_Y ) - roman_Pr start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( over^ start_ARG italic_Y end_ARG ≠ italic_Y ) = bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_z - bold_c start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_1 start_POSTSUBSCRIPT 4 italic_K end_POSTSUBSCRIPT. \diamondsuit

Appendix D Additional Experimental Details and Results

D.1 Models and Hyperparameters

We provide the models and hyperparameters of post-FFL for each dataset. We run the experiments on on our local Linux server with a 16-Core 4.00 GHz AMD RYZEN Threadripper Pro 5955WX Processor. We implement all code in TensorFlow (Abadi et al., 2015), simulating a federated network with one server and several local communities.

For Adult, in each local community, we randomly divide the data into three subsets: 60% for the training set, 20% for the validation set, and 20% for the test set. We first implement the FedAvg algorithm. For each communication round in FedAvg, the number of participating communities is set to N=2𝑁2N=2italic_N = 2. We set the number of local update epochs to E=1𝐸1E=1italic_E = 1 with a batch size of B=512𝐵512B=512italic_B = 512. The local models are logistic regression classifiers with two layers, containing 64 and 32 nodes, respectively. We use Relu as the activation functions for each hidden layers. These models are trained using the Adam optimizer with a learning rate of η=0.001𝜂0.001\eta=0.001italic_η = 0.001. We select the number of rounds that minimizes the validation loss, and then report the evaluation metrics on the test dataset. We construct a linear program using the training data. Finally, we apply post-processing to the test dataset based on the solution from the linear program and report its evaluation metrics.

For the Diabetes dataset, we similarly split the local dataset into 60% for training, 20% for validation, and 20% for testing. The number of participating communities for FedAvg is set to N=7𝑁7N=7italic_N = 7. We maintain the number of local update epochs at E=1𝐸1E=1italic_E = 1 with a batch size of B=256𝐵256B=256italic_B = 256. We follow the same model structure, optimization algorithm, and evaluation process as with the UCI Adult dataset and report its evaluation metrics.

For HM 10000, we similarly split the local dataset into 60% for training, 20% for validation, and 20% for testing. We resize the the images to 28×28×32828328\times 28\times 328 × 28 × 3. We set the number of local update epochs to E=5𝐸5E=5italic_E = 5 with a batch size of B=32𝐵32B=32italic_B = 32. The local models’ structure are as shown in Fig. 3 The loss function we use for multi-class classification task is sparse categorical cross entropy. The CNN models are trained using the Adam optimizer with a learning rate η=0.001𝜂0.001\eta=0.001italic_η = 0.001. We select the number of rounds that minimizes the validation loss, and then report the evaluation metrics on the test dataset. We construct a linear program using the training data. Finally, we apply post-processing to the test dataset based on the solution from the linear program and report its evaluation metrics.

Refer to caption

Figure 3: The CNN structure used for HM10000 Dataset

D.2 Baselines

In Section 5.2, we use q-FedAvg (Li et al., 2019) and AFL (Mohri et al., 2019) as baselines for community fairness, and FairFed (Ezzeldin et al., 2023) as the baseline for group fairness. Detailed descriptions and convergence curves of all baselines are provided below:

  • q-FedAvg (Li et al., 2019) improves community fairness in Federated Learning (FL) by minimizing an aggregated reweighed loss, parameterized by q𝑞qitalic_q. The algorithm assigns greater weight to devices with higher loss. The parameter q𝑞qitalic_q controls the trade-off between community fairness and model utility. In our experiments, we set q=4𝑞4q=4italic_q = 4 for Adult, following the recommendation in the original implementation of the q-FedAvg paper and q=1𝑞1q=1italic_q = 1 for HM1000.

  • FairFed, (Ezzeldin et al., 2023) improves equal opportunity in FL, which also minimizes an aggregated reweighed loss, parameterized by β𝛽\betaitalic_β. The weights are a function of the mismatch between the global EOD (on the full dataset) and the local EOD at each community, favoring communities whose local measurement match the global measurements. β𝛽\betaitalic_β is the parameter that control the tradeoff between the group fairness and model utility. We follows the initial paper’s setting: β=1𝛽1\beta=1italic_β = 1 for Adult and β=2𝛽2\beta=2italic_β = 2 for HM1000.

The convergence curves of FedAvg, q-FedAvg, and FairFed are shown in Fig. 4.

Figure 4: Adult dataset: Training curves of Fedavg (left), FairFed (middle), and q-FedAvg (right)
Refer to caption

D.3 Additional Results of Different Data Heterogeneity Level

We provide results of HM10000 with various degrees of data heterogeneity in Table 7. Similar as Adult, we introduce community heterogeneity by adjusting the mixture of individuals with specific target and sensitive attributes.

We define class 1 as unprotected Melanocytic Nevi samples (y=4,s=1)formulae-sequence𝑦4𝑠1(y=4,s=1)( italic_y = 4 , italic_s = 1 ), class 2 as protected Melanocytic Nevi (y=4,s=0)formulae-sequence𝑦4𝑠0(y=4,s=0)( italic_y = 4 , italic_s = 0 ), class 3 as unprotected non-Melanocytic Nevi (y0,s=1)formulae-sequence𝑦0𝑠1(y\neq 0,s=1)( italic_y ≠ 0 , italic_s = 1 ), and class 4 as protected non-Melanocytic Nevi (y4,s=0)formulae-sequence𝑦4𝑠0(y\neq 4,s=0)( italic_y ≠ 4 , italic_s = 0 ). We sample the local communities’ datasets so that the class proportion of each community is as shown in Fig. 5.3. For scenario 1, Data is i.i.d. distributed across all communities. The sensitive attribute is totally skewed across two communities in scenario 2. Both the target and sensitive attributes are imbalanced across communities in scenario 3

Refer to caption
(a) Scenario 1 (s1)
Refer to caption
(b) Scenario 2 (s2)
Refer to caption
(c) Scenario 3 (s3)
Figure 5: HM1000: The class proportion of the three scenarios
Table 7: Experimental results with different degrees of heterogeneity(HM1000)
Scenario Algorithms Avg-Acc EOD Acc@1 Acc@2 Acc@3 Acc@4 Acc@5 AD Accuracy trade for fairness
s1 FedAvg 0.695 0.002 0.694 0.693 0.714 0.693 0.680 0.034 -
s1 PostFFL 0.688 0.007 0.699 0.682 0.719 0.680 0.664 0.056 0.007
s2 FedAvg 0.675 0.076 0.865 0.932 0.637 0.447 0.270 0.662 -
s2 Post-FFL 0.330 0.00 0.344 0.317 0.318 0.346 0.334 0.029 0.345
s3 FedAvg 0.681 0.060 0.522 0.500 0.697 0.900 0.658 0.451 -
s3 Post-FFL 0.509 0.016 0.533 0.498 0.516 0.513 0.476 0.058 0.172