margadrishti-models / reports /fairness_audit.md
adarshcod30's picture
Publish MargaDrishti models, cards and reports
55151a3 verified
|
Raw
History Blame Contribute Delete
4.17 kB

Enforcement-Bias Audit

Generated 2026-09-01 23:22 UTC · MargaDrishti Phase 9

Why this exists

Finding F6: corr(log patrol_hours, log total_captures) = 0.967. Roughly 94% of the variance in per-cell violation counts is explained by how much patrolling happened there — not by how much illegal parking happened there.

Violation records are enforcement observations, not violation occurrences. A model trained on them largely reconstructs the existing patrol roster. Deployed as a recommender, it sends officers where officers have been, generating more records there, confirming itself.

This audit measures how close the system sits to that loop. It does not issue a clearance. The bias is known to exist and cannot be removed from this data; the honest output is a magnitude.

Findings

Test Statistic Concern Interpretation
feedback loop +0.613 MODERATE Spearman rho=+0.613 between score and historical patrol hours - recommendations substantially track past patrolling
under-observation coverage +0.000 HIGH no recommendation reaches an under-observed cell, though 25.8% of cells are flagged - the system only looks where someone already looked
station disparity +0.209 HIGH recommendation Gini 0.796 vs violation Gini 0.587 (excess +0.209) across 53 stations
counterfactual patrol +0.300 MODERATE only 30% of the top-50 cells survive equalising patrol effort (full-ranking tau +0.318)

Highest concern level: HIGH

Deployment-plan coverage

  • Cells assigned: 8 of 1,802
  • Share of total city risk addressed: 10.43%
  • Under-observed cells in the plan: 0
rank cell rcri parking_share under_observed reason
1 8960145b427ffff 0.98443 0.962 False highest remaining risk outside an already-covered area
2 8961892e9abffff 0.88877 0.99 False highest remaining risk outside an already-covered area
3 89601690193ffff 0.79073 0.992 False highest remaining risk outside an already-covered area
4 89618920babffff 0.63428 0.878 False highest remaining risk outside an already-covered area
5 8960145b59bffff 0.46944 0.939 False highest remaining risk outside an already-covered area
6 8960145b543ffff 0.44005 0.96 False highest remaining risk outside an already-covered area
7 8961892e16bffff 0.41807 0.895 False highest remaining risk outside an already-covered area
8 896016964b7ffff 0.41304 1 False highest remaining risk outside an already-covered area

What this system does and does not claim

Does: rank locations by predicted enforcement demand, conditioned on observed patrol effort, with under-observed cells flagged.

Does not: claim to identify where illegal parking actually occurs. Phase 5 established that no Getis-Ord hotspot survives exposure adjustment — the apparent spatial structure of violations is substantially a map of where officers went.

Never: rank or profile an individual officer or vehicle owner. device_id, created_by_id and vehicle_number are used only in aggregate.

Mitigations in force

  1. Enforcement effort enters models as both features and a Poisson offset, so the target is a rate per unit effort rather than a raw count.
  2. Under-observed cells (bottom patrol-coverage quartile) are flagged and surfaced, never silently dropped — excluding them would entrench the existing patrol map.
  3. Constructed indices (CIS, RCRI) are labelled as constructed wherever they appear, and CIS is not externally validated (F16).
  4. Deployment plans carry a per-assignment reason so an inspector can overrule on visible grounds.