Learning the model's own numbers
Until now the numbers of the model, such as , , , and , were given. In practice you must learn them from the same data. A particle filter helps in two ways. First, it estimates the likelihood of the data for any choice of the numbers: on each day, the average of the particle weights estimates how probable that day's return was, and the sum of the logs of these averages is the log-likelihood. Run the filter for several choices of on a grid, always with the same random numbers so the comparison is smooth, and keep the best. The estimate is noisy, with a spread of about on a log-likelihood near , so only gaps larger than that mean something.
The second way puts the unknown number inside the state: every particle carries its own value of . This fails if is never moved, because resampling then copies a few values and the cloud of collapses to one point. The Liu-West fix moves each particle's a little after each resampling, but in a way that keeps the cloud's mean and spread. Choose a discount near (such as ). Then and . Each value is first pulled toward the cloud mean by the factor , and then jittered by noise with variance , where is the cloud variance. A smaller means more jitter.
- Likelihood by filtering: the sum of the logs of the average weights, with the same random numbers for every choice.
- Parameters in the state: needs a small jitter after resampling, or the parameter cloud collapses.
- Compare models fairly: a log-likelihood needs a penalty for the number of parameters, such as the BIC.
Lab · what's graded
- The log-likelihood gain10 pts
- The Liu-West constant h squared15 pts
- The shrinkage factor a10 pts
- A shrunk particle15 pts
- The jitter size10 pts
- A BIC15 pts
- Parameters without jitter10 pts
- Why compare with a gap of about 315 pts