In my professional life as a data scientist, I have encountered time series multiple times. Most of my knowledge comes from my academic experience, specifically my courses in Econometrics (I have a degree in Economics), where we studied statistical properties and models of time series.
Among the models I studied was SARIMA, which acknowledges the seasonality of a time series, however, we have never studied how to intercept and recognize seasonality patterns.
Most of the time I had to find seasonal patterns I simply relied on visual inspections of data. This was until I stumbled on this YouTube video on Fourier transforms and eventually found out what a periodogram is.
In this blog post, I will explain and apply simple concepts that will turn into useful tools that every DS who’s studying time series should know.
Table of Contents
1. What is a Fourier Transform?
2. Fourier Transform in Python
3. Periodogram
Let’s assume I have the following dataset (AEP energy consumption, CC0 license):
import pandas as pd
import matplotlib.pyplot as pltdf = pd.read_csv("data/AEP_hourly.csv", index_col=0)
df.index = pd.to_datetime(df.index)
df.sort_index(inplace=True)
fig, ax =…