Destagionalizzazione durante la stagione delle tasse
Molte serie temporali mostrano una forte stagionalità. La procedura per rimuovere la componente stagionale di una serie temporale si chiama destagionalizzazione. Per esempio, la maggior parte dei dati economici pubblicati dal governo è destagionalizzata.
Hai visto che, facendo la prima differenza di un random walk, ottieni un processo di rumore bianco stazionario. Per la destagionalizzazione, invece delle prime differenze, prenderai differenze con un ritardo pari alla periodicità.
Osserva di nuovo l’ACF degli utili trimestrali di H&R Block, già caricati nel DataFrame HRB: c’è una chiara componente stagionale. L’autocorrelazione è alta ai ritardi 4, 8, 12, 16, … a causa del picco degli utili ogni quattro trimestri durante la stagione delle tasse. Applica una destagionalizzazione prendendo la quarta differenza (quattro rappresenta la periodicità della serie). Poi calcola l’autocorrelazione della serie trasformata.
Questo esercizio fa parte del corso
Analisi delle serie temporali in Python
Istruzioni dell'esercizio
- Crea un nuovo DataFrame con gli utili destagionalizzati calcolando la differenza al ritardo 4 degli utili trimestrali tramite il metodo
.diff(). - Esamina le prime 10 righe del DataFrame destagionalizzato e nota che le prime quattro sono
NaN. - Elimina le righe
NaNusando il metodo.dropna(). - Traccia la funzione di autocorrelazione del DataFrame destagionalizzato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import the plot_acf module from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
# Seasonally adjust quarterly earnings
HRBsa = ___
# Print the first 10 rows of the seasonally adjusted series
print(HRBsa.___)
# Drop the NaN data in the first four rows
HRBsa = ___
# Plot the autocorrelation function of the seasonally adjusted series
plot_acf(HRBsa)
plt.show()