Tag Archives: justice

Les modèles prédictifs peuvent-il être justes ?

Dans Nosedive (traduit par le titre Chute Libre en France), le premier épisode de la saison 3 de la série télévisée Black Mirror, on découvre la dystopie d’une une société régie par une « cote personnelle », une note, un score allant de 0 à 5. Dans ce monde, chaque personne note les autres, les mieux notés ayant accès à de meilleurs services (priorité dans les services, meilleurs taux, meilleurs prix, etc). Cette tendance à construire des scores dans toutes sortes de domaines (historiquement sur les crédits mais aujourd’hui sur des aspects criminels, voire civiques dans certains pays) ne va-t-elle pas déboucher sur un monde qui serait un concours de popularité sans fin ? Et comment serait-elle conciliable avec une justice sociale, a priori souhaitable ?

Les scores de crédit et les réseaux sociaux

Un score de crédit est, d’un point de vue actuariel, une grandeur proportionnelle à la probabilité de ne pas honorer ses engagements en tant que créditeur. Ça peut être de plus pouvoir payer les échéances trois mois consécutifs, ou juste d’avoir un retard. Dans la vraie vie, comme toujours, c’est un peu plus compliqué. Aux Etats-Unis ou en Grande Bretagne, il n’est pas rare que les étudiants s’endettent sur des dizaines d’années pour avoir l’opportunité de suivre les cours qui les intéressent (même si la motivation est surtout d’obtenir un diplôme en fin de parcours). Mais surtout, dès qu’ils atteignent d’âge de 18 ans, des sociétés de notation de crédit vont surveiller tous leurs déplacements. Souvent à leur insu. Et si un jour, un crédit consommation ou hypothécaire est refusé, les raisons ne sont jamais motivées. Est-ce un retard dans un paiement de loyer ? Des amendes de bibliothèques oubliées ? Une facture d’eau impayée, vieille de plusieurs années ?

Les sociétés de notation de crédit aux États-Unis, mais aussi en Chine, commencent à étudier la possibilité d’utiliser des données provenant de médias sociaux pour améliorer le score de crédit. Compter le nombre de fois où un utilisateur utilise le mot « gaspillé » (« wasted » en anglais) dans ce qu’il poste en ligne ne peut-il pas révéler une information quant au remboursement de dettes ? C’est en tout cas ce que prétend l’analyste de crédit américain FICO: « If you look at how many times a person says ‘wasted’ in their profile, it has some value in predicting whether they’re going to repay their debt (…) It’s not much, but it’s more than zero » (cité dans McLannahan (2015)). En Chine, le prêteur peer-to-peer Jubao a révélé qu’il était plus susceptible de donner des « bonus » aux emprunteurs s’ils étaient des amis Facebook avec des célébrités, tel que le raconte Botsman (2017).

Pour l’instant, les sociétés de notation de crédit utilisent encore les données qu’elles connaissent bien (factures de services publics et cartes de crédit), mais elles imaginent que bien des informations intéressantes doivent être accessibles (d’une manière ou une autre) sur les réseaux sociaux. Mais les données sont encore rares, et difficiles à analyser. Quid de la composante sarcastique ou humoristique dans un tweet utilisant le mot « wasted » ? Comme souvent, la difficulté est que les données réellement pertinentes sont difficiles à obtenir. S’il est possible d’avoir des informations sur le payement du loyer quand un locataire passe par une agence, que faire pour les transactions entre deux particuliers ? Et si c’était possible, comment traiter le cas de colocataires ? Ne pas obtenir de crédit parce qu’un ancien colocataire n’a pas payé dans les temps devient dérangeant. D’autant plus s’il s’agit peut-être d’une facture de téléphone cellulaire réclamée abusivement par la compagnie de téléphonie, alors que l’abonnement avait été résilié.

Mais le gros « malus » dans le score de crédit est bien souvent le fait de ne jamais avoir eu de carte de crédit. On pourrait penser qu’une personne qui n’a pas eu besoin d’une carte de crédit (et se contentait d’une carte de débit, permettant d’acheter chez un commerçant, comme la majorité des cartes bancaires en France) est le propre d’une personne prudente, qui n’a pas besoin de crédit pour des dépenses quotidiennes. Mais pour les établissements de crédit, cette personne n’est pas fiable car on ne la connait pas. Et c’est à elle de prouver qu’elle l’est (on revient à la pratique récurrente d’inversion de la charge de la preuve évoqué dans Charpentier(2016)). C’est étrangement ce qui se passe aujourd’hui quand on veut entrer sur le sol américain sans avoir de page Facebook.

Dans un monde de surveillance généralisée

