# A retenir sur reproductibilité de la recherche (Alexandre Hocquet, historien des sciences) Crise de la reproductibilité ; reproducibility crisis ou replication crisis Même dans la recherche la mieux décrite, il existe toujours une part de savoir tacite, càd un savoir qu'on ne sait pas expliciter et qui est impossible à formaliser En anthropologie, le chercheur interagit avec son objet d'étude. La fiabilité, dans cette discipline, est évaluée par autre chose que la reproductibilité, par ex la réflexivité . Ce sont plus des enjeux de transparence que de reproductibilité qui dominent ici. Idem quand on documente un événement rare. Si la reproductibilité conduit à plus de fiabilité en science, c'en est un moyen parmi d'autres, pas toujours suffisant, pas toujours nécessaire Le but de la publication scientifique ou de la "technique littéraire" (litterary technology) de l'époque de Boyle n'était effectivement pas (et n'est toujours pas dans les publications aujourd'hui) exactement la reproductibilité, mais plutôt la légitimité Étudier les controverses, c'est augmenter les chances de comprendre les formes de savoir tacite qui conditionnent la reproduction, qui n'apparaissent pas dans les publications, et qui surgissent au grand jour parce que des chercheurs contestent Sabina Leonelli  étudie ce qu'elle appelle les voyages des données (à l'ère des big data notamment). Les données, jamais "brutes", contiennent en elles toutes les théories, conditions, protocoles, biais, cultures qui ont servi à leur production et leur réutilisation se fait toujours dans d'autres conditions, par des chercheurs appartenant à d'autres cultures. Elle identifie 6 catégorie de reproductibilité : - R. computationnelle : possible à partir d'un ensemble de fichiers et d'instructions écrites. C'est el seul domaine où une reproductivité absolue est envisageable et souhaitable - R. Expérimentale directe (expréiences standardisées) - R. Indirecte ou Hypothétiques (expé semi-standardisées) - R. par expertie : expé non-standard er objets de rechecrhe rare - Observation reproductible : étude de cas non expérimentales - Recherche non reproductible : observation participante Influence de l'informatique sur les méthodes statistiques : facile de faire en qq clic une régression, un test non paramétrique, mai sne signifie pas qu'on comprend forcément bien les hypothèses sou-jacente set qu'on sait interpréter les résultats. Souvent, les défauts de reproductibilité proviennent de mésemploi de méthodes stats et des outils "boîtes noires". Voir aussi : [Reproduire un résultat scientifique : plus facile à dire qu’à faire](https://theconversation.com/reproduire-un-resultat-scientifique-plus-facile-a-dire-qua-faire-129848), Alexandre Hocquet, The Conversation, Mars 2020. types de __Transparence__ : data transparency : "Providing full access to data itself" analytic transparency : "Information about data analysis production transparency : "Process of data collection"  La pre-registration : intervient en amont du travail d'analyse. Le chercheur formalise ses hypothèses de recherche, ses données, son study design et son plan d'analyse. Finalité = prévenir les risques de HARKing - Hypothesizing After the Results are Known Bien distinguer post-diction et prédiction. __transparence n'est pas synonyme de mise à disposition, et réciproquement !__ même lorsqu'on utilise des données confidentielles, il estnécessaire de les gérer méthodiquement en les décrivant précisément, en documentant le protocole de collecte, __Transparence = rendre accessibles à son lectorat les éléments sur lesquels s'est construit le raisonnement__ : sources citées, données analysées ou description des données, traçabilité : garder une trace rigoureuse de la démarche et l'automatiser autant que possible Autre vecteur de transparence = les références bibliographiques: la liste des sources est-elle exhaustive et représentative de l'ensemble des points de vue sur la question ou au contraire, présente-t-elle d'importants biais de sélection ? __eviter les citations de seconde main__ (qui peuvent aboutir à une interprétation fausse) __si source originale non consultable, mentionner que c'est de seconde main__ : (Brown, 2010 cité par Jamison, 2012). Afin de ne pas laisser entendre de manière erronée que vous avez consulté directement la source : # Interagir avec GitLab via RStudio __Etape 1.__ SOUs Rstudio Générer ma clef SSH (qui comprend une partie publique (nom.pu) et une partie privée (nom) Dans Rstudio > Tools > Global Options > GIT/SVN > code SSH : taper sur create (va générer la clef SSH) Bien noter le lien vers le répertoire .ssh (par défaut c:\user\NomUtilisateur\.ssh\id_ed25519 __Etape2.__ Sous GitLab : En haut à droite : Edit profile user Dans le bandeau vertical gauche qui apparaît (l'agrandir si besoin via expand collapse), sélectionner key SSH, Copier - coller le code de la clef ## Faire le lien entre un projet sur GitLab et le même projet sous RStudio Sous GitLab : Bouton clone Copier l'adresse URL Puis sous Rstudio : File> New project > version Control > git (clone a project from a Git repository) > --> copier l'URL du GITLab A la question "indiquer votre SSK Key" : coller notre numéro de clef SSH Puis à la question ci-dessous, qui demande si on fait confiance à forgemia, repondre yes (sinon, ça ne fonctionnera pas !!!) # Document computationnel Pour améliorer la traçabilité d'un calcul ## Principe : 1 seul document, comprenant des explictaion, du code, des résultats Session Export vers un document final ((chaque bloc étant soit caché, soit affiché lors de l'export vers le document affiché final) ## Questions Comment structurer le document computationnel quand le cheminement du raisonnement, au cours du projet, n'est pas linéaire (on teste plein de pistes différentes) ? Autrement dit, comment utiliser RMD pour fair eun cahier de labo numérique, versionnable, av ec des étiquettes ? ## En pratique Sous Rstudio : Insérer un bloc (= un bout de code = un __chunk__): - Code> Insert Chunk (ou l eraccourci Ctrl + Alt + I - Ou bien : ```{r} Des icônes apparaissent à droite de la ligne de commande (notamment pour run le bloc) Dans la marge, on peut replier des sections Le bouton __knit__ permet de visualiser le format final du document : - Format Word - Format pdf : nécessaite d'avoir auparavant ○ téléchargé et installé l'application Miktex (https://miktex.org) mais il faut les droits administrateurs, et les mises à jour ○ ou alors le package __TinyTex sous R (--> install_tinytex() )__ (fonctionne bien) - Format html Spécifier les parties qu'on souhaite ou non faire appara^tre dans le doc final ```{r nomBloc, echo=FALSE} : n'apparaîtra pas L'argument cache = TRUE permet de ne pas relancer les calculs (ne pas ré-exécuter de longs bouts de codes) à chaque fois qu'on recompile (vérifier : sauf si ce qui précède a été changé). Faire attention si on a changé le JDD mais pas son nom (le script ne le saura pas) Possible de mettre des options globales pour tous les bouts de code (les chunks) : options par défaut ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` # Etiquettes et logiciels d'indexation pour s'y retrouver (tracker) Rechercher un mot-clef, indexer (sommaire) un cahier de notes : OK pour un document unique Mais pour plusieurs documents ou fichiers ? DocFetcher : trouver un mot dans une collection de fichiers Encore faut-il que le mo ne soit pas trop fréquent (et DocFetcher allows only case-insensitive search) GitLab le permet aussi Solution : Mettre des Etiquettes et mots-clefs "singuliers" dans un fichier texte Markdown (ou dans les métadonnées de fichiers images ou pdf) : On peut les insérer dans des commentaires Puis rechercher ces mots-clefs avec DocFetcher Ressemble aux tags qu'on peut mettre sur les courriels Et sous Rstudio : Edit>Find> Find in file (permet par exemple de retrouver les scripts dans lesquels on a utilisé telle ou telle fonction peu fréquente) Idem aussi dans NotePad++ Exiftool permet de rajouter un mot-clef (ou étiquettes), en tant que commentaire, dans les propriétés/métadonnées d'un fichier Conseil :avec Exiftool, noter en commentaire l'URL où on a trouvé un fichier ou une photo NB. On peut aussi le faire par un clic-droit> propriétés sous Windows Etiquettes sous MarkDaown : syntaxe de type \