cassionAnalyse de données

Atelier · Avancé

Le tableau que vous n'enverrez pas

Produisez la désagrégation qu'un partenaire a demandée, mesurez son risque de divulgation, appliquez une règle de suppression, puis rédigez la réponse qui la refuse et propose trois choses à la place. Le livrable est la réponse.

PythonVotre propre machine180 min

Une agence partenaire a demandé des effectifs de cas par zone, catégorie, tranche d’âge et sexe, afin de planifier l’implantation d’une équipe mobile. Elle est parfaitement bien intentionnée et la demande est courante.

Le tableau compte 200 cellules et 19 d’entre elles contiennent un seul cas.

Les fichiers

protection-referrals-2024.v1.csv — 1 850 cas de protection avec les champs du circuit et le minimum démographique. Synthétique.

protection-case-management-2024.v1.csv — le registre de gestion de cas pour les 1 108 dossiers ayant consenti et pour lesquels un référencement a été fait. Synthétique.

Ni l’un ni l’autre ne contient de nom, de coordonnée, de texte libre, de date d’incident, de localisation sous l’admin2, d’âge exact, de type d’incident ou de détail sur l’auteur.

Préparez d’abord

Un répertoire de projet, les deux fichiers en lecture seule, un répertoire outputs/, et un script qui s’exécute de haut en bas depuis un noyau propre. Rien dans outputs/ ne doit être un fichier que vous seriez mal à l’aise d’envoyer par courriel — c’est une exigence de ce laboratoire, non une suggestion.

Partie une : construire le tableau demandé et mesurer son risque

Produisez le croisement à quatre entrées demandé par le partenaire. Puis, avant de le regarder comme des données, caractérisez-le comme un risque de divulgation :

  • combien de cellules, combien sous cinq, combien contenant exactement un cas ;
  • quelles combinaisons de dimensions produisent des cellules à un, et dans quelles zones ;
  • ce qu’une personne travaillant dans cette zone apprendrait d’une cellule à un.

Écrivez trois phrases sur ce dernier point. Soyez précis sur ce qui est divulgué — « quelqu’un pourrait être identifié » n’est pas une analyse.

Partie deux : appliquer une règle, y compris la passe secondaire

Écrivez une fonction de suppression qui prend un tableau et un seuil, supprime les cellules en dessous, puis supprime assez de cellules supplémentaires pour qu’une cellule supprimée ne soit pas récupérable en soustrayant les cellules publiées d’un total de ligne publié.

Testez-la : après suppression, vérifiez par du code qu’aucune ligne n’a exactement une cellule supprimée. Une règle que vous n’avez pas testée est une règle que vous n’avez pas appliquée.

Appliquez-la aux seuils 5 et 10 et rapportez la part du tableau qui survit à chacun.

Partie trois : trois réponses sûres à la même question

Le partenaire veut savoir où implanter une équipe mobile. Produisez trois produits qui répondent à cette question et passent le test de divulgation :

  • un tableau agrégé — retirez une dimension jusqu’à ce qu’aucune cellule ne soit sous cinq, et dites laquelle vous avez retirée et ce qui a été perdu ;
  • un taux plutôt qu’un effectif — l’aboutissement du circuit par zone, sur des dénominateurs annuels, avec le n de chacun ;
  • la réponse directe — un paragraphe nommant les zones où une équipe mobile ferait le plus de bien, avec les preuves à l’appui.

La troisième est celle que le partenaire voulait réellement.

Partie quatre : le recoupement par la charge de dossiers

Joignez le registre de gestion de cas et calculez la charge moyenne et de pointe par zone, à côté des revues de plan par dossier et de la part des clôtures pour perte de contact.

Deux choses à traiter avant la jointure : un identifiant de travailleur social apparaît dans deux zones, et 472 dossiers sont encore ouverts à la clôture. Dites ce que vous avez fait de chacune, et assurez-vous que votre charge ne compte pas deux fois l’agent muté.

Répondez ensuite en trois phrases : le tableau de charge modifie-t-il votre recommandation sur l’équipe mobile, et si oui comment ?

Partie cinq : la réponse

Rédigez la réponse au partenaire. Elle doit contenir :

  • le refus, en une phrase, avec la raison précise ;
  • ce que vous fournissez à la place, sous forme de trois produits nommés ;
  • une question en retour — quelle décision la demande alimente ;
  • une voie vers ce qu’ils ont demandé, s’ils en ont vraiment besoin.

Rédigez ensuite l’entrée demandé et refusé telle qu’elle figurerait dans le rapport, qui n’est pas le même document que la réponse.

Vérifiez vos nombres

Attendu
Cellules du tableau à quatre entrées 200
Cellules contenant exactement un cas 19
Cellules contenant quatre cas ou moins 85
Cellules sous cinq en zone par catégorie 0
Aboutissement, handicap signalé environ 26,7 %
Aboutissement, non signalé environ 46,2 %
Charge moyenne la plus élevée environ 33

Si vos chiffres d’aboutissement par handicap diffèrent, vérifiez combien de valeurs possède disability_reported — une zone a employé Yes et No, et un filtre booléen les supprime en silence.

Les questions à traiter en prose

Trois phrases chacune.

1. Votre règle de suppression retire des cellules et le constat d’équité y survit intact. Expliquez pourquoi ce n’est pas une coïncidence, et ce que cela dit des analyses qui méritent d’être défendues.

2. Le partenaire pourrait reconstruire certaines cellules supprimées à partir de vos totaux de ligne publiés si vous n’aviez pas appliqué de passe secondaire. Montrez un exemple travaillé tiré de votre propre tableau, et dites ce que cela implique pour la publication de totaux marginaux.

3. Vous avez refusé une demande d’un collègue bien intentionné. Expliquez ce que vous diriez si la demande était remontée à votre directeur, dans les deux phrases dont vous disposeriez avant d’être interrompu.

À rendre

Un script ou un carnet Python produisant :

  • le tableau demandé avec sa caractérisation de risque
  • la fonction de suppression, son test, et le tableau aux deux seuils
  • les trois produits sûrs
  • le recoupement par charge de dossiers avec les décisions sur l’agent muté et la censure énoncées
  • la réponse et l’entrée « demandé et refusé », en cellules markdown
  • les trois réponses en prose

Comment savoir que c’est fini

Supprimez outputs/, redémarrez le noyau, exécutez une fois, tout se régénère. Ouvrez ensuite chaque fichier d’outputs/ et demandez-vous si vous l’attacheriez à un courriel destiné à quelqu’un hors de votre organisation. Si la réponse est non pour l’un d’eux, le laboratoire n’est pas fini — un tableau supprimé et sûr à envoyer devrait être la seule sortie tabulaire qui existe.

Ce que ce laboratoire n’est pas

Ce n’est pas un exercice juridique ou de politique. Quel accord de partage de données s’applique, qui le signe, et ce qu’exige la loi nationale de protection des données sont des questions pour le référent protection de votre organisation. Ce laboratoire est la part de l’analyste : reconnaître le risque d’un tableau que vous savez produire, le quantifier, le réduire, et écrire la phrase qui refuse la demande sans mettre fin à la conversation.