Et si les établissements de crédit n’étaient pas les seuls intéressés par notre vie ? Que serait un monde si, en plus de savoir si je paye mes factures à temps, certains cherchaient à connaître mes réseaux d’amis, à savoir quels journaux je lis, si je préfère acheter du lait entier ou du lait demi-écrémé ? Quand on visite le musée de la Stasi à Berlin, on découvre ce monde a existé, que 1 personne sur 63 était agent (ou indicateur) de la Stasi (en comptant les indicateurs occasionnels, la proportion peut atteindre une personne sur 6). Le musée décrit un panoptisme total, chacun étant observé en permanence, comme le décrit Foucault (1975). Mais ce cauchemar ne correspond-il pas à monde actuel, de surveillance permanente, plus ou moins consentie. Surveillance via les téléphones cellulaires (géolocalisation pour la fonction la plus courante, mais parfois aussi des enregistrements audio à l’insu de l’utilisateur par certaines applications), via les objets connectés, mais aussi les caméras de surveillance couplées à des algorithmes de reconnaissance faciale de plus en plus performant. Fin 2017, en Chine 170 millions de caméra étaient installées, et le cap des 300 millions devrait être atteint d’ici 2020. Lors d’une expérience tentée par la BBC[1], il a fallu 7 minutes pour retrouver le journaliste John Sudworth qui se promenait dans les rues.

Le danger est que l’on ne sait jamais trop qui contrôle. De plus en plus de compagnies privées de sécurité se sont associées aux gouvernements. Les fournisseurs de messageries électroniques lisent nos messages pour détecter du spam, mais aussi pour revendre certaines informations. Par exemple, dans les règles de confidentialité annexées aux conditions générales d’utilisation de Gmail (Google) on lit « Nos systèmes automatisés analysent vos contenus (y compris les e-mails) afin de vous proposer des fonctionnalités personnalisées sur les produits, telles que (…) des publicités sur mesure ». Les assureurs envisagent de plus de plus l’installation de boitiers GPS dans les voitures, mais en passant par des prestataires externes. Au-delà de la propriété des données (évoqué dans Charpentier & Suire (2016)) on peut s’interroger sur leur revente, et leur utilisation. Savoir que quelqu’un se rend régulièrement dans un centre de transfusion sanguine est une information potentiellement intéressante, surtout couplée à d’autres.

Depuis 2014, le gouvernement chinois travaille sur un système d’évaluation de ses propres citoyens, programmé pour être mis en place en 2020, comme le raconte Trujillo (2017). Ce « système de crédit social » vise à créer un « score citoyen » (pour reprendre l’expression de Galeon & Bergan (2017)), afin de prédire, et prévenir, les dangers potentiels, normalisant les conduites individuelles par des dispositifs panoptiques (par exemple la vidésurveillance), induisant des réflexes d’autodéfense et d’autocontrôle.  Comme le disait Foucault (1975), il s’agit de « faire que la surveillance soit permanente dans ses effets, même si elle est discontinue dans son action; que la perfection du pouvoir tende à rendre inutile l’actualité de son exercice » (même souvent, aujourd’hui, elle est en plus continue dans son action). Certains de ces scores sont utilisés par la police pour savoir où patrouiller pour faire baisser la criminalité, comme PredPol. Mais quand on y regarde de plus près, les prédictions disent, en substance, que les crimes auront lieu (en majorité) dans les zones (historiquement) les plus criminogènes de la ville. La frontière entre la banalité et la tautologie est étroite. Et le réel danger est que bien souvent, les scores transforment les probabilités en quasi-certitudes, et le soupçon devient une preuve, comme le notait Supiot (2015).

Justice prédictive et méthodes actuarielles

En juin 2010, un rapport de l’Académie de médecine préconisait d”« améliorer la pratique des expertises de dangerosité des criminels sexuels en enseignant et en diffusant les méthodes actuarielles ». Ces « méthodes actuarielles » sont tout simplement les techniques de scoring, de « profilage » tel que le défini le règlement européen relatif aux données personnelles du 27 avril 2016 (RGDP). Angèle Christin s’est intéressée aux algorithmes qui estiment la probabilité de récidive dans la justice pénale américaine. Comme elle l’a montré, ces techniques posent nombre de questions, en particulier des biais discriminatoires, l’opacité qui rend difficile les recours, et surtout la difficulté de comprendre ce qui est réellement calculé. Dans l’État de Virginie, un score entre 1 et 10 est renvoyé, convention reprise par Compas (Correctional Offender Management Profiling Alternative Sanctions ) qui offre en plus un code couleur qui prédit le risque de récidive violent. Il s’agit alors d’un outil d’aide à la décision, une machine ne pouvant placer une personne en détention seule (Christin et al. (2015)).

Les conclusions d’un score prédictif dépendent de deux éléments clés : le modèle utilisé, et les données. Dans la majorité des cas aux Etats Unis, les codes des modèles restent opaques (et donc impossible à attaquer), et rares sont ceux qui ont vu les données utilisées pour calibrer ces modèles. Mais on peut se demander si les décisions de justice ne sont pas eux aussi relativement opaques ? Certes, les juges doivent motiver leurs décisions, ce qui les rend critiquables et attaquables, mais si le processus était si transparent, les issues d’un procès (humains) ne devraient-elles pas être alors davantage prévisibles ? Enfin, les différents biais sont assez simples à comprendre. Supposons qu’être riche permet d’avoir un bon avocat, et avoir un bon avocat permet de ne pas avoir certaines condamnations. Dans ce cas, une variable liée à la richesse (le type de véhicule possédé par exemple) sera liée positivement avec le fait de ne pas être coupable (reconnu coupagle), et fera baisser le score de dangerosité. L’autre danger dans les biais de sélection est qu’ils sont parfois complexes à comprendre, voire paradoxaux. Un exemple classique est celui illustré sur la Figure 1. Pendant la seconde guerre mondiale, il a été demandé à des ingénieurs et des statisticiens comment renforcer les bombardiers qui faisaient face au feu ennemi.

