JOB #2
For September 20th: Sections of Chapter 4,5,6 of W&H.
- 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.
- Routine drill exercises to ensure you are completely on top of things:
- Exercises 4.4, 4.8, 4.11 and 5.5
- 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, λ)?
- 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".
- 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.
|