Seizoenscorrectie tijdens het belastingseizoen
Veel tijdreeksen vertonen een sterk seizoenspatroon. De procedure om de seizoenscomponent uit een tijdreeks te verwijderen heet seizoenscorrectie. Zo worden de meeste economische gegevens die door de overheid worden gepubliceerd seizoensgecorrigeerd.
Je zag eerder dat je door eerste verschillen te nemen van een random walk een stationair white-noise-proces krijgt. Voor seizoenscorrecties neem je geen eerste verschillen, maar verschillen met een vertraging die overeenkomt met de periodiciteit.
Kijk nog eens naar de ACF van de kwartaalwinsten van H&R Block, vooraf ingeladen in de DataFrame HRB, en je ziet een duidelijke seizoenscomponent. De autocorrelatie is hoog voor lags 4, 8, 12, 16, … door de piek in winst elke vier kwartalen tijdens het belastingseizoen. Pas een seizoenscorrectie toe door het vierde verschil te nemen (vier staat voor de periodiciteit van de reeks). Bereken daarna de autocorrelatie van de getransformeerde reeks.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in Python
Oefeninstructies
- Maak een nieuwe DataFrame met seizoensgecorrigeerde winsten door het lag-4 verschil van de kwartaalwinsten te nemen met de methode
.diff(). - Bekijk de eerste 10 rijen van de seizoensgecorrigeerde DataFrame en let erop dat de eerste vier rijen
NaNzijn. - Verwijder de
NaN-rijen met de methode.dropna(). - Plot de autocorrelatiefunctie van de seizoensgecorrigeerde DataFrame.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()