Figure1 : Endroits endommagés des avions revenus (source : McGeddon 2016)

Le statisticien Abraham Wald a commencé à collecter des données sur les impacts dans la carlingue, comme le raconte Mangel & Samaniego (1984). A la surprise générale, il a recommandé de blinder les endroits des appareils qui présentaient le moins de dommages. En effet, les avions utilisés dans l’échantillon présentait un biais important : seuls les avions revenus ont été pris en compte. S’ils ont pu revenir avec des trous au bout des ailes, c’est que ces parties sont suffisamment solides. Et comme aucun avion n’est revenu avec des trous au niveau des moteurs des hélices, ce sont ces parties qu’il convenait de renforcer.

Un autre danger est celui où les relations causales sont inversées. Que penser de ce médecin qui prescrit un puissant neuroleptique à un patient mis en examen, de peur que la justice lui reproche de ne pas avoir vu la dangerosité de son patient, et qu’inversement, la justice s’appuie sur cette prescription pour prouver que le patient est dangereux ? Un algorithme mal conçu pourrait comprendre de travers le sens des relations causales.

Mais les modèles prédictifs en matière judiciaire ne sont pas que du côté des juges. Lors d’un accident corporel sur la route, la loi Badinter  (du 5 juillet 1985) prévoit un « droit à indemnisation » pour toute victime d’un accident de la circulation dans lequel est impliqué un véhicule terrestre à moteur. Lorsque la compagnie d’assurance du conducteur propose une indemnité, la victime fait une rapide analyse coût/bénéfice pour savoir s’il va au tribunal. Si elle ne construit pas formellement un modèle prédictif, elle tente de voir, à partir de quelques éléments à sa connaissance, les coûts de demander à un juge de trancher sur le montant de l’indemnité, et ses bénéfices (potentiels).

Autre point important, les juristes appellent ces modèles « prédictifs » des modèles « actuariels ». Or la première fonction des actuaires était d’actualiser, de calculer la valeur du temps. Et le temps judiciaire a des conséquences souvent désastreuses. En quoi une décision humaine, imparfaite, prise au bout de 5 ans de procédure serait « meilleure » qu’une décision automatique prise en 15 jours par une machine ? Nombre de personnes qui ont connu des procédures de plusieurs années, aboutissant à un non-lieu, rêvent de procédures accélérées. Car le « temps perdu » a une valeur, les actuaires le savent bien.

Que penser alors de cette efficacité des modèles algorithmiques ? La justice se doit d’être efficace, mais cette contrainte ne doit pas faire oublier l’objectif central qui est celui de rendre la justice. Que se passe-t-il si l’efficacité devient un objectif, pour ne pas dire le principal objectif ? Car c’est bien la question que posent les modèles prédictifs : quel est l’objectif que l’on cherche à maximiser ? Et comment le formule-t-on de manière simple ?

Aide à la décision, ou justification d’une prise de décision

Aux Etats-Unis, nombre de juges se sont vu reproché de motiver un jugement à l’aide d’outils d’aide à la décision, ce qui laisse planer un doute sur la fonction réelle de ces outils. L’idée était initialement d’apporter une aide. Récemment, plusieurs systèmes mis en place dans les années passées ont été questionnés. Par exemple en Australie, le STMP (Suspect Targeting Management Plan) proposait d’identifier si des préadolescents doivent être surveillés, ou pas. Ce modèle ressemble à s’y méprendre à n’importe quel modèle actuariel, c’est à dire un outil d’évaluation et prédiction des risques, en se concentrant soit sur les récidivistes, soit sur les personnes suspectées de commettre un futur crime. Or un rapport récent montrait que son utilisation n’a eu « aucun impact observable sur la prévention du crime »[2]. Parallèlement aux Etats-Unis, l’outil Compas (Correctional Offender Management Profiling Alternative Sanctions) a été critiqué dans Dressel & Farid (2017) : « Les défenseurs de ces systèmes soutiennent que les données et l’apprentissage automatique avancé rendent ces analyses plus précises et moins biaisées que celles des humains. Cependant, nous montrons que le logiciel d’évaluation des risques Compas, largement utilisé, n’est pas plus précis ou juste que des prédictions faites par des personnes qui ont peu ou pas du tout d’expertise en matière de justice pénale ». En questionnant des personnes recrutées sur Internet, sans compétences en droit, il s’agissait de prévoir si des personnes allaient, ou pas commettre un autre crime dans les deux ans à venir. Compas s’est trompé dans 34.8% des cas, et les internautes dans 33% des cas. Cela dit, on peut se demander ici ce que “se tromper” signifie. En l’occurrence, on ne mesure pas ici la récidive des personnes, mais la condamnation pour récidive des personnes. Et si les modèles (ou les gens) ne s’étaient pas trompés, mais que les juges, en revanche, oui ?

