AIC, Model Selection and Diagnostics : Lynx Data Data: Annual number of lynx trappings in the Mackenzie River District for the period 1821 to 1934. Let's see what the AIC tells us about our potential models. We can get Splus to find the AIC when doing ML estimation and when using the Yule-Walker estimates. First, we'll look at the Yule-Walker estimates. In this case, Splus will tell us it's "preferred" model, based on minimizing AIC. WARNING: This may give a model that is more complicated than we like. As in all model selection, we want to reach a balance between a "good" model and one that isn't too complicated. > lynx.ywaic <- ar.yw(lynx) # The summary command tells us what results are saved in # lynx.ywaic > summary(lynx.ywaic) Length Class Mode order 1 numeric ar 8 numeric var.pred 1 numeric aic 21 numeric n.used 1 numeric order.max 1 numeric partialacf 20 numeric resid 114 rts numeric method 1 character series 1 character > lynx.ywaic$order # This tell us that, based on AIC, an AR(8) [1] 8 # model is preferred What model(s) did our plots suggest? # Print the AIC values for AR(1) through AR(20). Note that Splus # transforms the AIC values by subtracting the minimum AIC from each # So the smallest AIC listed will always be 0. > lynx.ywaic$aic [1] 133.867676 55.642578 9.299805 11.125488 5.794189 6.774414 [7] 8.464844 8.843018 0.000000 1.660156 2.906738 4.000488 [13] 5.820068 6.699463 8.676270 9.203613 9.869385 11.865234 [19] 12.316406 14.285889 16.250732 Next, let's look at some of the AIC values from ML estimation, which were found on a previous handout: > lynx.ar2mle$aic # AR(2) [1] 1840.895 > lynx.ma1mle$aic # MA(1) [1] 1913.947 > lynx.arma$aic # ARMA(1, 1) [1] 1872.079 ################################################################# Next, we'll conduct some model diagnostics, using the 1-step ahead prediction residuals. If we have done ML estimation, we can use the commands "arima.diag" and "arima.diag.plot" > lynxar2.diag <- arima.diag(lynx.ar2mle) This command gives the attached plot. What do these plots suggest? What is contained in lynxar2.diag? > summary(lynxar2.diag) Length Class Mode acf.list 7 acf list # ACF of residuals pacf.list 7 acf list # PACF of residuals acf.se 21 numeric # Standard error of ACF values gof 4 list std.resid 114 ts numeric # Standardized residuals series 1 character model.order 3 numeric reg.coef 0 NULL Another way to get the plot is > lynxar2.diag2 <- arima.diag(lynx.ar2mle, plot = F) > arima.diag.plot(lynxar2.diag2) Also attached are the residual plots from the MA(1) and ARMA(1, 1) cases. What do these plots suggest?