Python: la libreria Pandas. Un’introduzione alle serie storiche

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
la libreria Pandas

Le serie storiche

Una serie storica y(t) è semplicemente la registrazione cronologica, non necessariamente con campionamento uniforme, di osservazioni sperimentali di
una variabile:

  • l’andamento dei prezzi delle materie prime, gli indici di borsa,
  • lo spread BTP/BUND,
  • il tasso di disoccupazione.

Da questa serie di dati si vuole estrarre informazione per la caratterizzazione del fenomeno in osservazione e per la previsione di valori futuri.

L’ordine prima di tutto!

Per le serie storiche (temporali) l’ordinamento è assolutamente cruciale..

Il tempo è assolutamente rilevante per studiare il fenomeno sottostante.

Se vogliamo studiare le serie storiche il motivo sta nel fatto di sapere che, in molti casi, ciò che è accaduto in passato possa dirci molto rispetto agli  eventi futuri  che riguardano il fenomeno osservato.

ESEMPIO

Rilevazione del numero di passeggeri in un piccolo aeroporto

Dai dati di figura potremmo certo riconoscere che il numero dei passeggeri èn crescita (si nota un trend positivo), denotando tuttavia una certa variabilità (oscillazioni intorno ad una ipotetica linea di tendenza) che si va via via più accentuando al passare del tempo.

Volendo tentare una predizione del numero di passeggeri nel prossimo Gennaio, potremmo ragionare nel modo seguente:

con i dati acquisiti potremmo tracciare la linea di tendenza e prolungarla fino al Gennaio successivo.

Linea di tendenza del numero di passeggeri

In questo modo avremmo una valutazione di massima del numero di passeggeri, circa 200 , che ci  dovremmo aspettare nell’immediato futuro.

Tuttavia, avendo osservato una certa variabilità dei dati, il numero effettivo di passeggeri potrebbe differire molto dalla stima precedente, sia in eccesso che in difetto.

Forse potrebbe interessarti anche:  Python: la libreria Pandas. Le operazioni sulle Series

Per determinare un possibile intervallo di valori entro cui dovrebbe collocarsi con una certa confidenza il numero di passeggeri, potremmo tracciare le curve spezzate dei massimi e dei minimi,

Linee di supporto del numero di passeggeri

ottenendo in questo modo un intervallo di valori plausibili da 120 a 290, a cavallo della media di 200, dettata dalla  tendenza.

Certamente la valutazione effettuata risulta abbastanza insoddisfacente, è molto grande la differenza tra il limite inferiore e quello superiore per prendere una qualche decisione affidabile, come ad esempio quanti impiegati destinare alle operazioni di check-in.

Questo dipende sostanzialmente dal modello troppo semplice che si è adottato sia per la tendenza che per la variabilità della serie.

In altra parole abbiamo caratterizzato la serie con descrittori con una scala temporale troppo grossolana. Nel caso della tendenza si è considerato il trend lineare su tutto l’intervallo d’osservazione, mentre per la variabilità si è considerata la proiezione lineare dei massimi e minimi della serie.

Una valutazione migliore comporta l’analisi dei dati ad una scala temporale più fine in modo da descrivere in modo più accurato il movimento della serie:

Stagionalità del numero di passeggeri

La precedente mostra una curva che insegue bene la variazione dei dati in ogni punto di campionamento, evidenziando peraltro il carattere periodico della
serie storica. Tale curva permette certamente una valutazione più realistica del numero di passeggeri nel prossimo Gennaio, propendendo per un valore vicino all’estremo superiore calcolato precedentemente (addirittura superiore a quello).

Analisi dei componenti di una serie storica

Tale curva può essere pensata come la sovrapposizione del trend τ (t) e della componente periodica (o stagionalità) S(t). Quello che resta nella serie di dati oltre al trend ed alla componente stagionale prende il nome di residuo r(t).
Analisi della serie storica
Analisi delle serie storiche le componenti
 Il residuo r(t), eventualmente, può essere ulteriormente analizzato
r(t) = γ(t) + ε(t)
in una componente strutturata γ(t) ed una sequenza i.i.d. (independent identically distributed random variables). Questa sequenza è completamente priva di informazione in quanto, essendo tutti i suoi valori indipendenti l’uno dall’altro, non è possibile prevedere in alcun modo il valore della sequenza in un qualunque punto di campionamento anche se si conoscono i valori in tutti gli altri punti di campionamento.
Tali sequenze sono anche dette sequenze di rumore bianco.
In questo caso le componenti τ (t), S(t) e γ(t) intercettano tutta l’informazione presente nei dati y(t).
Analisi dei componenti di una serie storica
Nel caso appena illustrato si è effettuata un’analisi dei dati di tipo additivo
y(t) = τ (t) + S(t) + r(t)
Di solito, tutto ciò che eccede il trend prende il nome di componente ciclica c(t) della serie storica
c(t) = y(t) − τ (t)

In altri casi risulta più indicata un’analisi di tipo moltiplicativo

Forse potrebbe interessarti anche:  Python: la libreria Pandas. Le operazioni sui Dataframe. Calcolare media di riga e di colonna

y(t) = τ (t) ∗ S(t) ∗ r(t) 

Non c’è un modo sistematico per scegliere l’una o l’altra modalità, considerando inoltre che alcune serie storiche potrebbero richiedere contemporaneamente i due tipi di analisi; in altre parole le serie di dati sperimentali non sono semplicemente suddivise in serie con analisi additiva e serie con analisi moltiplicativa. Tuttavia i modelli additivo e moltiplicativo sono soddisfacenti nella stragrande maggioranza dei casi.