Prévoir, et se tromper

Et si un des soucis ne venait pas dans ce que l’on demande à un outil prédictif ? Prévoir, c’est (fondamentalement) établir une probabilité pour un fait futur. Comme cela avait été rappelé dans un débat sur les sondages et les élections, est-ce qu’on peut dire qu’on se trompe si on annonce qu’un événement peut se produire avec 5% de chances, et qu’il se produit effectivement ? Pour savoir si une technique de prévision est bonne, il faut collecter un ensemble de prévision, et les comparer aux observations. C’est ce que font les météorologues depuis une quinzaine d’années, et qui a été formalisé par Gneiting et al. (2007). Leur idée est qu’un ensemble de distributions prédictives est obtenu par un modèle \{\hat F_t,\hat F_{t+1},..,\hat F_{t+h}\} et il convient de comparer ces distributions aux observations \{y_t,y_{t+1},..,y_{t+h}\} – et non pas \{\hat y_t,\hat y_{t+1},..,\hat y_{t+h}\}. Il faut alors introduire une distance entre les distributions prédictives, et les observations. Dans un système physique, il est possible d’imaginer comprendre les différentes relations causales, et donc de prévoir. Mais dans les relations humaines (et la justice en est un exemple parfait), rien n’est aussi simple, aussi automatique que les lois de mécanique des fluides qui permettent de modéliser des phénomènes météorologiques.

Références

Binet, Jacques-Louis, 2010, La prévention médicale de la récidive chez les délinquants sexuels. Académie de Médecine.

Botsman, Rachel. 2017. Who Can You Trust?: How Technology Brought Us Together – and Why It Could Drive Us Apart. Portfolio Penguin

Charpentier, Arthur & Suire, Raphaël 2016. Données et santé: valeurs, acteurs et santé. Risques, 107

Charpentier, Arthur. 2016. Les dérives du principe de précaution. Risques. 108

Christin, Agnèle, Rosenblat, Alex & Boyd, Danah 2015. Courts and Predictive Algorithms. Datacivilrights

Dressel, Julie & Farid, Hany 2018. The accuracy, fairness, and limits of predicting recidivism. Science Adavances

Foucault, Michel 1975 Surveiller et punir, naissance de la prison. Gallimard

Galeon, Dom & Bergan, Brad 2017. China’s “Social Credit System” Will Rate How Valuable You Are as a Human. Futurism

Gneiting, Balabdaoui & Raftery 2007. Probabilistic forecasts, calibration and sharpness. JRRS-B, 69, 243–268.

Mangel, Marc & Samaniego, Francisco 1984.  Abraham Wald’s work on aircraft survivability , Journal of the American Statistical Association, vol. 79, no 386,‎ 259–267

McLannahan, 2015 Being ‘wasted’ on Facebook may damage your credit score (Octobre 2015, Financial Times)

Supiot, Alain 2015. La gouvernance par les nombres : cours au Collège de France, 2012-2014. Fayard.

Trujillo, Elsa 2017. La Chine met en place un système de notation de ses citoyens pour 2020. Le Figaro, décembre 2017

[1] Décrit dans « In Your Face: China’s all-seeing state » http://www.bbc.com/news/av/world-asia-china-42248056/in-your-face-china-s-all-seeing-state

[2] https://www.numerama.com/politique/300907-un-algorithme-teste-par-la-police-pour-anticiper-les-crimes-des-jeunes-inquiete-laustralie.html

Justice “actuarielle”, algorithmes… et données

Il y a un peu plus d’un an, Virginie Gautron m’envoyait plein de documents sur la “justice actuarielle”, concept que je découvrais alors. Pour comprendre un peu de quoi il s’agit, je peux renvoyer vers pénalité et gestion des risques : vers une justice « actuarielle » en Europe ? qui dresse un état de l’art, en francais. J’avoue avoir un peu mis de côté ensuite (faute de temps), et puis l’autre jour, j’ai dévoré “surveiller et punir” de Nicolas Bourgoin, qui contient un chapitre sur le sujet.

Sans vouloir tomber dans le cliché des deux cultures (à la CP Snow), il faut bien admettre que pour un économètre, lire des écrits de juristes parlant de modèles prédictifs (ou actuariels) est une expérience marquante. Et ce qui me trouble (j’ai d’ailleurs le même soucis avec la psychologie – c’est un sujet proche) c’est que l’accent est souvent mis sur le modèle, l’algorithme, ce truc qui semble fasciner les juristes, alors qu’il me semble que le cœur du problème, ce sont les données. On nous dit, par exemple, que les algorithmes sont racistes (c’est un peu la thèse de Cathy O’Neil dans Weapons of Math Destruction), mais le problème ce n’est pas le modèle. C’est le fait qu’il y a un énorme biais de sélection dans les données ! Et selon l’adage “garbage in, garbage out“… dit de manière plus policée, je pourrais tenter un “purgamentum init, exit purgamentum” pour parler comme un juriste. Ou dit autrement, si on entre des mauvaises données en entrée, faut pas espérer grand chose en sortie…

