Box-Jenkins method

ARIMA Models in Python

James Fulton

Climate informatics researcher

The Box-Jenkins method

From raw data $\rightarrow$ production model

  • identification
  • estimation
  • model diagnostics
ARIMA Models in Python

Identification

  • Is the time series stationary?
  • What differencing will make it stationary?
  • What transforms will make it stationary?
  • What values of p and q are most promising?

ARIMA Models in Python

Identification tools

  • Plot the time series
    • df.plot()
  • Use augmented Dicky-Fuller test
    • adfuller()
  • Use transforms and/or differencing
    • df.diff(), np.log(), np.sqrt()
  • Plot ACF/PACF
    • plot_acf(), plot_pacf()

ARIMA Models in Python

Estimation

  • Use the data to train the model coefficients
  • Done for us using model.fit()
  • Choose between models using AIC and BIC
    • results.aic, results.bic

ARIMA Models in Python

Model diagnostics

  • Are the residuals uncorrelated
  • Are residuals normally distributed
    • results.plot_diagnostics()
    • results.summary()

ARIMA Models in Python

Decision

ARIMA Models in Python

Repeat

  • We go through the process again with more information
  • Find a better model

ARIMA Models in Python

Production

  • Ready to make forecasts
    • results.get_forecast()

ARIMA Models in Python

Box-Jenkins

ARIMA Models in Python

Let's practice!

ARIMA Models in Python

Preparing Video For Download...