Salta al contenuto

Analizziamo la CO2

Oggi andremo ad analizzare con R una serie di dati molto importante, ovvero la concentrazione di CO2 in atmosfera. In particolare prenderemo in esame i dati registrati presso il sito di Mauna Loa, negli Stati Uniti. L’analisi che effettueremo oggi sarà un po’ più complessa rispetto alle precedenti, ma procedendo insieme e con calma, alla fine di questo articolo avremo appreso gli strumenti di base per l’analisi di una serie storica.

Prima di proseguire, consigliamo la lettura dei precedenti capitoli:

    R, la statistica e la climatologia
    Primi passi con R e le temperature

In questo primo articolo dedicato alla CO2 utilizzeremo questa fonte di dati, per comodità e semplicità d’uso, Climate Monitor ha preparato una versione ripulita dai dati superflui, la potete scaricare qui, oppure da R con il seguente comando:

dati<-scan("http://www.climatemonitor.it/Download/co2.csv")

Per questa sessione utilizzeremo le seguenti librerie:

library(tseries)
library(stats)
library(ast)

Per quanto riguarda l’ultima libreria “AST” è possibile che non sia installata sul vostro sistema. E’ una libreria non compresa nella biblioteca ufficiale di R, e va scaricata da qui se utilizzate Linux, oppure da qui se utilizzate Windows. In entrambi i casi, utilizzate il seguente comando per installarla:

R CMD INSTALL *percorso alla libreria*/ast_0.6.tar.gz

La serie è composta da 611 elementi ed inizia nel marzo del 1958. Diamo queste informazioni ad R con il seguente comando (ormai a noi familiare, in quanto l’abbiamo già utilizzato più volte):
co2<-ts(dati,start=c(1958,3),frequency=12)
Per avere una idea preliminare dei dati, scriviamo:

plot(co2,main="CO2 - Mauna Loa",xlab="Anno",ylab="ppm CO2")

ed otterremo questo

CO2 registrata presso il sito di Mauna Loa

Ad occhio possiamo notare come vi sia una evidente stagionalità e un trend di lungo periodo. Nel caso della CO2 la stagionalità non è una sorpresa, è legata a fattori antropici ed ambientali. Il trend di fondo, in crescita e lo vedremo nei numeri, è uno degli argomenti più dibattuti degli ultimi 30 anni, da qui l’importanza di vedere con i propri occhi di cosa si stia parlando.

Se non siete pratici di statistica, non preoccupatevi. Teniamo a mente solo un semplice concetto: una serie storica, quale che sia, può essere considerata la somma di diverse componenti, normalmente vengono considerati: la tendenza (il trend), il ciclo e la stagionalità. E’ possibile andare a “scorporare” ciascuno di questi elementi per meglio analizzare la nostra serie storica, ed è quanto stiamo per fare con la nostra CO2. Detto in termini più precisi:
Serie storica di tipo additivo
Serie storica di tipo additivo
Dove:

T = è una funzione che rappresenta il trend
Z = è una funzione che rappresenta le ciclicità di lungo periodo
S = è una funzione che rappresenta la stagionalità di breve periodo
R = variabile casuale che rappresenta i valori residui

Andiamo, quindi, a caccia della tendenza di lungo periodo (questa tecnica vi tornerà utile anche per altre serie storiche di fenomeni naturali). Per il momento, per una maggiore leggibilità dei grafici, utilizzeremo un dominio temporale ristretto, a partire dal 2000.

plot(window(co2,2000,max(time(co2))),main="CO2 - Mauna Loa",xlab="Anno",ylab="ppm CO2")

CO2 - 2000/2009

Creiamo dei filtri e applichiamoli (il primo con “passo” a breve termine, il secondo con passo a lungo termine):

co2.filt1<-filter(co2,filter=rep(1/5,5))
co2.filt2<-filter(co2,filter=rep(1/12,12))
lines(co2.filt1,col="red",lwd=2)
lines(co2.filt2,col="blue",lwd=2)

Otterremo:

CO2, la serie filtrata

R mette a disposizione numerosi metodi per la scomposizione delle serie storiche, ad esempio tsr(), decompose() e stl(). Noi utilizzeremo quest’ultimo metodo.

co2.fit<-stl(co2,s.window="periodic")

La funzione stl() a questo punto ha scomposto la serie storica CO2 nelle sue componenti fondamentali: trend, stagionalità e i residui. Andiamo a separare ciascuna di queste componenti per un eventuale utilizzo futuro (ma non dimentichiamo che comunque la serie è già scomposta!).

co2.trend<-co2.fit$time.series[,2] co2.stag<-co2.fit$time.series[,1] co2.res<-co2.fit$time.series[,3]

Ed ecco il risultato finale:

Scomposizione della serie CO2 - Mauna Loa

Con questo metodo, abbiamo preso i dati originali e individuato la componente stagionale, questa va poi sottratta, restituendoci il trend di lungo periodo. Sottratte entrambe le componenti, rimane quella che viene detta componente residua o erratica. In pratica errore di fondo, dati che non possono rientrare in nessuna delle due componenti precedenti. Da un punto di vista statistico, per la correttezza del procedimento, occorrerebbe effettuare una serie di controlli sulla componente residuale, tale argomento piuttosto complesso esula dai nostri obiettivi, tuttavia se vi fosse l'interesse di più persone, eventualmente potremmo affrontarlo in un capitolo a parte.

Reblog this post [with Zemanta]
Related Posts Plugin for WordPress, Blogger...Facebooktwitterlinkedinmail
Published inAmbienteAttualitàR

2 Comments

  1. marcob.

    molto interessante, grazie!

  2. […] Climate Monitor wrote an interesting post today on Analizziamo la CO2Here’s a quick excerptO ggi andremo ad analizzare con R una serie di dati molto importante, ovvero la concentrazione di CO2 in atmosfera. In particolare prenderemo in esame i dati registrati presso il sito di Mauna Loa , negli Stati Uniti. L’analisi che effettueremo oggi sarà un po’ più complessa rispetto alle precedenti, ma procedendo insieme e con calma, alla fine di questo articolo avremo appreso gli strumenti di base per l’analisi di una serie storica. Prima di proseguire, consigliamo la lettura dei prece […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Categorie

Termini di utilizzo

Licenza Creative Commons
Climatemonitor di Guido Guidi è distribuito con Licenza Creative Commons Attribuzione - Non commerciale 4.0 Internazionale.
Permessi ulteriori rispetto alle finalità della presente licenza possono essere disponibili presso info@climatemonitor.it.
scrivi a info@climatemonitor.it
Translate »