Table of Contents
+ +Exercice 1: Ré-exécuter n'est pas répliquer…
++Même si la terminologie peut varier d'un auteur ou d'une communauté à +l'autre, il est important de comprendre que l'on peut distinguer +différent niveau de "réplication" selon que l'on s'est contenté de +vérifier que l'on pouvait ré-exécuter le code et obtenir exactement les +mêmes résultats ou bien que l'on arrivait à reproduire des résultats +similaires en suivant une approche similaire (éventuellement avec un +autre langage, une autre méthode de calcul, etc.). À Ce sujet, vous +pourrez vouloir par exemple lire https://arxiv.org/abs/1708.08205. +
+ ++Le diable se cache souvent dans des endroits auxquels on ne penserait +jamais et nous sommes nous-mêmes allés de surprise en surprise en +préparant ce MOOC, notamment avec l'exercice du module 2 sur +Challenger. C'est pourquoi nous vous proposons dans cet exercice, de +refaire une partie de l'analyse des données de Challenger, comme l'ont +fait Siddhartha Dallal et ses co-auteurs il y a presque 30 ans dans +leur article Risk Analysis of the Space Shuttle: Pre-Challenger +Prediction of Failure et publié dans le Journal of the American +Statistical Association (Vol. 84, No. 408, Déc., 1989), mais dans +dans un autre langage de votre choix (Python, R, Julia, SAS, +…). +
+ ++Nous savons d'expérience que si les estimations de pente et +d'intercept sont généralement les mêmes, on peut avoir des différences +lorsque l'on regarde un peu plus dans les détails les estimateurs de +variance et le R2. Il peut également y avoir des surprises dans le +graphique final selon les versions de bibliothèques utilisées. +
+ ++L'ensemble des calculs à effectuer est décrit ici: +https://app-learninglab.inria.fr/gitlab/moocrr-session1/moocrr-reproducibility-study/ +
+ ++Vous y trouverez notre réplication des calculs de Dallal et al. (en +R), une mise en œuvre en python et une en R (très similaires à ce que +vous avez pu utiliser dans le module 2). Cet exercice peut donc se +faire à deux niveaux: +
+-
+
- un niveau facile pour ceux qui repartiront du code dans le langage +qu'ils n'auront initialement pas utilisé et se contenteront de le +ré-exécuter. Pour cela, nul besoin de maîtriser la régression +logistique, il suffit de bien inspecter les sorties produites et de +vérifier qu'elles correspondent bien aux valeurs attendues. Pour +ceux qui ré-exécuteraient le notebook Python dans l'environnement +Jupyter du MOOC, n'hésitez pas à consulter les ressources de la +section 4A du module 2 qui expliquent comment y importer un +notebook. +
- un niveau plus difficile pour ceux qui souhaiteront le réécrire +complètement (éventuellement dans un autre langage que R ou python, +l'expérience peut être d'autant plus intéressante que nous n'avons +pas testé ces variations). Là, si les fonctions de calcul d'une +régression logistique ne sont pas présente, il y a par contre +intérêt à en savoir un minimum pour pouvoir les +implémenter. L'exercice en est d'autant plus instructif. +
+Vous pourrez alors discuter sur le forum des succès et des échecs que +vous avez pu rencontrer. Pour cela: +
+-
+
- Vous publierez auparavant dans votre dépôt les différents notebooks +en prenant bien soin d'enrichir votre document des informations +(numéros de version, etc.) sur votre système et sur les +bibliothèques installées. +
- Vous indiquerez votre résultat (que ça soit un succès ou échec à
+obtenir les mêmes résultats) en remplissant le tableau dans ce même
+dépôt (vous avez les droits d'édition donc il vous suffit d'éditer
+les fichiers via l'interface GitLab). Vous vérifierez les valeurs
+obtenues pour
+
-
+
- les coefficients de la pente et de l'intercept +
- les estimations d'erreur de ces coefficients +
- le goodness of fit +
- la figure +
- la zone de confiance +
+ +Pour chacun vous indiquerez si le résultat est: +
+-
+
- identique +
- proche à moins de trois décimales +
- très différent +
- non fonctionnel (pas de résultat obtenu) +
+Vous indiquerez également dans ce tableau: +
+-
+
- Un lien vers votre espace gitlab contenant les différents notebooks +
- Le nom du système d'exploitation utilisé +
- Le langage utilisé et son numéro de version +
- Les numéros des principales bibliothèques utilisées
+
-
+
- Python: numpy, pandas, matplotlib, statsmodels, … +
- R: BLAS, ggplot, dplyr si chargées +
+
+
+Ne vous inquiétez pas si ces consignes vous semblent peu claires sur l'instant, +elles sont rappelées en haut du tableau et vous vous rendrez vite +compte s'il vous manque quelque chose quand vous essaierez de remplir +ce tableau. +
+ ++Nous effectuerons une synthèse illustrant les principales divergences +observées et nous vous l'enverrons à la fin du MOOC. +
+