Paper B April 2019

Discussion in 'CS2' started by Bernadette Pieterse, Apr 5, 2022.

  1. Bernadette Pieterse

    Bernadette Pieterse Active Member

    Hi All,

    For Q3 in the practical paper, they identified the model as ARIMA(3,0,0) because there PACF = 0 for all k>3.
    However, I don't see the clear cut where the PACF turns zero?
    How can I identify the model in the test?

    Thanks!
     
  2. Dave Johnson

    Dave Johnson ActEd Tutor Staff Member

    Hi

    Fitting time series models can sometimes be more of an art than a science, and that is what we are seeing here. We will never observe zero values for the ACF and PACF due to random variation, so we must use the 95% confidence intervals which are plotted by default by the acf() and pacf() functions in R to guide us. In this case we see that both the ACF and PACF rapidly fall within the confidence interval around zero, showing no significance beyond lag 3. This is consistent with a stationary time series.

    The following commentary comes from ASET, and describes what we can do next:

    We need to fit an ARIMA(p,d,q) model. As the series appears to be stationary, we set the value of d to 0. We can use the number of spikes in the sample ACF and PACF (before geometric decay to 0) as a possible indication for values of p and q to try.

    As both the sample ACF and sample PACF appear to show no significance after lag 3, we could try various models up to say an ARIMA(3,0,3). In practice, we would test many different models and use some criterion, such as the Akaike information criterion (AIC), to help decide which model to use. We would then test the fit of the model before implementing it for actual use. The question only asks us to consider the sample ACF and sample PACF so we don’t do a detailed investigation at this point. We also don’t test the fit of the model as this is not asked for by the question.

    An ARIMA model can be fitted using the arima() function. Don’t forget to type out the equation of the model that you fit, as asked for by the question.

    The examiners commented that any ARIMA(p,0,q) model accompanied with appropriate justification received marks.

    Looking ahead at subsequent parts in the question, we can see that in part (v) we try to fit a better model. For now we fit the ARIMA(3,0,3).

    You may be wondering how you would know to choose a ARIMA(3,0,3) model here:
    - If the PACF cuts off after lag 3, say, this is indicative of ARIMA(3,0,0).
    - If the ACF cuts off after lag 3, say, this is indicative of ARIMA(0,0,3).
    - However, if the PACF and ACF both don’t show significance after lag 3, say, then it’s not a simple case of saying that we have a ARIMA(3,0,3) because the autoregressive part of the time series process would affect the ACF and the moving average part of the time series process would affect the PACF.

    This problem is compounded when trying to fit a time series to actual data because it’s never going to be perfect and it’s not always possible to observe either a clean ‘cut off’ or geometric decay of either the ACF or PACF. So, in reality, with more time, we would try a number of models including ARIMA(1,0,1), ARIMA(1,0,2), ARIMA(1,0,3), ARIMA(2,0,1), ARIMA(3,0,1),
    ARIMA(2,0,2), ARIMA(2,0,3), ARIMA(3,0,2) and possibly more. You might be thinking that there isn’t time in the exam to try all of these. However, if you really had no idea which model to start with, it wouldn’t actually take that long to copy/paste the existing (fit.part3 <- arima(x = consumption, order = c(3, 0, 3))) already typed and change the p and q parameters a few times to compare a number of models. We show one way to take this approach in part (v), without having to copy and paste the same code multiple times.

    The question asks us to ‘fit the most appropriate model based on the results in part (ii)’, so using what we know, and in the absence of trying many different models, ARIMA(3,0,3) is a possible choice here.
    Hope that helps.

    Dave
     
  3. Bernadette Pieterse

    Bernadette Pieterse Active Member

    Thanks for the help, Dave!
     

Share This Page