wikillm

Concept · 1 paper · updated 2026-11-03

Inequality index

Scores how unequally a binary classifier treats people, using per-person benefits from prediction and label. Start with the generalized entropy index at alpha = 2 on benefits 2, 1, 0. Use its between-group and within-group split to see where unfairness sits. Its benefit values are a choice that changes every number, and the index is reported next to accuracy.

fairnessinequality-indexgroup-fairnessindividual-fairness

Markdown4 min read

AI-compiled overview, updated 2026-11-03, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

An inequality index is a single number that grows as a set of values becomes more unequal. For a classifier, each person gets a benefit computed from their prediction and true label, and the index measures how spread out those benefits are 1807.00787 §2.2. A benefit of 0 means a false negative, 1 means a true positive or true negative, and 2 means a false positive, with the mapping b = yhat - y + 1 1807.00787 §2.2 eq. 1. The index is then computed on the benefit vector, so it needs only predictions and labels, not model internals 1807.00787 §1.

The paper's choice is the generalized entropy family with alpha = 2, which is half the squared coefficient of variation of the benefits [arxiv:1807.00787 §2.3 eq. 2] 1807.00787 §4. Its main structural property is a split of the total into a between-group part and a within-group part, used to check where a fairness method's gains and losses fall 1807.00787 §3.2.

Variants

Generalized entropy index on benefits (alpha = 2)

What it is: the generalized entropy index of the benefit vector, with alpha = 2, as an overall unfairness score for a binary classifier. Key mechanism: each false positive, true positive or negative, and false negative gets its benefit value, the mean benefit is computed, and the index averages the squared ratio of each benefit to the mean, minus one [arxiv:1807.00787 §2.2] 1807.00787 §2.3 eq. 2. Reported use: the overall unfairness of logistic regression, RBF SVM and random forest on Adult and COMPAS, with ten 70/30 splits 1807.00787 §4 1807.00787 fig. 6. Card: A Unified Approach to Quantifying Algorithmic Unfairness.

Between-group and within-group decomposition

What it is: the same index split into a sum over groups of within-group unfairness and a sum of between-group terms, for any partition of people into groups 1807.00787 §3.2 eq. 5. Key mechanism: each group contributes its own generalized entropy, weighted by group size and mean benefit, and a between-group term measures how far each group mean sits from the overall mean 1807.00787 §3.2. Reported use: the paper shows that a method which reduces only the between-group term can increase the within-group and overall values 1807.00787 §3.2. On COMPAS with logistic regression, the maximum overall unfairness across thresholds is about 0.6, against about 0.01 for the between-group part 1807.00787 §4.2. Card: the same paper.

When to use which

SituationUseWhy
You need one number to rank how unfair two classifiers are, and they may be trained differentlyGeneralized entropy, alpha = 2, on benefits 2, 1, 0Computed from predictions and labels only; the paper uses it to compare models 1807.00787 §1 1807.00787 §4
A group-based method reduces one disparity and you want to see what else changedBetween/within decompositionShows whether the gain is in the between-group term or elsewhere 1807.00787 §3.2
Your benefit values differ from 2, 1, 0Check sensitivity before reportingThe paper says other values could be used but does not test their effect 1807.00787 §2.2
You need an index that splits by groupGeneralized entropy family onlyThe Gini index is not subgroup-decomposable, so the split does not carry over 1807.00787 §2.3
The index is reported for a modelReport accuracy beside itThe fairest model can be far less accurate than the accuracy optimum 1807.00787 app.

Group criteria such as equal false positive rates or equal acceptance rates answer a different question, and they often cannot all hold at once 1807.00787 §1. The index ranks unfairness on one scale; it does not replace a group criterion chosen for the decision at hand [arxiv:1807.00787 §2.4].

Implementation sketch

The core is two functions: the individual index on benefits, and the split into groups. Both follow the formulas as printed in the paper [arxiv:1807.00787 §2.2] 1807.00787 §3.2. The decomposition was not checked numerically in the source card, so test it on a small example before relying on it.

Pseudocode
# Individual unfairness of a binary classifier  [arxiv:1807.00787 §2.2]
# Input:  predictions (n,) in {0, 1}; labels (n,) in {0, 1}; alpha != 0, 1
# Output: scalar unfairness

def individual_unfairness(predictions, labels, alpha):
    # Benefit per person: yhat - y + 1, values in {0, 1, 2}  [eq. 1]
    benefits = predictions - labels + 1
    n = len(benefits)
    # Mean benefit, the denominator of the index  [arxiv:1807.00787 §2.2]
    mean_benefit = sum(benefits) / n
    # Generalized entropy over the benefit vector  [arxiv:1807.00787 eq. 2]
    terms = (benefits / mean_benefit) ** alpha - 1
    return sum(terms) / (n * alpha * (alpha - 1))
Pseudocode
# Split the index into within-group and between-group parts  [§3.2 eq. 5]
# Input:  benefits (n,) >= 0; groups (n,) integer labels; alpha
# Output: within-group part, between-group part (they sum to the total)

def decompose_unfairness(benefits, groups, alpha):
    n = len(benefits)
    mean_benefit = sum(benefits) / n
    within = 0.0
    between = 0.0
    for each group g in set(groups):
        members = benefits[groups == g]
        n_g = len(members)
        mu_g = sum(members) / n_g
        ratio = (mu_g / mean_benefit) ** alpha
        # Between-group term for g  [arxiv:1807.00787 §3.2]
        between += n_g / (n * alpha * (alpha - 1)) * (ratio - 1)
        # Within-group term: weighted index of the group's own benefits
        within += (n_g / n) * ratio * generalized_entropy(members, alpha)
    return within, between

Here generalized_entropy(members, alpha) is the index above applied to one group's benefits, with that group's own mean 1807.00787 §3.2. The index needs non-negative benefits with at least one positive value 1807.00787 §2.2; the 2, 1, 0 map always satisfies this. For alpha = 0 or 1 the closed form is not written out in the paper 1807.00787 §2.3.

Contradictions

None known between papers; only one paper covers this slug so far. Within that paper, the printed appendix values for its example (1.075 and 1.10) are rounded differently from a recomputation (about 1.074 and 1.109). The ordering holds in both 1807.00787 app..

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.