Page 1 of 1

DLM estimation procedure?

Posted: Thu Dec 05, 2013 10:07 am
by mhlinder
Hi,

I'm curious about the process underlying the DLM command. Specifically, I understand the Kalman filtering component of DLM, however, I am having trouble understanding how MLE is performed. Is the flow as follows?

1. Kalman filter
2. Maximum likelihood on the filtered states

Is this only performed once? Would a for loop be necessary to converge to stable values of states and parameters? That is, filtering once conditional on parameters, followed by maximum likelihood, would produce a different set of states; does DLM automatically converge to these values?

THanks for any help you can offer!

Re: DLM estimation procedure?

Posted: Thu Dec 05, 2013 10:27 am
by TomDoan
This is covered in Section 10.7 of the Version 8 User's Guide. The log likelihood is computed as a side effect of the Kalman filter---a separate filtering pass is required for each evaluation of the log likelihood. Derivatives of the log likelihood with respect to the free parameters are computed numerically so it takes quite a few trips through the filter to estimate the model.

Re: DLM estimation procedure?

Posted: Thu Dec 05, 2013 10:39 am
by mhlinder
Ah, I see; thanks for the response. I am using v7.3 and do not have access to the v8 User's Guide; does this still apply to 7.3? And, just to clarify, it seems like what you're describing the process as:

1. Select a parameter vector, using BFGS approach (or whatever method is specified)
2. Filter states
2.b. Along the way, calculate the likelihood
3. Go back to 1, unless convergence criterion is met

Is that correct?

Re: DLM estimation procedure?

Posted: Thu Dec 05, 2013 11:34 am
by TomDoan
It's on page 443 in the version 7 User's Guide. It hasn't changed.

Basically. There are quite a few function evaluations needed for a single BFGS iteration -- for computing numerical gradients and for doing the line optimizations. Each one requires a trip through the Kalman filter.