Pour comprendre le biais de sélection, on peut relire Mostly Harmless Econometrics de Joshua Angrist et Jörn-Steffen Pischke. En particulier, dans l’introduction, ils posent la question simple suivant : vaut-il mieux, suite à une opération, renvoyer les gens chez eux, ou bien les laisser en chambre de convalescence, à l’hôpital ? Le soucis est que les données sont biaisées : oui, si on regarde les données brutes, ceux qui sont rentré chez eux se sont remis plus vite… mais peut être a-t-on autorisé les gens à rentrer justement parce qu’ils allaient bien ? Et on retrouve ce biais de sélection un peu partout. Probablement même encore davantage dans les problèmes relatifs à la justice.

Prenons un exemple simple. On va s’intéresser à la probabilité d’être coupable d’un crime, et d’être condamné par la justice. C’est ma variable Y. Pour avoir un modèle économétrique, il me faut des variables explicatives. J’ai une variable X_3 et une autre X_4, la première influençant vraiment la probabilité de commettre un crime, et l’autre étant juste du bruit. Maintenant, entrons dans le coeur du modèle. Supposons que j’ai une variable corrélée à ma richesse \tilde{X}_2, comme le lieu d’habitation, un critère racial, ou pour faire simple le diplôme. Notons X_1 le niveau de diplôme de la personne (mais encore une fois, on peut imaginer n’importe quoi, l’idée est que cette variable est corrélée à la richesse). Et surtout, cette variable n’est pas du tout une variable causale dans mon modèle. La probabilité de commettre un crime n’est pas influencée par X_1. Une personne ayant un diplôme de second cycle universitaire a autant de chance de commettre un crime qu’une personne ayant raté le brevet. On va même supposer que la probabilité de commettre un crime soit indépendante de la richesse. En fait, la richesse me permet de payer un bon avocat. Et avoir un bon avocat permet de diminuer la probabilité d’être condamné. Pour faire simple, j’ai deux niveaux de richesse, qui me donne soit un avocat commis d’office, soit un avocat qui s’impliquera peut être davantage (je simplifie à des fins pédagogiques). Bref, mon modèle aura la forme suivante : la probabilité d’être condamné pour un crime s’écrit p=(0.025+0.05\cdot X_3)\cdot[k\cdot \mathbb{1}(X_2=R)+\mathbb{1}(X_2=P)] Autrement dit, ma probabilité est une fonction croissante (linéaire) de X_3, et si je suis riche (ce qu’on note X_2=R), j’ai moins de chance d’être condamné, avec un facteur k\in[0,1], toutes choses étant égales par ailleurs, ceteris paribus, histoire de parler latin comme les juristes.

Pour simuler un jeu de données, on considère une population d’un million de personnes, et je suppose que ma richesse est très corrélée avec mon niveau de diplôme. Pour info, la classe A ce sont les gens les plus diplômés, et je suppose qu’un bon avocat divise par trois la chance d’être condamné.

 n=1000000
 r=.95
 k=1/3
 S=matrix(c(1,r,r,1),2,2)
 library(mnormt)
 set.seed(1)
 vectX=rmnorm(n,varcov=S)
 X1=cut(vectX[,1],breaks=c(-10,1,-1,10), c("C","B","A"))
 X1=relevel(X1,"A")
 X2=cut(vectX[,2],breaks=c(-10,1,10),c("P","R"))
 X3=runif(n)
 X4=runif(n)
 Y1=rbinom(n,size = 1,prob=(.025+.05*X3)*(k*(X2=="R")+(X2=="P")))
 B0=data.frame(X1,X2,X3,X4,Y1)

On peut faire un peu de statistiques pour regarder les caractéristiques des gens condamnés (uniquement)

B1=data.frame(X1=X1[Y1==1],X2=X2[Y1==1],X3=X3[Y1==1],X4=X4[Y1==1])

Par exemple si je regarde la proportion de gens les plus diplômés: ils sont 15% dans la population totale, et 5% parmi les personnes condamnées

 mean(B0$X1=="A")
[1] 0.158734
 mean(B1$X1=="A")
[1] 0.05016072
 t.test(B0$X1=="A",B1$X1=="A")
data:  B0$X1 == "A" and B1$X1 == "A"
t = 219.5, df = 1283500, p-value < 2.2e-16
95 percent confidence interval:
 0.1076038 0.1095428
sample estimates:
 mean of x  mean of y 
0.15873400 0.05016072

Autrement dit, on a une différence significative entre ces deux pourcentages. Pareil si je regarde la valeur moyenne de X_3, qui était de 50% dans la population et de 58% dans la population condamnée

 t.test(B0$X3,B1$X3)
data:  B0$X3 and B1$X3
t = -163.46, df = 844940, p-value < 2.2e-16
95 percent confidence interval:
 -0.08455430 -0.08255058
