"<matplotlib.axes._subplots.AxesSubplot at 0x7fce2c0686a0>"
"<matplotlib.axes._subplots.AxesSubplot at 0x7f450a278908>"
]
]
},
},
"execution_count": 14,
"execution_count": 14,
...
@@ -2034,16 +2034,16 @@
...
@@ -2034,16 +2034,16 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 16,
"execution_count": 15,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
"data": {
"data": {
"text/plain": [
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fce25e19e10>"
"<matplotlib.axes._subplots.AxesSubplot at 0x7f45040abeb8>"
]
]
},
},
"execution_count": 16,
"execution_count": 15,
"metadata": {},
"metadata": {},
"output_type": "execute_result"
"output_type": "execute_result"
},
},
...
@@ -2071,6 +2071,121 @@
...
@@ -2071,6 +2071,121 @@
"On voit de prime abord une augmentation globale, et des oscillations assez régulières avec des minima locaux les mois de Septembre / Octobre et des maxima locaux les mois de Mai et Juin."
"On voit de prime abord une augmentation globale, et des oscillations assez régulières avec des minima locaux les mois de Septembre / Octobre et des maxima locaux les mois de Mai et Juin."
]
]
},
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour caractériser la croissance globale de la concentration de CO2 dans l'atmosphère, on va tenter de joindre au graphe des courbes de tendance linéaire et exponentielle, et voir quelle est la plus appropriée."
"a1, b1 = np.polyfit([x for x in range(len(useful_data.index))], useful_data['CO2'], 1)\n",
"a2, b2 = np.polyfit([x for x in range(len(useful_data.index))], [np.log(y) for y in useful_data['CO2']], 1)\n",
"fit_data = [x*a1 + b1 for x in range(len(useful_data.index))]\n",
"fit_dataExp = [np.exp(b2)*np.exp(a2*x) for x in range(len(useful_data.index))]\n",
"useful_data['CO2'].plot()\n",
"plt.plot([x for x in range(len(useful_data.index))], fit_data)\n",
"plt.plot([x for x in range(len(useful_data.index))], fit_dataExp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ces courbes de tendance ne sont pas satisfaisantes, elles ne semblent pas adaptées aux données. On tente une courbe de tendance polynomiale de degré 2."
"a3, b3, c3 = np.polyfit([x for x in range(len(useful_data.index))], useful_data['CO2'], 2)\n",
"fit_dataCarre = [x*x*a3 + b3*x + c3 for x in range(len(useful_data.index))]\n",
"useful_data['CO2'].plot()\n",
"plt.plot([x for x in range(len(useful_data.index))], fit_dataCarre)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Cette courbe de tendance a l'air plus à même de nous fournir des données moyennes correctes. On souhaite maintenant faire une extrapolation jusqu'en 2025. Plutôt que de donner des valeurs par mois, il est plus pertinent ici de donner des valeurs moyennées par années.\n",
"Pour ça, il suffit d'intégrer la fonction fit_dataCarre entre les bornes qui nous intéressent. "