cassionAnalyse de données

Atelier · Intermédiaire

Le constat que le codage a masqué

Une zone a enregistré le handicap en Yes et No au lieu de true et false, scindant le constat d'équité en quatre catégories et laissant une cellule de trois cas à 0 %. Nettoyer la charge de cas, défendre le dénominateur, et rédiger un journal joignable à un rapport de protection.

PythonVotre propre machine120 min

Cette charge de cas existe pour répondre à une question : le circuit de référencement fonctionne-t-il aussi bien pour les personnes déclarant un handicap ? La réponse est dans le fichier. Une incohérence de codage sur une seule zone, large de quarante et un cas, se tient devant.

Lancez la désagrégation sans nettoyer et vous obtenez quatre catégories au lieu de deux, dont une de trois cas avec un taux d’aboutissement de 0 %. Quelqu’un mettra cette cellule dans une diapositive.

Ce laboratoire s’exécute en local plutôt que dans un notebook hébergé, et c’est délibéré. Les données de protection ne vont pas dans une session hébergée, et l’habitude vaut d’être prise même quand le fichier est synthétique.

Le fichier

protection-referrals-2024.v1.csv — 1 850 cas de protection synthétiques suivis de l’accueil au premier service dans trois zones. Il ne porte ni noms, ni coordonnées, ni texte libre, ni date d’incident, ni localisation en dessous de l’admin2, ni âge exact, parce qu’aucun de ces éléments n’est nécessaire pour mesurer si un circuit fonctionne.

Lisez les notes de qualité du jeu de données avant de commencer. Ce qu’il omet fait partie du matériel.

Préparez d’abord

Un dossier de projet avec le fichier brut en lecture seule, un répertoire outputs/, et un script qui s’exécute de bout en bout. Vous le lancerez deux fois — maintenant et à la fin depuis un interpréteur neuf — et c’est la seconde exécution qui compte.

La tâche

Produire un taux d’aboutissement des référencements défendable, désagrégé par statut de handicap, par zone et par service, avec un journal de nettoyage joint.

Six obstacles.

Quatre valeurs dans une colonne booléenne. disability_reported contient true, false, Yes et No. Les quarante et un cas Yes/No proviennent tous d’une même zone admin2. Normalisez avant de regrouper, et vérifiez ensuite le nombre de modalités au lieu de supposer que le recodage a fonctionné.

Le verrou du consentement. Un cas n’ayant pas consenti au référencement n’est pas un échec du circuit — c’est la décision d’une personne. Le dénominateur d’aboutissement, ce sont les cas consentants, pas tous les cas. Deux cent douze cas n’ont pas consenti, et les placer au dénominateur sous-estime le circuit d’environ cinq points tout en trahissant ce que ces personnes ont choisi.

Onze contradictions. Onze cas enregistrent un délai jusqu’au premier service alors que le référencement n’a jamais été accepté. Six d’entre eux n’enregistrent aucun référencement émis, et un n’avait pas de consentement. Décidez ce que signifie chaque état, en notant que « les traiter tous de la même façon » est une décision qu’il faut justifier.

Deux dénominateurs, pas un. Quarante référencements acceptés n’ont aucun délai jusqu’au premier service. L’aboutissement et la promptitude ont donc des dénominateurs différents. Rapportez chacun sur le sien et dites lequel est lequel dans le nom de la colonne.

Soixante-deux tranches d’âge vides. L’âge est le champ que les agents d’accueil manquent le plus souvent et celui dont dépendent le plus de désagrégations. Montrez si les vides se concentrent par zone, par mois ou par catégorie de cas avant de décider de leur sort.

Petits effectifs. Certaines combinaisons de zone, service et statut de handicap comptent moins de cinq cas. Décidez de votre règle de suppression avant de regarder les chiffres, pas après.

Ce qu’il faut rendre

Un script Python, exécuté depuis un interpréteur neuf, produisant :

  • un tableau d’aboutissement par statut de handicap, sur le dénominateur des cas consentants, avec le nombre de cas consentants affiché à côté de chaque taux
  • le même tableau par admin2 et par service demandé, les cellules sous votre seuil de suppression étant supprimées plutôt qu’affichées
  • un tableau de promptitude sur son propre dénominateur, avec la part des référencements acceptés sans date de service
  • un journal de nettoyage en CSV, une ligne par règle — règle, lignes, action, effet sur le taux d’aboutissement, décidé par, date
  • le profil d’arrivée de la leçon 1, enregistré en JSON

Vérifiez vos chiffres

Les notes du jeu de données indiquent ce que trouve une analyse correcte.

Attendu
Cas ayant consenti environ 88,5 %
Aboutissement, cas consentants environ 46 %
Aboutissement, handicap déclaré environ 31 %
Aboutissement, sans handicap déclaré environ 48 %
Aboutissement par service 23 % (moyens d’existence) à 62 % (santé)

Si votre désagrégation par handicap compte plus de deux lignes, le recodage n’a pas été exécuté avant le regroupement. Si l’aboutissement global est plutôt proche de 41 %, vous avez toute la charge de cas au dénominateur au lieu des seuls cas consentants.

Les questions à traiter en prose

Trois phrases chacune.

1. Avant nettoyage, la catégorie Yes contient trois cas et aboutit à 0 %. Dites pourquoi cette cellule est ininterprétable plutôt qu’alarmante, et ce qu’un lecteur aurait conclu d’une diapositive l’affichant.

2. Les quarante et un enregistrements Yes/No proviennent tous d’une même zone admin2. Expliquez ce que cela vous apprend sur l’origine du défaut, et ce que vous feriez à ce sujet qui ne soit pas une modification de code.

3. Vous avez supprimé certaines cellules et rapporté d’autres. Énoncez votre règle, et expliquez pourquoi une règle de suppression choisie après avoir vu les chiffres n’est pas une règle de suppression.

Comment savoir que c’est fini

Supprimez outputs/, redémarrez l’interpréteur, exécutez le script une fois, et tous les tableaux ainsi que le journal sont régénérés à l’identique. Votre journal de nettoyage ne contient aucun identifiant de cas dans une phrase nommant aussi une catégorie de cas et une zone — vérifiez-le en le lisant, car rien dans votre code ne le fera.

Ce que ce laboratoire n’est pas

Ce n’est pas de l’analyse de circuit de référencement. Pourquoi l’aboutissement est le bon indicateur, ce qu’est un nœud de circuit et comment interpréter l’écart lié au handicap relèvent du contenu protection. Ce laboratoire porte sur le nettoyage — un recodage qui doit précéder le regroupement, un dénominateur qui porte une affirmation éthique, des contradictions qui appellent une décision plutôt qu’un filtre, et un journal joignable à un rapport sans créer de risque de protection.