Seasonal time series

ARIMA Models in Python

James Fulton

Climate informatics researcher

Seasonal data

  • Has predictable and repeated patterns
  • Repeats after any amount of time
ARIMA Models in Python

Seasonal decomposition

ARIMA Models in Python

Seasonal decomposition

time series = trend + seasonal + residual

ARIMA Models in Python

Seasonal decomposition using statsmodels

# Import 
from statsmodels.tsa.seasonal import seasonal_decompose
# Decompose data
decomp_results = seasonal_decompose(df['IPG3113N'], period=12)
type(decomp_results)
statsmodels.tsa.seasonal.DecomposeResult
ARIMA Models in Python

Seasonal decomposition using statsmodels

# Plot decomposed data
decomp_results.plot()
plt.show()

ARIMA Models in Python

Finding seasonal period using ACF

ARIMA Models in Python

Identifying seasonal data using ACF

ARIMA Models in Python

Detrending time series

# Subtract long rolling average over N steps
df = df - df.rolling(N).mean()

# Drop NaN values df = df.dropna()

ARIMA Models in Python

Identifying seasonal data using ACF

# Create figure
fig, ax = plt.subplots(1,1, figsize=(8,4))

# Plot ACF
plot_acf(df.dropna(), ax=ax, lags=25, zero=False)
plt.show()

ARIMA Models in Python

ARIMA models and seasonal data

ARIMA Models in Python

Let's practice!

ARIMA Models in Python

Preparing Video For Download...