## ARIMA #

ARIMA (Autoregressive integrated moving average) is a time series model, a combination of three ideas:

• autoregressive model (AR)
• moving average model (MA)
• integrated (I), meaning some sort of differencing process has been applied that improves upon the simple combination of the previous two ideas

### Autoregressive model #

An autoregressive model (using historical values of a variable as features for a linear regression) for the time series $$X_1,X_2,\ldots$$ can be written as $X_t = c + \sum_{i=1}^{p}\phi_i X_{t-i} + \varepsilon_t$ where $$p$$ is the order of the model (how far back we look), $$\phi_i$$ are the regression coefficients and $$\varepsilon_t$$ is some random error.

### Moving average model #

A moving average model can be written as $X_t = \mu + \sum_{i=1}^q \theta_i\varepsilon_{t-i} + \varepsilon_t$ where again $$q$$ is the order of the model, $$\theta_i$$ are parameters and $$\varepsilon_1,\ldots,\varepsilon_t$$ are random errors (white noise). A linear regression of the current value of the series against current and previous (observed) white noise error terms.

### Integrated #

Still trying to understand where this fits in.

• Julia contains a package for implementing ARIMA. Maybe I can use this as a chance to learn Julia.
• Python package.