sample estimates:
mean of x mean of y 
0.5000094 0.5835618

alors que pour X_4, on a 50% dans la population totale, et 50% dans la population condamnée. Mais on s’y attendait….

 t.test(B0$X4,B1$X4)
data:  B0$X4 and B1$X4
t = -0.81161, df = 48645, p-value = 0.417
95 percent confidence interval:
 -0.003869879  0.001603452
sample estimates:
mean of x mean of y 
0.5001326 0.5012659

Passons à la seconde phase. Il semble y avoir un vrai intérêt dans la littérature sur les modèles actuariels pour la construction de modèles liés à la probabilité de récidive. Là encore, je vais faire une hypothèse forte : faire de la prison n’influence en rien la probabilité de récidiver. Autrement dit, pour cette population déjà condamnée, je vais refaire tourner mes simulations, avec une probabilité de commettre un crime qui dépend seulement de X_3, mais avec toujours notre effet richesse qui permet de payer un avocat qui fera baisser la probabilité d’être condamné.

 set.seed(2)
 n1=nrow(B1)
 Y2=rbinom(n1,size = 1,prob=(.025+.05*B1$X3)*(k*(B1$X2=="R")+(B1$X2=="P")))
 B2=cbind(B1,Y2)
 reg=glm(Y2~X1+X3+X4,data=B2,family=binomial)

J’ai construit ici mon modèle permettant de calculer une probabilité de récidive. Le modèle est construit sur le niveau de diplôme X_1 (qui n’influence en rien, encore une fois, la probabilité de commettre un crime), la variable X_3 (qui effectivement joue un rôle) et la variable de bruit X_4.

 set.seed(2)
 n1=nrow(B1)
 Y2=rbinom(n1,size = 1,prob=(.025+.05*B1$X3)*(k*(B1$X2=="R")+(B1$X2=="P")))
 B2=cbind(B1,Y2)
 reg=glm(Y2~X1+X3+X4,data=B2,family=binomial)

Je fais ici un score logistique car c’est le plus logique.

 summary(reg)
Coefficients:
            Estimate Std. Error z value  Pr(|z|)    
Inter.) -4.04753    0.11592 -34.916    2e-16 ***
X1C      0.61311    0.10914   5.618 1.93e-08 ***
X1B      0.68807    0.09977   6.896 5.34e-12 ***
X3       1.00610    0.08052  12.495    2e-16 ***
X4      -0.13562    0.07286  -1.861   0.0627 .

Premier élément à observer, la variable X_4 est à la limite d’être significative… Certains auteurs sur ces thèmes diraient que c’est un signal faible. Pourtant, en l’occurence, c’est du bruit ! Juste du bruit !! Et parmi les signaux forts, très clairement significatifs, on retrouve X_1, notre niveau de diplôme. Ici, si on est faiblement qualifié (niveaux B ou C) alors on a une chance de récidive beaucoup plus importante ! C’est très fortement significatif ! Alors que pour rappel, la probabilé de commettre un crime, et de récidiver n’est aucunement causé par cette variable ! C’est juste une variable corrélée avec la variable richesse, qui permet de faire baisser la probabilité d’être condamné.

Plus intéressant, si je regarde la valeur du coefficient, en fonction de k, autrement dit la valeur d’un bon avocat (que l’on peut s’offrir si on est riche) on obtient la courbe suivante.

Autrement, sur la partie droite, même si un bon avocat ne baisse que de 5% la chance d’être condamné, le niveau de diplôme semble être significativement liée à la probabilté de récidive. Avec un pic autour de 30%. Si les avocats ont un pouvoir incroyable, par exemple en divisant par 20 la probabilité d’être condamné, étrangement, la variable de diplôme redevient très peu significative, mais je pense que c’est parce qu’on n’a alors plus personne de très diplômé dans la base.

On pourrait me reprocher d’avoir une corrélation trop forte entre richesse et niveau de diplôme, ici. En mettant une corrélation à 70% (dans mon modèle Gaussien latent), j’obtiens

qui donne un effet moindre, mais là encore, si un bon avocat permet de réduire la probabilité d’être condamné par un facteur compris entre 5% et 90%, alors la variable de diplôme semblera significative.

Mon modèle n’est pas faux ici. C’est essentiellement que j’ai un biais dans mes données. Et ne pas en tenir compte fait que le modèle n’a aucun sens, et ne peut pas être interprété sans commettre d’erreurs (et ici je cumule les âneries, en voyant un signal faible alors qu’il y a du bruit, et en voyant un signal fort pour une variable qui n’a aucun lien causal). J’insiste lourdement, mais le diplôme n’intervient aucunement ici. Et on peut remplacer le diplôme par toute variable corrélée à la richesse, comme locataire et propriétaire, etc.

