ajouts conclusion, moyennes sur 2020 à 2025

parent 6a6a448f
......@@ -1541,7 +1541,7 @@
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7ff3129454a8>"
"<matplotlib.axes._subplots.AxesSubplot at 0x7f9244495ac8>"
]
},
"execution_count": 14,
......@@ -2586,7 +2586,7 @@
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff30c74af60>]"
"[<matplotlib.lines.Line2D at 0x7f923e234630>]"
]
},
"execution_count": 18,
......@@ -2619,16 +2619,16 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff30c695ba8>]"
"[<matplotlib.lines.Line2D at 0x7f923e21f358>]"
]
},
"execution_count": 22,
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
......@@ -2651,7 +2651,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 20,
"metadata": {},
"outputs": [
{
......@@ -2702,16 +2702,16 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff30c5c6cc0>]"
"[<matplotlib.lines.Line2D at 0x7f923e175470>]"
]
},
"execution_count": 27,
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
......@@ -2734,7 +2734,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 22,
"metadata": {},
"outputs": [
{
......@@ -2759,7 +2759,7 @@
},
{
"cell_type": "code",
"execution_count": 30,
"execution_count": 23,
"metadata": {},
"outputs": [
{
......@@ -2805,16 +2805,16 @@
},
{
"cell_type": "code",
"execution_count": 33,
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7ff30c40f0b8>"
"<matplotlib.legend.Legend at 0x7f923e0c6080>"
]
},
"execution_count": 33,
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
......@@ -2860,16 +2860,16 @@
},
{
"cell_type": "code",
"execution_count": 42,
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff30afb8780>]"
"[<matplotlib.lines.Line2D at 0x7f923e1c3128>]"
]
},
"execution_count": 42,
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
......@@ -2902,26 +2902,26 @@
},
{
"cell_type": "code",
"execution_count": 45,
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"valeur moyenne pour l'annee 2020 : [CO2] = 412.89 ppm\n",
"valeur moyenne pour l'annee 2021 : [CO2] = 415.29 ppm\n",
"valeur moyenne pour l'annee 2022 : [CO2] = 417.72 ppm\n",
"valeur moyenne pour l'annee 2023 : [CO2] = 420.18 ppm\n",
"valeur moyenne pour l'annee 2024 : [CO2] = 422.66 ppm\n",
"valeur moyenne pour l'annee 2025 : [CO2] = 425.17 ppm\n"
"valeur moyenne pour l'annee 2020 : [CO2] = 412.69 ppm\n",
"valeur moyenne pour l'annee 2021 : [CO2] = 415.09 ppm\n",
"valeur moyenne pour l'annee 2022 : [CO2] = 417.52 ppm\n",
"valeur moyenne pour l'annee 2023 : [CO2] = 419.97 ppm\n",
"valeur moyenne pour l'annee 2024 : [CO2] = 422.45 ppm\n",
"valeur moyenne pour l'annee 2025 : [CO2] = 424.96 ppm\n"
]
}
],
"source": [
"#Valeurs moyennes : on peut se contenter d'une intégration manuelle ici\n",
"for x in range(2020, 2026):\n",
" borneInf = (x-1958)*12+1\n",
" borneInf = (x-1958)*12\n",
" borneSup = borneInf + 12\n",
" Y2 = (a2*borneSup**3)/3 + (b2*borneSup**2)/2 + c2*borneSup\n",
" Y1 = (a2*borneInf**3)/3 + (b2*borneInf**2)/2 + c2*borneInf\n",
......@@ -2929,6 +2929,93 @@
" print(\"valeur moyenne pour l'annee \", x, \" : [CO2] = \", format(meanValue, '0.2f'), \" ppm\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour finir, on peut vérifier nos résultats en comparant le fit avec les données réelles pour une année entièrement renseignée, 2019 par exemple."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"733 734 735 736 737 738 739 740 741 742 743 744 \n",
"732 409.23\n",
"743 410.29\n",
"733 744\n",
"[CO2] (moyenne réelle) : \t 411.28\n",
"[CO2] (moyenne fit) : \t 410.31\n"
]
}
],
"source": [
"#calcul avec data\n",
"newBorneInf = (2019-1958)*12+1 \n",
"newBorneSup = newBorneInf + 11\n",
"somme = 0\n",
"for x in range(newBorneInf, newBorneSup+1):\n",
" somme += udc['CO2'][x]\n",
" print(x, end = ' ')\n",
"print(\"\")\n",
"newMean = somme/12\n",
"\n",
"#calcul avec fit\n",
"newY2 = (a2*newBorneSup**3)/3 + (b2*newBorneSup**2)/2 + c2*newBorneSup\n",
"newY1 = (a2*(newBorneInf-1)**3)/3 + (b2*(newBorneInf-1)**2)/2 + c2*(newBorneInf-1) \n",
"# on ne peut pas utiliser la même borne pour une intégration ou une somme ici sans omettre une valeur, d'où le -1\n",
"newMeanValue = (newY2-newY1)/12\n",
"\n",
"print(newBorneInf, newBorneSup)\n",
"print(\"[CO2] (moyenne réelle) : \\t\", format(newMean, '0.2f'))\n",
"print(\"[CO2] (moyenne fit) : \\t\", format(newMeanValue, '0.2f'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le résultat est acceptable, on peut calculer l'erreur relative."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-0.0023505910290639647"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"erreurRelative = (newMeanValue - newMean)/newMean\n",
"erreurRelative"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Conclusion\n",
"Le but de cette étude était de produire une analyse reproductible de l'évolution de la concentration en CO2 dans l'atmosphère. Les données de base permettent une étude de 1958 à 2020, modulo les données manquantes.\n",
"En utilisant les librairies Pandas et Numpy pour traiter les données, nous avons constaté une croissance globale de la concentration en CO2 d'année en année, couplée à une oscillation de cette concentration avec des maxima autour de Mai et des minima autour de Septembre.\n",
"Nous avons ensuite appliqué 3 fonctions différentes pour trouver une courbe de tendance raisonnable pour notre jeu de données. Le choix s'est fait sur un polynôme de degré 2, qui est un bon compromis car il suit de près les données sans pour autant être trop complexe à traiter.\n",
"Ce fit a ensuite permis d'extrapoler les valeurs moyennes des concentrations en CO2 pour les années 2020 à 2025. Une vérification sur l'année 2019 pour laquelle l'intégralité des données sont disponibles suggère une erreur relative inférieure au pourcent (0.2% en l'occurence), ce qui est semble acceptable.\n",
"Pour compléter cette étude, un travail possible serait de caractériser l'oscillation de la concentration en CO2 dans l'année par une fonction sinusoidale par exemple."
]
},
{
"cell_type": "code",
"execution_count": null,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment