cassionAnalyse de données

Formation · Intermédiaire · Restitution et diffusion

Chaînes d'analyse reproductibles

Rendre l'analyse réexécutable par la personne qui vous remplacera — gestion de versions, environnements figés, rapports paramétrés et une organisation de projet qui survit à une passation.

PythonR18 h8 leçons

Ce que vous saurez faire

  • Organiser un projet pour que les données brutes soient en lecture seule, les données dérivées jetables et le code la seule chose éditée
  • Employer git sur un travail d'analyse, et tenir les données de bénéficiaires hors d'un dépôt définitivement
  • Figer un environnement pour que l'ordinateur d'un collègue produise vos nombres
  • Trouver et supprimer ce qui fait différer une réexécution — l'horloge, la graine, la locale, l'ordre des fichiers
  • Produire douze rapports de district depuis un seul modèle paramétré
  • Écrire une passation sur laquelle un successeur peut agir, et une vérification qui échoue bruyamment quand l'export amont casse

Normes et méthodologies

Critères d'évaluation du CAD de l'OCDENorme humanitaire fondamentale (CHS)Définitions d'indicateurs de l'UNICEF

Une analyse que vous seul pouvez réexécuter est un brouillon. Le test n’est pas de savoir si elle fonctionne — c’est de savoir si elle fonctionne encore dans onze mois, sur l’ordinateur de quelqu’un d’autre, après votre départ, quand le fichier source a changé et que personne ne se rappelle de quel onglet venaient les nombres.

Ce cours a ceci d’inhabituel que son exemple travaillé n’est pas un jeu de données. La plateforme que vous lisez est l’étude de cas, et chaque affirmation de la dernière leçon se vérifie sur ce dépôt.

Trois de ces affirmations structurent tout le cours.

Vingt fichiers de données, dix-sept scripts générateurs, et les régénérer tous ne change rien. pnpm datasets:generate réécrit chaque CSV depuis un script à graine fixe, et git status ensuite ne signale aucun fichier modifié. C’est ce que « reproductible » signifie opérationnellement : réexécuter est une étape de vérification, non seulement de production.

Vingt fichiers de tests et 4 212 assertions, exécutés avant chaque compilation. Ils vérifient ce qu’un schéma ne peut pas — qu’un nombre de lignes déclaré correspond au fichier sur le disque, qu’une leçon française référence la figure française, que chaque cours publié livre ses deux éditions PDF. La règle qu’ils encodent : tout champ nommant un fichier livré exige un test à côté, parce qu’un chemin dans un frontmatter est une chaîne de caractères et que rien dans une compilation ne peut dire s’il pointe vers quelque chose.

Un schéma qui refuse les données non synthétiques. dataQuality.synthetic doit valoir true ou la compilation échoue, ce qui fait de « aucun enregistrement ne remonte à une personne réelle » une propriété du dépôt plutôt qu’une promesse dans une note — le même geste que produire les données plutôt que les collecter.

Python et R tout du long, avec uv et renv comme outils d’environnement et Quarto pour les rapports paramétrés. Il vous faut Nettoyage et validation des données d’abord : ce cours porte sur la façon de rendre une chaîne réexécutable, et la chaîne qu’il suppose est celle que ce cours-là construit.

Commencer la formation — Trois sortes de fichiers, et une seule est éditable

Mise en pratique

Lire les leçons ne remplace pas la pratique. Chacun de ces travaux applique la formation à un jeu de données sur lequel elle n'a pas été enseignée.

Progression

L'inscription est gratuite et sert uniquement à enregistrer votre progression : la formation est consultable sans compte.

Emporter hors ligne

L'intégralité de la formation en PDF composé — chaque leçon, chaque exemple de code, le dictionnaire des variables et les définitions d'indicateurs. Produit à partir de la même source que cette page.

La source LaTeX accompagne chaque PDF, afin qu'une organisation puisse adapter le support à sa charte ou intégrer une leçon à son propre kit de formation.