STA 356: Time Series & Forecasting
- Fall 2005 -

STA 356 Schedule Support



JOB #2

For September 20th: Sections of Chapter 4,5,6 of W&H.

  1. Read and digest Sections 4.5, on observational variance learning in general DLMs, and 4.7, on Filtering Recurrences in general univariate DLMs. This overlays the forward-time sequential learning process to complete the inferential analysis: first to modify the sequential updating equations to learn on-line about the (constant) observational variance (a standard conjugate extension of the normal updating); second, to "filter back" current data to make updated inferences on past state vectors as well as the "current" and "future". Key to time series smoothing and retrospection.

  2. Routine drill exercises to ensure you are completely on top of things:
        - Exercises 4.4, 4.8, 4.11 and 5.5

  3. Implementation:
    • Extend (just a little bit) the code you created in Job #1 to the DLM with a regression vector Ft at time t and now a specified constant state evolution matrix G. The code will now implement the sequential updating equations (including observational variance learning) from that context (in which we had Gt set to the identity matrix) to the more general case (though restricted to a constant Gt=G matrix for all t.)

      As in Job #1, implement with a discount factor specification for evolution variances: in this extended model, do this by setting, at each time t, the evolution variance matrix as

      Wt = GCt-1G'-1-1)

      so that we have a simplification of the compute for Rt, namely
      Rt = GCt-1G'

      Note how this generalises what you implemented in Job #1. This is discussed in W&H Chapter 6.3.1 -- read and digest that discussion.

    Use the above code to recompute the analysis you performed in Job #1 but now using a model in which you have a "local" straight line regression that includes an intercept, i.e., Ft = (1, Xt)' for each time t, and where the 2x2 state evolution matrix is now G=diag ( λ, φ ) for specified numbers λ and φ. Set λ=1 and fix the discount factor as δ=0.8.

    Then, run the sequential updating analysis separately (in parallel!) for 6 separate analyses with φ=0.999, φ=1.000, φ=1.001, φ=1.002, φ=1.003 and φ=1.004. In each analysis, keep a rolling value of the "model likelihood" just as you did for different values of the discount factor in Job #1. Use this to assess how much the data "likes" the different values of φ and comment on the results in the context of the data analyses and what you have learned.

    In this analysis you need to specify the initial distributions in terms of the parameters m0, C0, n0 and S0. The state vector in the example has 2 elements. Initialise with a fairly vague setting consistent with the problem, such as n0=S0=1, m0=(0,0.45)' and C0 = diag(0.005,0.0025). In your write-up, describe what these settings imply about the likely ranges of values for the state parameters and observational variance.

    • At t=n, you have to forecast yn+1. You can choose to use any one of the 6 different DLMs, or somehow all of them. How might you use them all to generate one aggregate one-step forecast distribution?
    • How might you develop an analysis to more "properly" estimate &phi (and, if you wanted to, λ)?

  4. Implement the filtering recurrences to retrospectively update the estimates of the state vector back over time. Displays graphs of the retrospectively estimated value of the regression coefficient on total market (the second element of the 2-d state vector in this data analysis) for each of the 6 models, and comment on the forms of these "trajectories".

  5. Hand in detailed code print-out, the figures above and comments on your experiences. Use Latex/Tex please. Hand-in completed assignment (in Mike W's Duke Statistics mailbox in room 211 Old Chem) before 5pm on Tuesday 20th September.