Bref, l’utilisation de modèles économétrique dans des problèmes judiciaires n’est pas simple ! Je parle ici de biais de sélection, mais la formulation qui me semble la plus juste serait une mauvaise spécification du modèle (on n’utilise pas les bonnes variables, mais ces dernières sont peut-être non-observables – ou difficiles à justifier éthiquement : peut-on demander le revenu de la personne pour faire un score de récidive, et avoir un score qui dépende effectivement du revenu ?). Il y a aussi un problème d’identification, car on a du mal à savoir ce qui influence le fait de commettre un crime, et la condamnation. Ce qu’on observe, ce sont les condamnations, pas les actes (je ne parle pas des condamnations à tort ici, que j’avais pu évoquer dans un autre billet, sur le principe de précaution). Mais j’essayerais de revenir sur ce point après les vacances….

Dernière anecdote pour finir. Après avoir découvert ces modèles via Virginie Gautron, j’avais discuté avec une amie, présidente de tribunal, qui me parlait de la nullité des experts qu’elle avait sous la main. Et elle voulait faire un peu de ménage. Bref, elle me demandait si je pouvais faire un modèle attribuant un score à un expert. Et là encore, ma réponse a été que oui, faire un modèle c’est facile, à condition d’avoir des données. Comment puis-je avoir un score Y d’un expert? Qui sait ce qu’est un bon expert? C’est quelqu’un contre qui on ne demande pas de contre-expertise? Malheureusement, la justice ne fonctionne pas ainsi, et la demande n’a rien à voir avec la qualité de l’expert. Et la qualité, vu du point de vue de la juge, est une notion qui peut être très différente de celle des deux parties qui s’opposent… Bref, je pourrais facilement faire un modèle. Mais en avoir un qui ait du sens, c’est une autre paire de manches !

Les dérives du principe de précaution

« Dans le doute, abstiens-toi » dit la sagesse populaire. Le principe de précaution (en allemand Vorsorgeprinzip) est né de l’idée qu’il convient d’accepter qu’il existe un doute, ou une incertitude (scientifique), dans la connaissance des risques. Il y a un peu plus de 20 ans, la loi Barnier introduisait le principe de précaution dans le droit français, pour le « risque de dommages graves et irréversibles à l’environnement », communément appelés “risque environnemental”. Il y a un peu plus de 10 ans, il a été inscrit dans la Constitution, approuvé par 531 députés, exprimant ainsi un très large consensus politique, probablement aussi social. Mais aujourd’hui, le principe de précaution est évoqué dans des contextes tout aussi divers que le risque d’actes de terrorisme, mais aussi des procédures de droit civil, ou pénal. Quelles sont les conséquences de cette dérive de l’utilisation du principe de précaution ?

Continue reading Les dérives du principe de précaution

De quoi a parlé le Président de la République pendant 5 ans ?

En juillet 2010, le Canard Enchaîné évoquait, en première page, les drôles de guerres de Nicolas Sarkozy. L’article notait que le Président de la République Française avait tendance à voir des guerres partout. N’ayant pas les outils d’archivage suffisant pour creuser, je me suis dis qu’il serait toutefois assez facile de voir si le Président de la République utilise souvent cette rhétorique guerrière dans ses discours. Un peu dans le même esprit qu’un vieux billet montrant que l’on peut reconnaître le Président au travers du discours de fin d’année.

On peut aller sur la page http://www.elysee.fr/ pour trouver des liens vers tous les discours du président, que l’on va scanner, et parcourir,

elysee=scan(
"http://www.elysee.fr/president/les-actualites/
discours/discours.18.html",
what="character")
which(elysee=="id=\"mainContent\">")
nl=nchar("/president/les-actualites/discours/")
n=pmin(nchar(elysee),nl)
L=which(substr(elysee,1,n)==
"/president/les-actualites/discours/")
LIST=elysee[L]
ULIST=unique(LIST)
ULIST=ULIST[-length(ULIST)]
ULIST=strsplit(ULIST, '\'>')
pages=unlist(ULIST)
pages=pages[substr(pages,1,4)=="/pre"]

Ensuite, on va balayer toutes les pages de discours, et extraire les mots. La difficulté est d’identifier le discours, i.e. le début et la fin. Pour le début, je cherche les messieurs et les mesdames, voire les altesses et autre majestés. Dans un discours, je cherche un lieu car le discours ne commence pas par une interpellation, comme les autres. Quant à la fin, je cherche les vive et les merci. Là encore, il y a un discours qui ne fini pas. Je cherche alors un lien vers la biographie du président. Après, on cherche la date, souvent avant le début du discours.

