Enquête sur les préjugés raciaux chez Terry s’arrête à Seattle avec l’apprentissage automatique
Il y a eu une montée des tensions entre les forces de l’ordre et le public. J’ai vu et lu de nombreux articles de presse avec beaucoup de rhétorique. En tant que nouveau Seattleite, je voulais savoir s’il y avait un parti pris racial avec les forces de l’ordre et la race dans la ville de Seattle. J’ai décidé de me pencher sur Terry Stops joué dans la ville de Seattle et d’en venir à ma propre conclusion.
Grâce à Seattle Programme Open Data, J’ai pu télécharger le Terry Stop Data au cours des dernières années, effectuer des analyses statistiques et exploratoires sur les données, dans le but de créer un modèle qui prédirait la race d’un sujet qui avait été arrêté par un officier. Cette prédiction ne peut-elle être faite que par les informations démographiques de l’agent et du sujet?
Principales conclusions
- Les résidents blancs sont le groupe le plus arrêté avec 51% des arrêts Terry et 66% de la population de Seattle
- Les résidents noirs sont le deuxième groupe le plus arrêté, représentant 31% des arrêts et représentent 8% de la population de Seattle
- Les résidents noirs et multiraciaux avaient le pourcentage le plus élevé de la population juvénile (1 à 17 ans) arrêté à 8% et 7,7% respectivement (p <0,05)
- Les résidents blancs sont les plus arrêtés, cependant, ils ont le taux de frisk le plus bas parmi toutes les races à 18% (p <0,05)
- Bien qu’il existe des résultats significatifs dans une différence de Terry Stops & Frisks entre les races, les modèles n’ont pas pu prédire avec précision la race d’un sujet (ou fouiller) avec uniquement des données démographiques des officiers.
Qu’est-ce qu’un Terry Stop?
En vertu de la décision Terry v. Ohio de 1968, un policier peut arrêter et détenir une personne sur la base de soupçons raisonnables. Et, si la police soupçonne raisonnablement que la personne est armée et dangereuse, elle peut également la fouiller pour trouver des armes. Un arrêt est justifié si le suspect présente une combinaison des comportements suivants:
- Semble ne pas correspondre à l’heure ni au lieu.
- Correspond à la description sur un dépliant «Wanted».
- Agit étrangement, ou est émotif, en colère, craintif ou intoxiqué.
- Flâner ou chercher quelque chose.
- Fuir ou s’engager dans des mouvements furtifs.
- Présent dans une zone de scène de crime.
- Présent dans une zone à forte criminalité (pas suffisant en soi ou avec flânerie).
Qu’est-ce qu’un Frisk?
Une fouille est un type de recherche qui nécessite un arrêt légal. Cela implique le contact ou le tapotement des vêtements d’extérieur de la personne pour détecter si une arme dissimulée est transportée. La fouille ne suit pas nécessairement toujours un arrêt. La loi de la fouille est basée sur la norme du «policier expérimenté» selon laquelle l’expérience d’un officier le rend plus apte à lire sur le comportement criminel que le profane moyen. Le but d’une fouille est de dissiper les soupçons de danger pour l’officier et les autres personnes. La fouille ne doit être utilisée que pour détecter les armes dissimulées ou la contrebande. Si d’autres éléments de preuve, tels qu’un contenant suspect de drogue, peuvent être ressentis sous les vêtements du suspect, ils peuvent être saisis par l’agent.
Une fouille est justifiée dans les circonstances suivantes:
- Souci de la sécurité du policier ou des autres.
- Soupçonner que le suspect est armé et dangereux.
- Soupçonner que le suspect est sur le point de commettre un crime où une arme est couramment utilisée.
- L’officier est seul et la sauvegarde n’est pas arrivée.
- Nombre de suspects et leur taille physique.
- Comportement, état émotionnel et / ou apparence des suspects.
- Le suspect a donné des réponses évasives lors de l’arrêt initial.
- Moment de la journée et / ou environnement géographique (pas suffisant en soi pour justifier une fouille rapide).
Un arrêt nécessite une suspicion raisonnable, un ensemble de circonstances factuelles qui conduiraient un policier raisonnable à croire qu’une activité criminelle se produit. Un Frisk est basé sur le «Officier de police expérimenté». Certains des comportements ci-dessus peuvent être considérés comme subjectifs.
En quoi est-ce important?
Il y a une différence entre un policier qui arrête un individu, ce qui est une définition tactique, et la promotion systématique de cette tactique au niveau départemental ou municipal, ce qui peut nuire à la confiance entre la police et la communauté et conduire à des accusations de profilage racial. – Wikipédia Terry_stop
L’objectif est d’enquêter sur les Terry Stops à Seattle par race du sujet et de l’agent, et de mieux comprendre si le pourcentage d’arrêts correspond à la démographie de la ville. Aussi, pour aider à identifier si certains agents ont une prévalence plus élevée d’arrêts d’une certaine race.
le Terry Stop Data a été obtenu et importé de Seattle Programme Open Data et contenait 34521 officiers arrêtant de capturer 23 longs métrages du 1er octobre 2015 au 5 mai 2019.
Pour transformer les données en un format utilisable, les étapes suivantes ont été prises:
- Supprimez les colonnes inutiles: principalement des données relatives aux informations démographiques du sujet et de l’agent
- Convertir les types de colonnes: la plupart des fonctionnalités étaient catégoriques
- Gérez les valeurs manquantes: enregistrements contenant des informations cruciales manquantes (c’est à dire. subject_race) ont été supprimés
- Transformez les données: transformation supplémentaire des données nécessaire pour une analyse et une utilisation plus faciles par des algorithmes d’apprentissage automatique. Par exemple, changer la transformation des données de la colonne « YOB de l’officier » en âge de l’officier au moment de l’arrêt ou changer une colonne de type « indicateur » en type booléen.
- Vérifiez les données non valides: Abandon des dossiers où les officiers avaient plus de 100 ans ou des ID d’officier négatifs.
Avant de vous lancer dans la création d’un modèle – jetons un coup d’œil aux données. Seule une partie de l’EDA est examinée ici – voir les informations complètes dans le référentiel github.
1 | Quelle est la comparaison raciale des arrêts?
Nous constatons qu’entre 2015 et 2019, les Noirs représentent 31% du total des Terry Stops. Par rapport aux données de population du recensement de 2010, tous les groupes à l’exception des «autres» et des noirs sont arrêtés à un point de pourcentage inférieur à la population.
2 | Y a-t-il une différence de genre entre les races?
Dans toutes les races, la plupart des arrêts étaient des sujets masculins.
3 | Quels sont les taux d’arrestation et de fouille par race?
4 | Existe-t-il une différence de comparaison raciale des arrêts par race de l’officier?
Les officiers blancs ne montreront pas beaucoup de différence par rapport à la moyenne car ils représentent 78% des officiers faisant des Terry Stops. Chaque course suit largement le pourcentage moyen d’arrêts pour chaque course. (voir le cahier github pour les graphiques de toutes les races) Les officiers asiatiques arrêtent les sujets blancs 7% de plus et les officiers amérindiens arrêtent les sujets noirs 13% de plus et les sujets blancs 14% de moins.
Le graphique ci-dessous affiche le même graphique avec les proportions d’arrêt d’officier blanc par rapport aux officiers non blancs.
Il y a des parcelles interactives Bokeh supplémentaires dans le cahier d’origine lorsqu’il est exécuté localement. Vous pouvez afficher des graphiques similaires via ce public Tableau de bord Tableau.
Deux types de modèles ont été créés.
- La classification multi-classes de prédire la course du sujet arrêté.
- La classification binaire de prédire si un sujet arrêté sera fouillé.
Data Wrangling (suite)
Des conflits de données supplémentaires devaient se produire pour préparer les données pour le pipeline d’apprentissage automatique.
- subject_age était une caractéristique catégorique répertoriée comme des plages c.-à-d. «26 –35». Ce nombre a été divisé et en moyenne
- inital_call_type était une fonction qui décrivait la façon dont l’appel avait été lancé. Les données se limitaient aux types d’observations «sur vue». Onview est le moment où l’arrêt (ou l’incident) a été observé par l’agent (par rapport à une réponse à la répartition).
- caractéristiques catégoriques certaines caractéristiques étaient de nature catégorique et devaient être traduites en variables fictives
- ‘battre’ les NaN ont été supprimés. Étant donné que ces valeurs décrivent l’emplacement de l’incident, il n’était pas logique de conserver ou de modifier ces valeurs NaN.
- subject_race la variable cible a été convertie en codes de catégorie puis convertie en variables fictives pour le classificateur. Des variables fictives ont été créées en raison du nombre de classes. Je voulais m’assurer qu’aucune valeur n’était associée à la «valeur» du nombre qui lui était prescrit dans la désignation des codes de catégorie.
Sélection du modèle
Parce qu’il s’agit d’un problème de classification multi-classe, les classificateurs choisis et la réévaluation ont été:
- Régression logistique – précision et temps de formation rapide, interprétation probabalistique
- Classificateur de forêt aléatoire – précision multi-classe et temps de formation rapide
- Classificateur KNeighbors – un hyper paramètre, très facile à implémenter pour multi-classe
- One Vs. Classificateur de repos a été choisi en raison du scénario multi-classes. Je voulais un ensemble de probabilités pour chaque course.
Pipelines de prétraitement
- Technique de suréchantillonnage des minorités synthétiques (SMOTE) a été utilisé en raison de données déséquilibrées sur les 6 classes. SMOTE a été utilisé pour rééchantillonner les classes minoritaires pendant le pipeline.
- pipeline déséquilibré a été utilisé en raison de l’ensemble de données déséquilibré. Cela a permis un rééchantillonnage au cours du processus de pipeline
- Détartreur standard a été utilisé pour mettre à l’échelle les données
- GridSearchCV a été utilisé pour effectuer une validation croisée 5 fois sur les paramètres sélectionnés pour chaque classificateur.
- Test-Train-Split a été utilisé pour mettre de côté l’ensemble de test, avec une taille de test de 20%.
Indicateurs de performance
- Perte de journal a été utilisé pour le problème multi-classes. Cette métrique est mieux utilisée que la précision pour le déséquilibre observé dans les données. En plus de l’évaluation de la précision, du rappel et de l’exactitude de la matrice de confusion et du rapport de classification, pour aider à visualiser et interpréter la performance des données
- Précision le score a été utilisé pour le modèle binaire.
Résultats
Sujet Prédiction de race
Perte de journal: .426
Log-Loss est utilisé comme mesure de performance pour ce modèle. Il prend en compte l’incertitude de la prédiction en fonction de son écart par rapport à l’étiquette réelle.
La valeur non informative de la perte de log pour un ensemble de données équilibré avec six classes 1,79. La perte de log pour ce modèle est inférieure à la valeur de 1,79, mais le modèle n’explique pas bien la variance. Les prédictions observées étaient bien en deçà du seuil pour prédire en toute confiance n’importe quelle classe. Pour toutes les classes, un 0 a été prévu, confirmant la faible confiance dans chaque classe et résultant en un score de faible précision.
Cela m’amène à croire que plus d’informations sont nécessaires pour prédire la race d’un sujet arrêté que seulement les informations démographiques et l’emplacement de l’arrêt.
Ce modèle regroupe tous les officiers dans le même modèle, décidant uniquement des informations démographiques des officiers et des sujets. Cependant, une personne peut avoir un certain parti pris, tandis qu’une personne appartenant à la même race peut ne pas avoir ce même parti pris.