Zum Inhalt springen

Anleitungen

Fairness zwischen Gruppen

Ein Modell kann seine Genauigkeitsschwelle für jede Gruppe erreichen und dennoch eine von ihnen härter behandeln: doppelt so viele falsch Negative oder halb so viele Auswahlen. oloproof fairness liest eine Datei entschiedener Fälle und fragt, wie weit die Gruppen auseinanderliegen. Es antwortet mit denselben vier Zuständen wie jede andere Regel. Die Paritätsmethode wurde am 3. November 2026 durch ein unabhängiges Audit zugelassen, zu den Bedingungen, die diese Seite nennt: unabhängige Fälle, zuerst deklarierte Gruppen, jede Regel über die Fälle, in denen ihre Merkmale erfasst sind, und Parität gemessen an Ihren Labels.

Die Datei und die Deklaration

Eine CSV- oder JSONL-Datei mit einer Zeile pro Fall: eine ID, das Label (0 oder 1), die Vorhersage (0 oder 1, leer, wenn das System keine gab), optional eine Wahrscheinlichkeit und eine Spalte pro geschütztem Merkmal.

fairness:
  name: loan-screen
  cases: decided.csv
  label: label
  prediction: prediction
  probability: score
  attributes:
    sex: [female, male]
    age_band: [under_30, 30_to_60, over_60]
  intersections:
    - [sex, age_band]
  min_cell: 30
  rules:
    - {id: fnr-by-sex, rate: false_negative, attribute: sex, max_group_gap: 0.05}
    - {id: fnr-crossed, rate: false_negative, attribute: [sex, age_band], max_group_gap: 0.10}
oloproof fairness fairness.yaml --policy release.yaml --json

Das Intervall setzt voraus, dass jeder Fall eine andere Person ist. Benennen Sie die Spalte, die die Person kennzeichnet, mit unit: person_id, dann wird eine Datei abgelehnt, in der eine Person mehrere Fälle hat; ohne sie nennt die Antwort die Annahme.

Die Rate ist eine von error, false_positive (über die mit 0 gelabelten Fälle), false_negative (über die mit 1 gelabelten Fälle) oder selection (1 vorhergesagt, über alle Fälle). Benennen Sie die Gruppen, bevor Sie die Datei lesen. Jede Regel liest nur die Fälle, deren eigene Merkmale mit einem deklarierten Wert erfasst sind; ein Fall, dem ein Merkmal fehlt, wird von den Regeln ausgelassen, die es verwenden, und von den anderen behalten, und jede Antwort zählt, was sie ausließ und warum. Fehlt ein Merkmal bei manchen Menschen häufiger als bei anderen, gilt die Antwort für die Fälle, in denen es erfasst ist, und das ist eine andere Population: Lesen Sie die Zählung vor dem Urteil. Eine Regel, die mehr als max_left_out der Datei auslässt (standardmäßig 10 %; auf der Regel einstellbar), lautet INSUFFICIENT_EVIDENCE, weil die erfassten Fälle womöglich nicht mehr für den Rest stehen. Der Exit-Code ist der der schlechtesten Regel: 0 PASS, 1 FAIL, 3 INSUFFICIENT_EVIDENCE, 4 MANUAL_REVIEW.

Wie es entscheidet

Die Rate jeder Gruppe erhält das exakte Intervall, das Oloproof für eine Rate verwendet, beim Fehlerbudget geteilt durch die Zahl der deklarierten Gruppen. Jede Differenz zwischen zwei Gruppen wird aus diesen Intervallen begrenzt, alle zugleich, sodass kein Paar eine eigene Korrektur braucht. Eine max_group_gap-Regel besteht, wenn das obere Ende jedes Abstands auf oder unter der Schwelle liegt, und scheitert, wenn ein Abstand mit seinem ganzen Intervall über der Schwelle liegt. Eine fehlende Vorhersage bleibt in ihrer Gruppe und wird im ungünstigsten Fall gezählt.

Kleine und gekreuzte Gruppen

Das Kreuzen zweier Merkmale vervielfacht die Zellen, und manche werden klein sein. Eine Zelle mit weniger Fällen mit Vorhersage als min_cell (Fälle, deren Vorhersage fehlt, zählen nicht mit) wird in ihrer eigenen Zeile als INSUFFICIENT_EVIDENCE gemeldet, zählt weiter in der Aufteilung und verhindert, dass die Regel besteht, denn der größte Abstand könnte dort liegen. Sammeln Sie mehr Fälle für diese Zelle, oder deklarieren Sie vor dem Lauf eine gröbere Kreuzung.

Untergrenzen und Abstände

Verwenden Sie worst_group für eine Untergrenze, die jede Gruppe erreichen muss („jede Region löst mindestens 80 %“), und max_group_gap für eine Obergrenze des Abstands zwischen Gruppen („falsch Negative unterscheiden sich um höchstens fünf Punkte“). Eine Governance-Anforderung an unverzerrte Ergebnisse wird zum Teil durch den Abstand belegt, für die gewählte Rate; eine Anforderung, dass jede Gruppe gut bedient wird, durch die Untergrenze. Keines von beiden allein zeigt, dass ein System fair ist. Die meisten Systeme brauchen beides.

Kalibrierung nach Gruppe

Mit einer Wahrscheinlichkeitsspalte wird der erwartete Kalibrierungsfehler jeder Gruppe für jedes Merkmal und jede deklarierte Kreuzung gemeldet, über calibration_bins gleich breite Klassen der Wahrscheinlichkeit (standardmäßig 10). Er entscheidet nie über das Gate: Keine zugelassene Methode begrenzt ihn, und in einer kleinen Gruppe ist er verrauscht.

Was Ihnen das nicht sagen kann

  • Welche Rate fair anzugleichen ist: Das ist Ihre Entscheidung, und sie sollte zusammen mit den gewählten Merkmalen festgehalten werden.
  • Etwas über Gruppen, die Sie nicht deklariert haben, oder über doppelt gezählte Personen (eine Person, mehrere Fälle).
  • Ob sich die Kalibrierung zwischen Gruppen stärker unterscheidet, als der Zufall erklärt.
  • Ob die Labels selbst verzerrt sind: Parität wird an den Labels gemessen, die Sie mitbringen.