longueur=0
DATEDISCOURS=rep(NA,length(pages))
for(i in 1:length(pages)){
discours=scan(paste("http://www.elysee.fr",
pages[i],sep=""),what="character")
if(length(discours)!=longueur){
(indice1=which(discours%in%c("Mesdames,","Mesdames","chers",
"Madame","Monsieur","Messieurs","Majesté,","Altesse,","L'Ile")))
(indice2=which(discours%in%c("Vive","remercie.")))
(indice3=which(discours==
"href='/president/la-presidence/le-president-de-la-republique/
nicolas-sarkozy-biographie/nicolas-sarkozy-
biographie-officielle.482.html'"))
if(length(indice2)==0){indice2=indice3[length(indice3)-1]}
LD=discours[(indice1[1]+2):(indice2[1]-1)]
banir=c("<br","<p>","</p>","/>","--","-",":")
sentence=LD[-which(LD%in%banir)]
#mots=lower.case(mots)
sentence = gsub('[[:punct:]]', '', sentence)
sentence = gsub('[[:cntrl:]]', '', sentence)
sentence = gsub('\\d+', '', sentence)
#sentence = lower.case(sentence)
sentence = tolower(sentence)
word.list = strsplit(sentence, '\\s+')
words = unlist(word.list)
sdate=discours[indice1[1]+((-200):1)]
isd=which(sdate%in%c("Lundi","Mardi","Mercredi","Jeudi",
"Vendredi","Samedi","Dimanche"))
MOIS=c("janvier","février","mars","avril","mai","juin",
"juillet","août","septembre","octobre","novembre","décembre")
mois=which(MOIS==sdate[isd+2])
date=paste(mois,"-",substr(sdate[isd+3],1,4),sep="")
if(length(mois)==0){date="99-9999"}
if(length(mois)>0){if(mois<10){date=paste("0",mois,"-",
substr(sdate[isd+3],1,4),sep="")}}
print(paste(i," --- ",date," ----- ",length(words)))
write.table(words,paste("/home/discours/discours",i,".txt",sep=""))
DATEDISCOURS[i]=date}
longueur=length(discours)
}

La stratégie est de stocker les listes de mots, discours par discours, dans des fichiers séparés. On va ensuite aller balayer ces fichiers, à la recherche de mots intéressants. C’est ce que fait la petite fonction suivante

DATEDISCOURS0=DATEDISCOURS
for(i in 1:length(DATEDISCOURS0)){
if(is.na(DATEDISCOURS0[i])){
DATEDISCOURS0[i]=DATEDISCOURS0[i=1]}
if(DATEDISCOURS0[i]=="-9900"){
DATEDISCOURS0[i]=DATEDISCOURS0[i=1]}
}
comptage=function(MOT="devoir",normalise=TRUE){
DATES=paste(rep(c(paste("0",1:9,sep=""),
10:12),6),rep(2007:2012,each=12),sep="-")
COMPTE=rep(0,length(DATES))
COMPTENorm=COMPTE
Li=(1:length(pages))[-133]
for(i in Li){
if(is.na(DATEDISCOURS[i])==FALSE){
listemots=read.table(paste(
"/home/discours/discours",i,".txt",sep=""))
COMPTE[DATES==DATEDISCOURS0[i]]=
COMPTE[DATES==DATEDISCOURS0[i]]+
sum(listemots==MOT)
COMPTENorm[DATES==DATEDISCOURS0[i]]=
COMPTENorm[DATES==DATEDISCOURS0[i]]+
sum(listemots=="le")+sum(listemots=="la")+
sum(listemots=="une")+sum(listemots=="un")
}
}
if(normalise==FALSE){
plot(seq(2007+1/24,2012+11/24,by=1/12),
COMPTE[1:66],type="s",col="red",xlab="",
ylab="",axes=FALSE);
axis(1);axis(2);title(MOT)}
if(normalise==TRUE){
ratio=COMPTE[1:66]/COMPTENorm[1:66]*
mean(COMPTENorm[1:66])
ratio[is.nan(ratio)]=NA
plot(seq(2007+1/24,2012+11/24,by=1/12),
COMPTE[1:66]/COMPTENorm[1:66]*mean(
COMPTENorm[1:66]),type="p",col="red",xlab="",
ylab="",axes=FALSE);
axis(1);axis(2);title(MOT)
tp=seq(2007+1/24,2012+11/24,by=1/12)
reg=lm(ratio~bs(tp,7))
lines(seq(2007+15/24,2012+3/24,by=1/24),
predict(reg,newdata=data.frame(tp=
seq(2007+15/24,2012+3/24,by=1/24))))
}}

Comme il n’y a pas des discours toutes les semaines, on peut normaliser le comptage. Pour ça, je compare avec un comptage de mots basiques, comme le, la, une ou un. Pour revenir à la question qui nous intéressait au début de ce billet,

comptage("guerre")

C’est un mot important, visiblement, qui a eu son heure de gloire fin 2007, que l’on retrouve ponctuellement depuis, et qui semble être revenu dans la bouche du Président au cours des derniers mois. Par comparaison, la justice est à peine plus évoquée, et semble en perte de vitesse depuis quelques années

comptage("justice")

On peut noter que la sécurité,

comptage("sécurité")

ou la police

comptage("police")

ont eu leur heure de gloire au milieu du quinquennat. Parmi les mots qui ont gardé une importance constante, mais à peine plus présent que la guerre, il y a le travail,

comptage("travail")

alors que la santé peine, mais remonte depuis quelques mois,

comptage("santé")

Cela dit, le Président veut que l’on soit heureux,

comptage("heureux")

même si cela reste globalement assez faible. Ou bien il nous dit qu’il est heureux. Parce qu’avec mon comptage je ne sais pas trop de qui il parle dans ses discours… Enfin… si, on le sait de qui il parle…

comptage("je")