BABS 502 Lecture 9 ARIMA Forecasting II March 23, 2009
© Martin L. Puterman Content The Box-Jenkins Modeling Process Seasonal ARIMA Models Concluding comments on ARIMA models
© Martin L. Puterman The Box Jenkins Approach to forecasting with ARIMA models Identification Fitting Diagnostics Refitting if necessary Forecasting
© Martin L. Puterman Identification What does the data look like? What patterns exist? –Is the data stationary? Tools –Plots of data –PACF –ACF
© Martin L. Puterman Model Fitting Trial model is proposed –e.g. ARIMA(0,1,2) Model parameters are estimated using statistical software –Output includes Parameter estimates Test statistics Goodness of fit measures Residuals Diagnostics
© Martin L. Puterman Diagnostics Determines whether model fits data adequately. –The goal is to extract all information and ensure that residuals are white noise Key measures –ACF of Residuals –PACF of Residuals –Ljung-Box-Pierce Q Statistic (Portmanteau Test) Tests whether a set of residual autocorrelations is significantly different than zero. See next slide for details If model deemed adequate, proceed with forecasting, otherwise try a new model.
© Martin L. Puterman Comments on Model Adequacy Testing (NCSS Documentation) The Portmanteau Test (sometimes called the Box-Pierce-Ljung statistic) is used to determine if there is any pattern left in the residuals that may be modeled. This is accomplished by testing the significance of the autocorrelations up to a certain lag. In a private communication with Dr. Greta Ljung, we have learned that this test should only be used for lags between 13 and 24. The test is computed as : where r j is the jth residual autocorrelation. Under H 0 : All residual autocorrelations equal zero; Q(k) is distributed as a Chi-square with (K-p-q-P-Q) degrees of freedom where p,q,P and Q are the model orders.
© Martin L. Puterman Forecasting with ARIMA models ARIMA forecasting is done automatically in any statistical program. You should try to figure out how this works in terms of the equation for the model. –It helps to write out model equation This is complicated with seasonal models Using the Backshift operator B k x t = x t-k helps. –In AR portion of models use past values in forecasts –In MA portion of models use past residuals in forecasts. Prediction intervals are usually very wide; out of sample forecast errors might be more reliable.
© Martin L. Puterman Google Share Price Forecasting SeriesMonthly price (Jan 23, 2006 – March 3, 2008) ModelRegular(1,1,0) Seasonal (No seasonal parameters) Observations111 Root Mean Square Model Estimation Section ParameterParameterStandardProb NameEstimateErrorT-ValueLevel AR(1) Forecast of price RowDateForecastLower Upper 95% Limit Fitted Model X t+1 -X t =.238 (X t – X t-1 ) or X t+1 = X t (X t – X t-1 ) One Step Ahead Forecast = * (432.7 – 471.2) = 423.5
© Martin L. Puterman Seasonal ARIMA Models Basic concept is to add extra terms to model that take into account a persistent seasonal pattern For example, a AR model for monthly data may contain information from lag 12, lag 24, etc. –i.e. Y t = A 1 Y t-12 +A 2 Y t-24 + e t –This is referred to as an ARIMA(0,0,0)x(2,0,0) 12 model General form is ARIMA(p,d,q)x(ps,ds,qs) s –This combines both non-seasonal and seasonal terms This provides a broader class of models so the challenge is to select a model from a larger class.
© Martin L. Puterman Wages Data Observe data is non-stationary
© Martin L. Puterman Differenced Wages Data Autocorrelations of Wages (1,0,12,0,0) LagCorrelationLagCorrelationLagCorrelation LagCorrelation Significant if |Correlation|>
© Martin L. Puterman Model Fitting ARIMA(0,1,3)x(0,0,1) 12 Model Estimation Section ParameterStandardProb NameEstimateErrorT-ValueLevel MA(1) MA(2) E MA(3) SMA(1) Ljung-Box Inadequate Model
© Martin L. Puterman Model Fitting ARIMA(0,1,3)x(0,0,2) 12 Model Estimation Section ParameterStandardProb NameEstimateErrorT-ValueLevel MA(1) MA(2) E MA(3) SMA(1) SMA(2) E
© Martin L. Puterman Model Fitting ARIMA(0,1,0)x(1,1,0) 12 Model Estimation Section ParameterParameterStandardProb NameEstimateErrorT-ValueLevel SAR(1) E
© Martin L. Puterman Model Comparison ModelRMSELjung- Box (24) Residual ACF (0,1,3)x(0,0,1) (0,1,3)x(0,0,2) (0,1,0)x(1,1,0) But we are concerned about forecasting and should compare models out of sample (usually simpler models are better). Also – forecasts from the last model looks most reasonable.
© Martin L. Puterman Concluding Comments The ARIMA models are not designed for models with multiplicative seasonality. In such cases; –Use log transforms. –De-seasonalize and use ARIMA on de-seasonalized data. Models with persistent trends can be de-trended and ARIMA applied to the de- trended series. Several automatic fitting programs do a good job fitting ARIMA models Parsimony is desirable – use models with as few as terms as possible –AIC and BIC criterion penalize number of terms in the model –Theoretical result – any high order MA model can be written as a low order AR model and vice versa; e.g. an MA(6) can be closely represented by an AR(1) or AR(2) model Key point – Above approach to model selection is based on in sample fitting Need to compare all models on the basis of out-of sample forecasts on holdout data. –Simpler ARIMA models seem to work better out of sample even though they may not give the best fit. –Recall from early slides that fitting is different than forecasting. ARIMA models forecast can be pooled with those from other models.