Ressources sur la programmation des évaluations aléatoires
Summary
Cette page rassemble des ressources sur les logiciels utiles pour la programmation, les commandes écrites par les utilisateurs pour les évaluations aléatoires, la programmation en équipe et la rédaction d’un code reproductible. Les commandes écrites par les utilisateurs qui sont répertoriées ci-dessous permettent notamment d’exécuter les contrôles les plus souvent utilisés dans le cadre des évaluations aléatoires, ou constituent des versions plus rapides de commandes fréquemment utilisées sous Stata et sous R.
Commandes utiles pour les évaluations aléatoires
Les programmes et le code écrits par des utilisateurs peuvent faciliter le contrôle du bon déroulement des étapes clés de l’évaluation aléatoire. J-PAL et IPA (Innovations for Poverty Action) ont ainsi rédigé plusieurs commandes sous Stata et sous R qui permettent d’exécuter des contrôles et des comparaisons utiles.
- Les tests d’équilibrage indiquent si les variables sont équilibrées entre le groupe de traitement et le groupe témoin ; pour plus d’informations, voir la ressource sur la randomisation.
- Les back checks permettent aux chercheurs de comparer une version abrégée de l’enquête à l’enquête complète d’origine afin de contrôler la cohérence des réponses fournies et le respect des protocoles d’enquête par les enquêteurs.
- Les contrôles à haute fréquence effectués sur les données de recherche entrantes permettent de surveiller un certain nombre d’indicateurs supplémentaires et de signaux d’alerte potentiels.
- ipacheck : Package Stata permettant d’exécuter plusieurs contrôles à haute fréquence sur les données de recherche.
- La protection des informations d’identification personnelle (PII) est une composante essentielle de la collecte et de l’analyse des données.1 Les commandes ci-dessous sont utiles pour rechercher les informations d’identification personnelle les plus évidentes au sein d’un ensemble de données. Notez toutefois que ce n’est pas parce qu’une recherche automatique de ce type ne détecte aucune information d’identification personnelle que certaines variables ou combinaisons de variables n’en contiennent pas. Pour en savoir plus, voir la ressource sur la désidentification des données.
- PII_detection : Application et script Python permettant d’identifier, de supprimer et/ou de re-coder les informations d’identification personnelle dans les ensembles de données issus d’expérimentations sur le terrain.
- Comparer deux ensembles de données peut permettre de vérifier que les données sont correctement enregistrées et stockées. On peut par exemple comparer la manière dont deux personnes ont saisi les mêmes données d’une enquête papier dans un formulaire électronique à la recherche d’incohérences éventuelles (pratique recommandée pour les enquêtes papier), ou comparer deux versions de ce qui devrait être un même ensemble de données pour vérifier si des données ont changé.
- cfout : Commande écrite par des utilisateurs de Stata pour comparer deux ensembles de données.
- Des commandes et des conseils spécifiques aux grands ensembles de données, y compris des versions plus rapides de commandes courantes, peuvent s’avérer précieux pour les chercheurs qui travaillent sur de grands ensembles de données sous Stata.
- gtools : Package Stata de commandes écrites par des utilisateurs qui sont des versions plus rapides de collapse, reshape, xtile, tabstat, isid, egen, pctile, winsor, contract, levelsof, duplicates, et unique/distinct.
Suggestions d’optimisation pour les grands ensembles de données - Série de conseils pour extraire des sous-ensembles de données et réduire le temps d’exécution des opérations les plus courantes sous Stata, compilés sur le site du NBER.
Coder en équipe dans le domaine des sciences sociales
Dans la mesure où les évaluations aléatoires peuvent nécessiter un long travail de programmation et l’intervention de nombreux chercheurs, il est essentiel de définir des directives internes claires en matière de programmation. Les lignes directrices et outils ci-dessous aideront le lecteur à répondre aux questions de programmation qui sont propres aux sciences sociales.
- La ressource de J-PAL sur le nettoyage et la gestion des données.
- La ressource d’IPA intitulée « Reproducible research: Best practices for data and code management, » qui propose des directives spécifiques pour la programmation sous Stata.
- Le guide de Matthew Gentzkow et Jesse Shapiro intitulé « Code and data for the social Sciences: A practitioner’s guide » présente les bonnes pratiques en matière de gestion des données et de programmation en équipe, en abordant des sujets tels que l’automatisation, l’organisation et le style de programmation.
- Le cours de Software Carpentries sur le contrôle de versions avec Git et le cours de MIT Software Carpentries sur GitHub Desktop. Github est un outil très utile pour gérer les différentes versions d’un projet et passer en revue les changements dans le cadre d’un travail en équipe.
- Le GitHub du GSLab de Gentzkow et Shapiro propose un ensemble de commandes écrites par les utilisateurs que le laboratoire a créées spécifiquement pour les chercheurs en économie.
- La présentation de Ray Kluender et Ben Marx sur les principes généraux et les conseils pratiques pour travailler avec des données sous Stata.
-
Les ressources de J-PAL (GitHub) et d’IPA (GitHub) en matière de programmation contiennent des commandes écrites pour les équipes de recherche en sciences sociales.
Conseils pour obtenir un code reproductible
La reproductibilité est un facteur essentiel à prendre en compte dans la programmation d’une évaluation aléatoire. Les ressources ci-dessous donnent des lignes directrices et des outils pour garantir la reproductibilité du code.
- La ressource de J-PAL sur le nettoyage et la gestion des données recense les bonnes pratiques en matière de programmation, qui concernent notamment l’organisation des fichiers, l’organisation du code, les commentaires et le contrôle de versions.
- La ressource de J-PAL sur la randomisation explique en détail la marche à suivre pour garantir la reproductibilité du code.
- La ressource d’IPA intitulée « Reproducible research: Best practices for data and code management » explique pourquoi il est important de rédiger un code reproductible et comment y parvenir.
- Le manuel BITSS des bonnes pratiques pour une recherche transparente en sciences sociales inclut des sections sur l’analyse de puissance, les considérations pratiques, les plans de pré-analyse, le flux de travail, les suggestions propres à Stata, la publication et l’enregistrement des données, et bien d’autres choses encore.
- Rmarkdown est un format de fichier conçu spécifiquement à des fins de reproductibilité et de lisibilité.
Rédiger un code de randomisation
Dans le cadre d’une évaluation aléatoire, il est essentiel que la randomisation soit correctement effectuée. Les ressources qui suivent donnent des conseils pour la rédaction du code de randomisation, accompagnés d’exemples.
- La ressource de J-PAL sur la randomisation explique comment mettre en œuvre l’échantillonnage et l’assignation aléatoires et donne des exemples de code.
- Le guide Writing randomization code in Stata: A guide utilise des données et un do-file Stata annoté pour illustrer, étape par étape, comment effectuer une randomisation simple à l’aide de Stata.
- Ce guide de rédaction du code de randomisation sous R écrit par Jorge Cimentada est une traduction du guide de Stata sous R.
- La commande randtreat créée par Alvaro Carril sous Stata permet d’effectuer l’assignation aléatoire du traitement avec différentes configurations, notamment plusieurs bras de traitements et différents ratios d’allocation inégaux. Elle fournit également des méthodes pour traiter les « déséquilibres » qui surviennent lors de l’assignation du traitement lorsque les observations ne peuvent pas être réparties de façon parfaitement proportionnelle.
Dernière modification : mars 2021.
These resources are a collaborative effort. If you notice a bug or have a suggestion for additional content, please fill out this form.
Thanks to Sam Ayers, Rose Burnam, Aileen Devlin, Laura Feeney, Louise Geraghty, Mike Gibson, Sarah Kopper, Chloe Lesieur, and Evan Williams for their suggestions and advice. This work was made possible in part by support from Arnold Ventures. Any errors are our own.
Additional Resources
Formations à Stata d’IPA : IPA propose quatre niveaux de modules d’apprentissage autonome de Stata.
Tutoriel en ligne sur Stata au DSS : Une série d’exercices et de guides pour travailler sous Stata, créés par le professeur Oscar Torres-Reyna à Princeton.
Brève introduction à Stata | Professeur Germán Rodriguez
Un tutoriel pour les nouveaux utilisateurs qui met l’accent sur la gestion des données et les représentations graphiques.Stata cheat sheets | Stata.com
Les spécialistes des données Tim Essam et Laura Hughes ont créé des « fiches pratiques », ou cheat sheets, pour expliquer comment utiliser Stata pour exécuter diverses tâches et analyses en science des données. Ces fiches peuvent être intéressantes aussi bien pour les utilisateurs novices que pour les utilisateurs avancés de Stata.Ressources sur Stata de UCLA | The UCLA Institute for Digital Research and Education
Ces ressources sont organisées par thème. La fonction de recherche permet de trouver des ressources sur des commandes spécifiques.Statalist.org | Le forum officiel d’aide et de réponse aux questions sur Stata. En recherchant une question, on trouve souvent des solutions que d’autres ont utilisées avec succès pour résoudre des problèmes similaires.
Base R Cheat Sheet | J-PAL (téléchargement direct) Fiche pratique rédigée par RStudio qui offre une vue d’ensemble des commandes fondamentales de R.
Data Analysis for Social Scientists | Programme MicroMasters du MIT en Économie
Ce cours, qui fait partie du programme MicroMasters de J-PAL et du MIT dans le domaine des données, de l’économie et de la politique de développement, utilise R pour aborder les méthodes d’exploitation des données qui permettent de répondre à des questions d’intérêt économique et politique.fastR | Matloff, utilisateur de Github
Une bonne introduction à un large éventail de concepts, y compris les types de données, les représentations graphiques, les régressions et le traitement de texte
Randomization Inference (RI) | The Comprehensive R Archive Network (téléchargement direct)
Un package R pour l’inférence basée sur la randomisation dans le cadre d’expérimentations.R-bloggers Site Internet compilant des blogs d’analystes de données qui partagent le travail qu’ils effectuent sous R, y compris des exemples d’analyse et de visualisation des données.
R for data science | Hadley Wickham et Garrett Grolemund
Un guide complet sur le nettoyage, l’analyse et la gestion des données sous R pour les débutants et les utilisateurs avancés.
R for Statistics 571 | Bret Larget enseigne les bases de R et quelques-unes de ses applications statistiques, notamment les tests statistiques et la visualisation des données.
Ressources de UCLA sur R | UCLA Institute for Digital Research and Education
Le UCLA Institute for Digital Research and Education propose une bibliothèque de ressources et de tutoriels assez avancés pour R
Brève introduction à R | Germán Rodriguez
Une courte introduction à R pour les nouveaux utilisateurs, qui met l’accent sur l’ajustement des modèles linéaires et linéaires généralisés.
The Tidy Tuesday repository | Thomas Mock
Un référentiel mis à jour chaque semaine avec de nouveaux ensembles de données qui permettent de s’entraîner au nettoyage et à la visualisation des données