Research Resources

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.
    • orth_out : Commande Stata permettant d’exporter des statistiques sommaires ou des tableaux de tests d’équilibrage (orthogonalité). Elle a été rédigée et est gérée par IPA, qui a également élaboré un tutoriel sur cette commande et d’autres commandes similaires.
  • 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.
    • bcstats : Programme Stata permettant d’analyser les données issues des back checks en les comparant aux données de l’enquête d’origine.
    • bcstatsR : Version R de la commande Stata bcstats.
  • 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.

  • 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.

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.

Acknowledgments

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.

1.
Data security procedures for researchers provides more information on protecting PII.
    Additional Resources
    Autoformation à Stata
    1. Formations à Stata d’IPA : IPA propose quatre niveaux de modules d’apprentissage autonome de Stata.

    2. 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.

    3. 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.

    4. 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.

    5. 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.

    6. 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.

    Autoformation à R
    1. 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.

    2. 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.

    3.  

      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

    4. 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.

    5. 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.

    6.  

      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.

    7. 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.

    8.  

      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

    9.  

      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.

    10.  

      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

    In this resource