<p>Une visualisation de l'ensemble des données semble montrer une augmentation tendancielle de la concentration en CO2, à laquelle se superpose une oscillation à plus haute fréquence.</p>
<p>Un zoom sur les dernières années laisse penser que le cycle court se produit sur une période annuelle, avec un minimum local atteint chaque année autour du mois d'octobre.</p>
<p>En zoomant sur les données interpolées autour de l'une des périodes de données manquantes, on observe bien le résultat attendu : une interpolation linéaire journalière lorsque les données sont disponibles, mais aucune interpolation lorsque les données sont manquantes.</p>
<p>Sur ces années complètes, la composante <code>day</code> de la date devrait être équirépartie entre 0 et 365, ce qui est globalement le cas. Les données manquantes n'ont donc pas d'impact significatif de ce point de vue là.</p>
<p>Examinons par exemple l'effet de ce traitement sur les données interpolées de l'année 1982. On voit, sur la figure du haut, les mesures brutes ainsi que la tendance locale (affine). Sur la figure du bas, la composante périodique locale vérifie bien les contraintes demandées, avec ses valeurs nulles aux bords.</p>
<p>Même s'il reste des oscillations locales, nous constatons tout de même que la composante tendancielle est devenue suffisamment lisse pour récupérer une forme de monotonie.</p>
<p>Par ailleurs, s'il est clair que la tendance est à l'augmentation, on voit toutefois que l'incertitude sur les paramètres n'est pas complètement négligeable. L'incertitude sur <span class="math">$\beta$</span> est en particulier de nature à engendrer une perte de prédictibilité du modèle en temps long.</p>
<p>On voit que la forme annuelle semble bien reproduite sur les 5 premières années, pour lesquelles il est possible de comparer les prédictions avec les mesures réelles. En revanche, la tendance ne colle que sur les deux premières années d'extrapolation ; on observe un décalage significatif et croissant ensuite.</p>
<p>En reprenant l'analyse précédente, ce nouveau modèle donne les prédictions suivantes, qui collent quasi-parfaitement aux mesures dans la période de test :</p>
This is an R Markdown document that you can easily export to HTML, PDF, and MS Word formats. For more information on R Markdown, see <http://rmarkdown.rstudio.com>.
When you click on the button **Knit**, the document will be compiled in order to re-execute the R code and to include the results into the final document. As we have shown in the video, R code is inserted as follows:
```{r cars}
summary(cars)
```
It is also straightforward to include figures. For example:
```{r pressure, echo=FALSE}
plot(pressure)
```
Note the parameter `echo = FALSE` that indicates that the code will not appear in the final version of the document. We recommend not to use this parameter in the context of this MOOC, because we want your data analyses to be perfectly transparent and reproducible.
Since the results are not stored in Rmd files, you should generate an HTML or PDF version of your exercises and commit them. Otherwise reading and checking your analysis will be difficult for anyone else but you.
Now it's your turn! You can delete all this information and replace it by your computational document.
Ceci est un document R markdown que vous pouvez aisément exporter au format HTML, PDF, et MS Word. Pour plus de détails sur R Markdown consultez <http://rmarkdown.rstudio.com>.
Lorsque vous cliquerez sur le bouton **Knit** ce document sera compilé afin de ré-exécuter le code R et d'inclure les résultats dans un document final. Comme nous vous l'avons montré dans la vidéo, on inclue du code R de la façon suivante:
```{r cars}
summary(cars)
```
Et on peut aussi aisément inclure des figures. Par exemple:
```{r pressure, echo=FALSE}
plot(pressure)
```
Vous remarquerez le paramètre `echo = FALSE` qui indique que le code ne doit pas apparaître dans la version finale du document. Nous vous recommandons dans le cadre de ce MOOC de ne pas utiliser ce paramètre car l'objectif est que vos analyses de données soient parfaitement transparentes pour être reproductibles.
Comme les résultats ne sont pas stockés dans les fichiers Rmd, pour faciliter la relecture de vos analyses par d'autres personnes, vous aurez donc intérêt à générer un HTML ou un PDF et à le commiter.
Maintenant, à vous de jouer! Vous pouvez effacer toutes ces informations et les remplacer par votre document computationnel.
<p>Ce document a été réalisé à l'occasion du <ahref="https://www.fun-mooc.fr/courses/course-v1:inria+41016+self-paced/info">MOOC "Recherche Reproductible"</a>. Il accompagne l'<ahref="exercice.html">analyse de la concentration de CO2 dans l'atmosphère depuis 1958</a> et détaille les étapes nécessaires pour rejouer l'étude.</p>
<p>Un lecteur peut se contenter de lire le document généré par l'analyse, et devrait y trouver les détails suffisants pour comprendre ce qui a été fait. Pour les plus courageux, il est aussi possible d'aller plus loin en rejouant tous les calculs de l'analyse ; ce document détaille comment.</p>
<p>Cette analyse est développée en langage <ahref="http://julialang.org/">Julia</a> et s'appuie sur un "environnement", c'est à dire un ensemble de paquets de l'écosystème Julia implémentant diverses fonctionnalités d'analyse de données. La première étape consistera donc à installer ces divers composants logiciels. Dans la deuxième partie de ce document, nous verrons comment re-jouer l'analyse. Le lecteur intéressé pourra alors re-jouer tous les calculs sur sa propre machine, voire tester l'effet de ses propres modifications dans le document computationnel <ahref="exercice.jmd"><code>exercice.jmd</code></a>. Ce processus peut être long et frustrant ; aussi proposons nous dans une dernière partie une étape de compilation optionnelle que le lecteur intéressé pourrait suivre afin d'améliorer les performances du rendu de l'analyse, et ainsi rendre plus efficaces les cycles de modification / test du document computationnel.</p>
<h1>Installation préalable</h1>
<p>Les étapes listées dans cette partie n'ont vocation à être réalisées qu'une seule fois, pour installer les logiciels requis sur votre machine.</p>
<h2>Julia</h2>
<ol>
<li><p>télécharger le langage Julia (version 1.4.0), dans sa variante appropriée en fonction de votre architecture matérielle et de votre système d'exploitation. Nous listons ci-dessous les liens directs vers le téléchargement pour les 3 OS majoritaires en architecture x86 à 64 bits, ce qui devrait couvrir la grande majorité des cas. Le dernier lien mène à la liste complète des variantes disponibles :</p>
<li><p><ahref="https://julialang.org/downloads/">liste de toutes les variantes</a></p>
</li>
</ul>
</li>
<li><p>suivre les <ahref="https://julialang.org/downloads/platform/">instructions spécifiques</a> selon votre système d'exploitation.</p>
</li>
<li><p>à l'issue de cette étape, vous devriez être en mesure d'ouvrir un terminal Julia : <imgsrc="https://software.opensuse.org/images/thumbnails/julia.png"alt="capture écran d'un terminal Julia"/></p>
</li>
</ol>
<h2>Environnement</h2>
<p>L'ensemble des briques logicielles sur lesquelles s'appuie notre analyse constitue un "environnement", décrit de manière succincte dans le fichier <ahref="Project.toml"><code>Project.toml</code></a> et plus détaillée dans le fichier <ahref="Manifest.toml"><code>Manifest.toml</code></a>. Les paquets logiciels compris dans cet environnement peuvent être installés en tapant les deux commandes suivantes dans la console Julia :</p>
Activating environment at `C:\Users\francois\Desktop\mooc-rr\module3\exo3\Project.toml`
[ Info: Installing required packages
...</code></pre>
<p><strong>Notes :</strong></p>
<ul>
<li><p>Dans la commande <code>include(raw("...utils.jl"))</code>, n'oubliez pas d'adapter le chemin du fichier <code>utils.jl</code>. Si vous êtes en train de visualiser ce document avec un navigateur web, vous pouvez probablement récupérer le chemin correspondant dans la barre d'URL et la copier-coller. Notez que dans la console Julia sous windows, on "colle" avec un clic droit de la souris.</p>
</li>
<li><p>Cette étape nécessite une connexion Internet afin de télécharger les paquets requis. Elle peut durer quelques minutes.</p>
</li>
<li><p>Vous pouvez garder votre console Julia ouverte pour la ré-utiliser pour les prochaines étapes.</p>
</li>
</ul>
<h1>Génération du document computationnel</h1>
<p>Le document computationnel de l'étude est constitué par le fichier <ahref="exercice.jmd"><code>exercice.jmd</code></a>, qui entremêle commentaires (en langage Markdown) et code (en langage Julia).</p>
<p>Ce document computationnel peut être rendu au format HTML, pour générer la sortie <ahref="exercice.html"><code>exercice.html</code></a>, dans laquelle le code julia a été exécuté et les résultats produits sont visualisés. Tout ceci est pris en charge par le paquet Julia <ahref="https://github.com/JunoLab/Weave.jl">Weave</a>, qui fournit un service similaire à <ahref="https://yihui.org/knitr/">knitr</a> pour le langage R ou <ahref="http://mpastell.com/pweave">Pweave</a> pour Python.</p>
<p>Pour (re-)générer ce document HTML, les commandes suivantes doivent être entrées dans la console Julia :</p>
Activating environment at `.../Project.toml`
[ Info: Writing to file exercice.jl
[ Info: Weaving chunk 1 from line 39
[ Info: Weaving chunk 2 from line 67
[ Info: * Instantiating project
[ Info: Weaving chunk 3 from line 73
...
[ Info: Report weaved to exercice.html
96.114542 seconds (253.72 M allocations: 12.975 GiB, 4.71% gc time)</code></pre>
<p><strong>Notes :</strong></p>
<ul>
<li><p>Il est inutile de ré-exécuter la ligne <code>include(...)</code> si vous utilisez la même console que dans les étapes précédentes.</p>
</li>
<li><p>Cette étape peut durer quelques minutes ; nous verrons dans la prochaine partie comment accélérer ce processus si vous prévoyez de réaliser et tester des modifications dans le document computationnel.</p>
</li>
<li><p>Vous pouvez garder votre console ouverte pour la ré-utiliser ultérieurement si nécessaire.</p>
</li>
</ul>
<h1>(Optionnellement) compilation des paquets de l'environnement</h1>
<p>Vous pouvez tester dès maintenant vos idées en apportant des modifications au fichier <code>exercice.jmd</code> et en re-générant son rendu HTML selon les instructions de la partie précédente.</p>
<p>Nous voyons dans cette partie comment améliorer la productivité de ce genre de tests en compilant les paquets Julia utilisés dans l'étude pour rendre leur utilisation plus performante.</p>
<p>A partir de maintenant, le processus de génération du rendu HTML devrait être accéléré de manière substantielle, pour ne prendre que quelques secondes :</p>
<pre><code>julia> Exercice.weave()
Activating environment at `.../Project.toml`
[ Info: Writing to file exercice.jl
[ Info: Weaving chunk 1 from line 39
[ Info: Weaving chunk 2 from line 67
[ Info: * Instantiating project
[ Info: Weaving chunk 3 from line 73
...
[ Info: Report weaved to exercice.html
7.262408 seconds (23.57 M allocations: 1.465 GiB, 12.50% gc time)</code></pre>
<!-- Local Variables: -->
<!-- mode: markdown -->
<!-- ispell-local-dictionary: "french" -->
<!-- End: -->
<HR/>
<divclass="footer"><p>
Published from <ahref="repro.jmd">repro.jmd</a> using