title: "Concentration de CO2 dans l'atmosphère depuis 1958"
title: "Concentration de CO2 dans l'atmosphère depuis 1958"
author: "Hélène Raynal"
author: "Hélène Raynal"
date: "21 avril 2020"
date: "21 avril 2020"
output: html_document
output:
html_document:
df_print: paged
word_document: default
pdf_document: default
---
---
...
@@ -13,10 +17,7 @@ En 1958, Charles David Keeling a initié une mesure de la concentration de CO2
...
@@ -13,10 +17,7 @@ En 1958, Charles David Keeling a initié une mesure de la concentration de CO2
Les données sont disponibles sur le site Web de l' [Institut Scripps](https://scrippsco2.ucsd.edu/) . J'ai utilisé par erreur les observations mensuelles (je n'ai pas le temps de refaire tout le travail en utilisant les données hebdomadaires, ce sont d'ailleurs les données mensuelles qui sont utilisées en général dans les études d'impact climatiques ) [observations mensuelles](https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv). Attention, ce fichier est mis à jour régulièrement avec de nouvelles observations. Notez donc bien la date du téléchargement, et gardez une copie locale de la version précise que vous analysez. Faites aussi attention aux données manquantes.
Les données sont disponibles sur le site Web de l' [Institut Scripps](https://scrippsco2.ucsd.edu/) . J'ai utilisé par erreur les observations mensuelles (je n'ai pas le temps de refaire tout le travail en utilisant les données hebdomadaires, ce sont d'ailleurs les données mensuelles qui sont utilisées en général dans les études d'impact climatiques ) [observations mensuelles](https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv). Attention, ce fichier est mis à jour régulièrement avec de nouvelles observations. Notez donc bien la date du téléchargement, et gardez une copie locale de la version précise que vous analysez. Faites aussi attention aux données manquantes.
### Pré-requis
### Pré-requis: Quelques références sur le traitement de suites chronologiques:
Traitement de suites chronologiques
Quelques références:
- [Introduction à l’Étude des Séries Temporelles](https://perso.math.univ-toulouse.fr/jydauxoi/files/2017/04/poly_eleves.pdf) J-Y. Dauxois 2016-2017
- [Introduction à l’Étude des Séries Temporelles](https://perso.math.univ-toulouse.fr/jydauxoi/files/2017/04/poly_eleves.pdf) J-Y. Dauxois 2016-2017
- [ARIMA modelling in R](https://otexts.com/fpp2/arima-r.html)
- [ARIMA modelling in R](https://otexts.com/fpp2/arima-r.html)
...
@@ -25,31 +26,31 @@ Didier Delignières Séminaire EA "Sport – Performance – Santé" Mars 2000
...
@@ -25,31 +26,31 @@ Didier Delignières Séminaire EA "Sport – Performance – Santé" Mars 2000
- [Introduction à la manipulation de série temporelle avec R MAP-STA2 : Séries chronologiques](https://www.imo.universite-paris-saclay.fr/~goude/Materials/time_series/cours1_R_serie_temp.pdf) Yannig Goude yannig.goude@edf.fr 2019-2020
- [Introduction à la manipulation de série temporelle avec R MAP-STA2 : Séries chronologiques](https://www.imo.universite-paris-saclay.fr/~goude/Materials/time_series/cours1_R_serie_temp.pdf) Yannig Goude yannig.goude@edf.fr 2019-2020
- [Séries temporelles, avec R](http://avram.perso.univ-pau.fr/proc/geo3.pdf) Florin Avram
- [Séries temporelles, avec R](http://avram.perso.univ-pau.fr/proc/geo3.pdf) Florin Avram
### Récupération des données et pré-traitements (mise en forme et description)
Extrait des métadonnées dans le header du fichier csv téléchargé.
**Extrait des métadonnées d'intérêt et présentes dans le header (57 lignes) du fichier.**
The data file below contains 10 columns.
The data file below contains 10 columns.
- Columns 1-4 give the dates in several redundant formats.
- Columns 1-4 give the dates in several redundant formats.
- Column 5 below gives monthly Mauna Loa CO2 concentrations in micro-mol CO2 per mole (ppm), reported on the 2008A SIO manometric mole fraction scale. This is thestandard version of the data most often sought. The monthly values have been adjusted to 24:00 hours on the 15th of each month.
- Column 5 below gives monthly Mauna Loa CO2 concentrations in micro-mol CO2 per mole (ppm), reported on the 2008A SIO manometric mole fraction scale. This is thestandard version of the data most often sought. The monthly values have been adjusted to 24:00 hours on the 15th of each month.
- Column 6 gives the same data after a seasonal adjustment to remove the quasi-regular seasonal cycle. The adjustment involves subtracting from the data a 4-harmonic fit with a linear gain factor.
- Column 6 gives the same data after a seasonal adjustment to remove the quasi-regular seasonal cycle. The adjustment involves subtracting from the data a 4-harmonic fit with a linear gain factor.
- Column 7 is a smoothed version of the data generated from a stiff cubic spline function plus 4-harmonic functions with linear gain.
- Column 7 is a smoothed version of the data generated from a stiff cubic spline function plus 4-harmonic functions with linear gain.
- Column 8 is the same smoothed version with the seasonal cycle removed.
- Column 8 is the same smoothed version with the seasonal cycle removed.
- Column 9 is identical to Column 5 except that the missing values from Column 5 have been filled with values from Column 7.
- Column 9 is identical to Column 5 except that the missing values from Column 5 have been filled with values from Column 7.
- Column 10 is identical to Column 6 except missing values have been filled with values from Column 8.
- Column 10 is identical to Column 6 except missing values have been filled with values from Column 8.
Missing values are denoted by -99.99
- Missing values are denoted by -99.99
CO2 concentrations are measured on the '08A' calibration scale
- CO2 concentrations are measured on the '08A' calibration scale
**Chargement des librairies R, du fichier de données, renommage des colonnes, premières statistiques**
**Chargement des librairies R, du fichier de données, renommage des colonnes, premières statistiques**
**Création d'une variable date au format YYYY MM DD**
**Création d'une variable date au format YYYY MM DD**
```{r , message=FALSE, warning=FALSE}
```{r , message=FALSE, warning=FALSE}
dataCO2$Date <- ymd(paste0(dataCO2$Year, " ", dataCO2$Month, " ", "15")) #Les données étant mensuelles, je fixe le 15 du mois comme jour de référence du mois
ggtitle("Graphique 2: Evolution saisonnière de la concentration en CO2, par année")
ggtitle("Graphique 2: Evolution saisonnière de la concentration en CO2, par année")
```
```
- On déduit du graphique 1 que la série n'est pas stationnaire, elle présente une **tendance** (augmentation du taux de CO2 au cours du temps).
- On déduit du graphique 1 que la série n'est pas stationnaire, elle présente une **tendance** (augmentation du taux de CO2 au cours du temps).
- La série montre une **composante saisonnière**, qui semble suivre le cycle annuel, comme en témoigne le graphique 2. En effet les courbes annuelles ont la même forme, tout en étant décalée dans le temps.
- La série montre une **composante saisonnière**, qui semble suivre le cycle annuel, comme en témoigne le graphique 2. En effet les courbes annuelles ont la même forme, tout en étant décalée dans le temps.
**Question 1: Réalisez un graphique qui vous montrera une oscillation périodique superposée à une évolution systématique plus lente.**
### Question 1: Réalisez un graphique qui vous montrera une oscillation périodique superposée à une évolution systématique plus lente.
Le graphique 3 montre une oscillation périodique saisonnière, c'est la courbe orange. Cette oscillation périodique a été mise en évidence dans le graphique 2 et on l'a rapproché d'une composante saisonnière. La courbe bleue montre l'évolution systématique: la tendance. On voit que cette tendance n'est pas linéaire puisqu'elle ne peut pas être ajustée à une régression linéaire (courbe grise).
```{r, message=FALSE, warning=FALSE }
```{r, message=FALSE, warning=FALSE }
# Définition en tant que série temporelle
# Définition en tant que série temporelle
Co2_train <- ts(dataCO2$ObsCO2Comp, start = c(1958,3), frequency = 12)
Co2_train <- ts(dataCO2$ObsCO2Comp, start = c(1958,3), frequency = 12)
...
@@ -157,7 +168,7 @@ ggplot() +
...
@@ -157,7 +168,7 @@ ggplot() +
scale_y_continuous() +
scale_y_continuous() +
theme(axis.text.y = element_text(face = "bold", color = "#993333",
theme(axis.text.y = element_text(face = "bold", color = "#993333",
ggtitle("Graphique 1: Evolution au cours du temps de la teneur en CO2")
ggtitle("Graphique 3: Evolution au cours du temps de la teneur en CO2")
...
@@ -165,7 +176,9 @@ ggplot() +
...
@@ -165,7 +176,9 @@ ggplot() +
```
```
### Modélisation de la série temporelle
### Question 2: Séparez ces deux phénomènes. Caractérisez l'oscillation périodique. Proposez un modèle simple de la contribution lente, estimez ses paramètres et tentez une extrapolation jusqu'à 2025 (dans le but de pouvoir valider le modèle par des observations futures).
#### Modélisation de la série temporelle
...
@@ -194,14 +207,14 @@ Co2_train %>% ggtsdisplay()
...
@@ -194,14 +207,14 @@ Co2_train %>% ggtsdisplay()
```
```
```{r, message=FALSE, warning=FALSE}
```{r, message=FALSE, warning=FALSE}
set.seed(12356) # spécification de la graine pour assurer la replicabilité de nos résultats, ("fixer l'aléatoire")
auto.arima(Co2_train)
auto.arima(Co2_train)
```
```
En se basant sur le résultat de l'analyse précédente, on retient le modèle $ARIMA(1,1,1)(2,1,2)[12]$. On peut ensuite vérifier que les résidus ressemblent à un bruit blanc ou non.
En se basant sur le résultat de l'analyse précédente, on retient le modèle $ARIMA(1,1,1)(2,1,2)[12]$. On peut ensuite vérifier si les résidus ressemblent à un bruit blanc ou non.
...
@@ -217,8 +230,13 @@ fit_minaicc$aicc
...
@@ -217,8 +230,13 @@ fit_minaicc$aicc
Les graphiques précédents montre que le résidu ressemble suffisamment au bruit blanc, que la valeur p est élevée et que le modèle a passé le test de la Ljong-Box.
Les graphiques précédents montre que le résidu ressemble suffisamment au bruit blanc, que la valeur p est élevée et que le modèle a passé le test de la Ljong-Box.
#### Extrapolation jusqu'à 2025
Les prévisions ci-dessous (aussi représentées sur le graphique 4) permet de visualiser les prévisions de teneur en CO2 jusqu'en 2025, en utilisant le modèle ARIMA estimé précédemment. Ainsi, la valeur prédite par le modèle est 428.3680 pour le mois d'avril 2025, avec un intervalle de confiance [423.5816, 433.2060].