{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Module 3 : Concentration de CO$_{\\textbf{2}}$ dans l'atmosphère depuis 1958" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import os\n", "from urllib.request import urlretrieve\n", "import datetime\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Importation et formatage des données" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les données sont disponibles sur le [site Web de l'institut Scripps](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée (29/03/1958 à aujourd'hui 09/12/2024). Nous téléchargeons à ce jour dans le dossier local à [cette URL](https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/weekly/weekly_in_situ_co2_mlo.csv) à l'aide de la bibliothèque `urllib.request`. Si le fichier est déjà téléchargé, nous l'importons depuis le dossier local." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "File data_keeling.csv found at /home/jovyan/work/module3/exo3/data_keeling.csv\n" ] } ], "source": [ "data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/weekly/weekly_in_situ_co2_mlo.csv\"\n", "data_file = \"data_keeling.csv\"\n", "\n", "if not os.path.exists(data_file):\n", " urlretrieve(data_url, data_file)\n", " print(f\"File downloaded and saved as {data_file}\")\n", "else:\n", " print(f\"File {data_file} found at {os.path.abspath(data_file)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le fichier contient 44 lignes de commentaires (ignorées en précisant `skiprows=44`) expliquant le fichier et les méthodes de mesure. Il contient ensuite deux colonnes:\n", "- Date (premier jour de la période d'une semaine)\n", "- Concentration en CO$_2$ (ppm)\n", "\n", "Aucune ligne ne définit le nom des colonnes. Il faut donc préciser `header=None`, puis préciser le nom des colonnes par la suite." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateConcentration en CO2 (ppm)
01958-03-29316.19
11958-04-05317.31
21958-04-12317.69
31958-04-19317.58
41958-04-26316.48
51958-05-03316.95
61958-05-17317.56
71958-05-24317.99
81958-07-05315.85
91958-07-12315.85
101958-07-19315.46
111958-07-26315.59
121958-08-02315.64
131958-08-09315.10
141958-08-16315.09
151958-08-30314.14
161958-09-06313.54
171958-11-08313.05
181958-11-15313.26
191958-11-22313.57
201958-11-29314.01
211958-12-06314.56
221958-12-13314.41
231958-12-20314.77
241958-12-27315.21
251959-01-03315.24
261959-01-10315.50
271959-01-17315.69
281959-01-24315.86
291959-01-31315.42
.........
33732024-04-20426.91
33742024-04-27427.13
33752024-05-04426.51
33762024-05-11427.20
33772024-05-18426.26
33782024-05-25426.68
33792024-06-01426.78
33802024-06-08427.01
33812024-06-15427.10
33822024-06-22426.54
33832024-06-29425.41
33842024-07-06425.73
33852024-07-13426.10
33862024-07-20424.36
33872024-07-27424.72
33882024-08-03424.42
33892024-08-10422.50
33902024-08-17422.80
33912024-08-24421.45
33922024-08-31421.57
33932024-09-07421.81
33942024-09-14421.39
33952024-09-21421.77
33962024-09-28421.51
33972024-10-05421.86
33982024-10-12422.13
33992024-10-19422.16
34002024-10-26422.36
34012024-11-02423.15
34022024-11-09423.18
\n", "

3403 rows × 2 columns

\n", "
" ], "text/plain": [ " Date Concentration en CO2 (ppm)\n", "0 1958-03-29 316.19\n", "1 1958-04-05 317.31\n", "2 1958-04-12 317.69\n", "3 1958-04-19 317.58\n", "4 1958-04-26 316.48\n", "5 1958-05-03 316.95\n", "6 1958-05-17 317.56\n", "7 1958-05-24 317.99\n", "8 1958-07-05 315.85\n", "9 1958-07-12 315.85\n", "10 1958-07-19 315.46\n", "11 1958-07-26 315.59\n", "12 1958-08-02 315.64\n", "13 1958-08-09 315.10\n", "14 1958-08-16 315.09\n", "15 1958-08-30 314.14\n", "16 1958-09-06 313.54\n", "17 1958-11-08 313.05\n", "18 1958-11-15 313.26\n", "19 1958-11-22 313.57\n", "20 1958-11-29 314.01\n", "21 1958-12-06 314.56\n", "22 1958-12-13 314.41\n", "23 1958-12-20 314.77\n", "24 1958-12-27 315.21\n", "25 1959-01-03 315.24\n", "26 1959-01-10 315.50\n", "27 1959-01-17 315.69\n", "28 1959-01-24 315.86\n", "29 1959-01-31 315.42\n", "... ... ...\n", "3373 2024-04-20 426.91\n", "3374 2024-04-27 427.13\n", "3375 2024-05-04 426.51\n", "3376 2024-05-11 427.20\n", "3377 2024-05-18 426.26\n", "3378 2024-05-25 426.68\n", "3379 2024-06-01 426.78\n", "3380 2024-06-08 427.01\n", "3381 2024-06-15 427.10\n", "3382 2024-06-22 426.54\n", "3383 2024-06-29 425.41\n", "3384 2024-07-06 425.73\n", "3385 2024-07-13 426.10\n", "3386 2024-07-20 424.36\n", "3387 2024-07-27 424.72\n", "3388 2024-08-03 424.42\n", "3389 2024-08-10 422.50\n", "3390 2024-08-17 422.80\n", "3391 2024-08-24 421.45\n", "3392 2024-08-31 421.57\n", "3393 2024-09-07 421.81\n", "3394 2024-09-14 421.39\n", "3395 2024-09-21 421.77\n", "3396 2024-09-28 421.51\n", "3397 2024-10-05 421.86\n", "3398 2024-10-12 422.13\n", "3399 2024-10-19 422.16\n", "3400 2024-10-26 422.36\n", "3401 2024-11-02 423.15\n", "3402 2024-11-09 423.18\n", "\n", "[3403 rows x 2 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = pd.read_csv(data_file, skiprows=44, header=None)\n", "raw_data.columns = [\"Date\", \"Concentration en CO2 (ppm)\"]\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vérifions si le jeu de données contient des lignes vides." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateConcentration en CO2 (ppm)
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [Date, Concentration en CO2 (ppm)]\n", "Index: []" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data[raw_data.isnull().any(axis=1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aucune ligne n'est vide. Traduisons maintenant la colonne \"Date\" en format date utilisé par pandas, puis passons-là en indice du tableau." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Date\n", "1958-03-29 316.19\n", "1958-04-05 317.31\n", "1958-04-12 317.69\n", "1958-04-19 317.58\n", "1958-04-26 316.48\n", "1958-05-03 316.95\n", "1958-05-17 317.56\n", "1958-05-24 317.99\n", "1958-07-05 315.85\n", "1958-07-12 315.85\n", "1958-07-19 315.46\n", "1958-07-26 315.59\n", "1958-08-02 315.64\n", "1958-08-09 315.10\n", "1958-08-16 315.09\n", "1958-08-30 314.14\n", "1958-09-06 313.54\n", "1958-11-08 313.05\n", "1958-11-15 313.26\n", "1958-11-22 313.57\n", "1958-11-29 314.01\n", "1958-12-06 314.56\n", "1958-12-13 314.41\n", "1958-12-20 314.77\n", "1958-12-27 315.21\n", "1959-01-03 315.24\n", "1959-01-10 315.50\n", "1959-01-17 315.69\n", "1959-01-24 315.86\n", "1959-01-31 315.42\n", " ... \n", "2024-04-20 426.91\n", "2024-04-27 427.13\n", "2024-05-04 426.51\n", "2024-05-11 427.20\n", "2024-05-18 426.26\n", "2024-05-25 426.68\n", "2024-06-01 426.78\n", "2024-06-08 427.01\n", "2024-06-15 427.10\n", "2024-06-22 426.54\n", "2024-06-29 425.41\n", "2024-07-06 425.73\n", "2024-07-13 426.10\n", "2024-07-20 424.36\n", "2024-07-27 424.72\n", "2024-08-03 424.42\n", "2024-08-10 422.50\n", "2024-08-17 422.80\n", "2024-08-24 421.45\n", "2024-08-31 421.57\n", "2024-09-07 421.81\n", "2024-09-14 421.39\n", "2024-09-21 421.77\n", "2024-09-28 421.51\n", "2024-10-05 421.86\n", "2024-10-12 422.13\n", "2024-10-19 422.16\n", "2024-10-26 422.36\n", "2024-11-02 423.15\n", "2024-11-09 423.18\n", "Length: 3403, dtype: float64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data[\"Date\"] = pd.to_datetime(raw_data[\"Date\"])\n", "data = pd.Series(data = raw_data[\"Concentration en CO2 (ppm)\"].tolist(), index = raw_data[\"Date\"])\n", "data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vérifions si des données sont manquantes, _i.e._ si deux dates ont plus d'une semaine d'écart." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1958-05-03 00:00:00 1958-05-17 00:00:00\n", "1958-05-24 00:00:00 1958-07-05 00:00:00\n", "1958-08-16 00:00:00 1958-08-30 00:00:00\n", "1958-09-06 00:00:00 1958-11-08 00:00:00\n", "1959-01-31 00:00:00 1959-02-14 00:00:00\n", "1959-03-07 00:00:00 1959-03-21 00:00:00\n", "1959-05-23 00:00:00 1959-06-06 00:00:00\n", "1959-08-08 00:00:00 1959-08-22 00:00:00\n", "1962-08-18 00:00:00 1962-09-15 00:00:00\n", "1962-12-22 00:00:00 1963-01-05 00:00:00\n", "1963-02-09 00:00:00 1963-02-23 00:00:00\n", "1963-04-27 00:00:00 1963-05-11 00:00:00\n", "1963-11-16 00:00:00 1963-11-30 00:00:00\n", "1964-01-18 00:00:00 1964-05-30 00:00:00\n", "1964-06-06 00:00:00 1964-06-27 00:00:00\n", "1964-08-01 00:00:00 1964-08-15 00:00:00\n", "1966-07-09 00:00:00 1966-08-06 00:00:00\n", "1966-10-29 00:00:00 1966-11-12 00:00:00\n", "1967-01-14 00:00:00 1967-02-04 00:00:00\n", "1976-06-19 00:00:00 1976-07-03 00:00:00\n", "1984-03-24 00:00:00 1984-04-28 00:00:00\n", "1985-07-27 00:00:00 1985-08-10 00:00:00\n", "2003-06-07 00:00:00 2003-06-21 00:00:00\n", "2003-10-04 00:00:00 2003-10-25 00:00:00\n", "2005-02-19 00:00:00 2005-03-26 00:00:00\n", "2006-02-04 00:00:00 2006-02-25 00:00:00\n", "2007-01-20 00:00:00 2007-02-03 00:00:00\n", "2012-09-29 00:00:00 2012-10-20 00:00:00\n", "2020-01-11 00:00:00 2020-01-25 00:00:00\n", "2022-11-26 00:00:00 2022-12-17 00:00:00\n" ] } ], "source": [ "dates = data.index\n", "for d1, d2 in zip(dates[:-1], dates[1:]):\n", " delta = d2 - d1\n", " if delta - pd.Timedelta(1,'W') > pd.Timedelta('1s'):\n", " print(d1, d2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Quelques données sont manquantes, mais leur nombre est largement inférieur au nombre de données, et sont éparses après les années 1960. Nous pouvons donc considérer l'erreur induite par le manque de données négligeable.\n", "\n", "Néanmoins, nous pouvons combler ces données en utilisant des moyennes glissantes pour aider à la visualisation, tout en gardant en mémoire les dates avec des données interpolées, afin de les exclure de l'analyse quantitative. Cela est effectué à l'aide du tableau `interpolated_marks` :" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1958-03-29 0\n", "1958-04-05 0\n", "1958-04-12 0\n", "1958-04-19 0\n", "1958-04-26 0\n", "1958-05-03 0\n", "1958-05-10 1\n", "1958-05-17 0\n", "1958-05-24 0\n", "1958-05-31 1\n", "1958-06-07 1\n", "1958-06-14 1\n", "1958-06-21 1\n", "1958-06-28 1\n", "1958-07-05 0\n", "1958-07-12 0\n", "1958-07-19 0\n", "1958-07-26 0\n", "1958-08-02 0\n", "1958-08-09 0\n", "1958-08-16 0\n", "1958-08-23 1\n", "1958-08-30 0\n", "1958-09-06 0\n", "1958-09-13 1\n", "1958-09-20 1\n", "1958-09-27 1\n", "1958-10-04 1\n", "1958-10-11 1\n", "1958-10-18 1\n", " ..\n", "2024-04-20 0\n", "2024-04-27 0\n", "2024-05-04 0\n", "2024-05-11 0\n", "2024-05-18 0\n", "2024-05-25 0\n", "2024-06-01 0\n", "2024-06-08 0\n", "2024-06-15 0\n", "2024-06-22 0\n", "2024-06-29 0\n", "2024-07-06 0\n", "2024-07-13 0\n", "2024-07-20 0\n", "2024-07-27 0\n", "2024-08-03 0\n", "2024-08-10 0\n", "2024-08-17 0\n", "2024-08-24 0\n", "2024-08-31 0\n", "2024-09-07 0\n", "2024-09-14 0\n", "2024-09-21 0\n", "2024-09-28 0\n", "2024-10-05 0\n", "2024-10-12 0\n", "2024-10-19 0\n", "2024-10-26 0\n", "2024-11-02 0\n", "2024-11-09 0\n", "Freq: 7D, Length: 3477, dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_index = pd.date_range(start=data.index[0], end=data.index[-1], freq='7D')\n", "full_data = data.reindex(full_index)\n", "while full_data.isna().any():\n", " rolling_mean = full_data.rolling(window=5, min_periods=3).mean()\n", " full_data[full_data.isna()] = rolling_mean[full_data.isna()]\n", "interpolated_marks = pd.Series(data=np.where(data.reindex(full_index).isna(), 1, 0), index=full_index)\n", "interpolated_marks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interprétation des données" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Commençons par représenter l'évolution de la concentration en CO$_2$ depuis 1958." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "full_data.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On observe une oscillation rapide autour d'une évolution plus lente. Nous pouvons donc modéliser l'évolution temporelle comme :\n", "\n", "$$C(t)=f(t)+A\\cos\\Big(\\frac{2\\pi}{T}(t-t_0)\\Big)\\ ,$$\n", "\n", "où $C(t)$ est la concentration en CO$_2$, $t$ est le temps, $f(t)$ est une fonction monotone qui croît lentement et $A$ est l'amplitude des oscillations autour de $f$, $T$ est leur fréquence et $t_0$ est leur origine temporelle." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Caractérisation des oscillations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Regardons les dernières années afin de mieux caractériser les oscillations rapides." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data[-200:].plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les oscillations semblent avoir une période d'un an (variations annuelles). Le pic de concentration a lieu au début de l'été, soit vers juin. Afin d'affiner l'analyse, nous pouvons considérer que sur un an, l'évolution de $f$ peut s'apparenter à une droite (sa tangente au milieu de l'an donné).\n", "\n", "Concentrons-nous sur la dernière année : entre automne 2023 et automne 2024. Nous cherchons à isoler les données entre début septembre 2023 et fin septembre 2024, afin d'être certains d'englober toute la variation annuelle." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "period1 = pd.Period(pd.Timestamp(2023, 9, 1), 'W')\n", "period2 = pd.Period(pd.Timestamp(2024, 9, 30), 'W')\n", "data_last_year = full_data[full_data[((full_data.index >= period1.start_time) & (full_data.index <= period1.end_time))].index[0]:\n", " full_data[((full_data.index >= period2.start_time) & (full_data.index <= period2.end_time))].index[0]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vérifions si nous comprenons bien toute l'année voulue :" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data_last_year.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parfait. Maintenant, trouvons les deux données minimales (au début et à la fin de l'oscillation respectivement) afin de trouver la pente de $f$. $f$ étant croissante, le premier minimum est le minimum de l'année isolée. Les valeurs de début d'année 2024 étant supérieures au deuxième minimum, nous pouvons le trouver en contraignant `year == 2024`. On vérifie par la suite que les minima trouvés sont bien ceux attendus par analyse graphique.\n", "\n", "Nous pourrons ensuite enlever cette contribution lente pour avoir une oscillation brute, et mesurer son amplitude.\n", "\n", "__Remarque__ : nous faisons en fait un traitement de signal à la main ; nous aurrions aussi pu utiliser un filtre passe-haut avec une coupure de fréquence choisie soigneusement pour obtenir le même résultat. Ce document étant censé être accessible à tous, il est préférable de ne pas utiliser de méthode trop technique." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2023-09-23 417.77\n", "Freq: 7D, dtype: float64\n", "2024-09-14 421.39\n", "Freq: 7D, dtype: float64\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "min_2023 = data_last_year.where(data_last_year == min(data_last_year)).dropna()\n", "data_last_year_2024 = data_last_year[data_last_year.index.year == 2024]\n", "min_2024 = data_last_year_2024.where(data_last_year_2024 == min(data_last_year_2024)).dropna()\n", "print(min_2023)\n", "print(min_2024)\n", "\n", "# Pour définir la droite correspondant à l'évolution de f(t), il est plus simple de repasser sur des indices numériques\n", "data_last_year_filtered = pd.Series(data=data_last_year.values, index=range(len(data_last_year)))\n", "dy = min_2024.values[0] - min_2023.values[0]\n", "min_2023_filtered = data_last_year_filtered.where(data_last_year_filtered == min(data_last_year_filtered)).dropna()\n", "data_last_year_filtered_2024 = data_last_year_filtered[data_last_year.index.year == 2024]\n", "min_2024_filtered = data_last_year_filtered_2024.where(data_last_year_filtered_2024 == min(data_last_year_filtered_2024)).dropna()\n", "dx = min_2024_filtered.index[0] - min_2023_filtered.index[0]\n", "data_f = min_2023.values[0] + (dy / dx) * (range(len(data_last_year)) - min_2023_filtered.index[0])\n", "f = pd.Series(data=data_f, index=data_last_year.index)\n", "data_last_year_filtered.index = data_last_year.index\n", "\n", "data_last_year_filtered -= f\n", "data_last_year_filtered.index = data_last_year.index\n", "amp = data_last_year_filtered.max() / 2\n", "data_last_year_filtered.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Modélisation de l'évolution en arrière-plan" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous pouvons désormais isoler l'évolution lente d'arrière-plan $f(t)$ en moyennant sur un an les valeurs (on recrée artificiellement un filtre passe-bas) :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "test = full_data.copy()\n", "test[interpolated_marks == 1] = np.nan\n", "print(np.mean)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1958-03-29 316.118235\n", "1958-04-05 316.118235\n", "1958-04-12 316.118235\n", "1958-04-19 316.118235\n", "1958-04-26 316.118235\n", "1958-05-03 316.118235\n", "1958-05-10 315.947778\n", "1958-05-17 315.806316\n", "1958-05-24 315.694500\n", "1958-05-31 315.614286\n", "1958-06-07 315.566364\n", "1958-06-14 315.516087\n", "1958-06-21 315.485000\n", "1958-06-28 315.474000\n", "1958-07-05 315.465000\n", "1958-07-12 315.466296\n", "1958-07-19 315.474286\n", "1958-07-26 315.487586\n", "1958-08-02 315.485333\n", "1958-08-09 315.485333\n", "1958-08-16 315.532258\n", "1958-08-23 315.565938\n", "1958-08-30 315.597879\n", "1958-09-06 315.633529\n", "1958-09-13 315.633529\n", "1958-09-20 315.664857\n", "1958-09-27 315.693889\n", "1958-10-04 315.736389\n", "1958-10-11 315.731111\n", "1958-10-18 315.729722\n", " ... \n", "2024-04-20 423.620943\n", "2024-04-27 423.687170\n", "2024-05-04 423.772642\n", "2024-05-11 423.850189\n", "2024-05-18 NaN\n", "2024-05-25 NaN\n", "2024-06-01 NaN\n", "2024-06-08 NaN\n", "2024-06-15 NaN\n", "2024-06-22 NaN\n", "2024-06-29 NaN\n", "2024-07-06 NaN\n", "2024-07-13 NaN\n", "2024-07-20 NaN\n", "2024-07-27 NaN\n", "2024-08-03 NaN\n", "2024-08-10 NaN\n", "2024-08-17 NaN\n", "2024-08-24 NaN\n", "2024-08-31 NaN\n", "2024-09-07 NaN\n", "2024-09-14 NaN\n", "2024-09-21 NaN\n", "2024-09-28 NaN\n", "2024-10-05 NaN\n", "2024-10-12 NaN\n", "2024-10-19 NaN\n", "2024-10-26 NaN\n", "2024-11-02 NaN\n", "2024-11-09 NaN\n", "Freq: 7D, Length: 3477, dtype: float64\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rolling_base = full_data.copy()\n", "rolling_base[interpolated_marks == 1] = np.nan\n", "rolling_mean_with_offset = rolling_base.rolling(window='365D', min_periods=1).mean()\n", "# This function computed the rolling mean for the year after each value,\n", "# and not for the 6 month before to 6 month after period for each value\n", "rolling_mean = rolling_mean_with_offset.shift(periods=-182, freq='D')\n", "print(rolling_mean.reindex(full_index))\n", "rolling_mean.plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }