ARMA models
ARMA models are often used to forecast a time series. These models combine autoregressive and moving average models (see http://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model). In moving average models, we assume that a variable is the sum of the mean of the time series and a linear combination of noise components.
Note
The autoregressive and moving average models can have different orders. In general, we can define an ARMA model with p
autoregressive terms and q
moving average terms as follows:
In the preceding formula, just like in the autoregressive model formula, we have a constant and a white noise component; however, we try to fit the lagged noise components as well.
Fortunately, it's possible to use the statsmodelssm.tsa.ARMA()
routine for this analysis. Fit the data to an ARMA(10,1)
model as follows:
model = sm.tsa.ARMA(df, (10,1)).fit()
Perform a forecast (statsmodels uses strings a lot):
prediction = model.predict('1975', str(years[-1]), dynamic...