Sunday, April 12, 2020

Kalman Filter Handicapping

Last Performance Or Median Performance

With respest to historical results, performance ratings and time ratings are routinely calculated, by various organizations, using proprietary formulae or algorithms that are unknown to the average handicapper. Given a track record of such past results, how should we evaluate a horse's latent ability:.
  • last performance, or
  • median performance.
Last performance captures current form but what if that last result was an unusually good or an unusually bad performance? In that context, we rely more heavily on median performance to better reflect latent ability!

As a guide to which is a better overall indicator (signal) of ability, we can adapt a Kalman Filter to track a dynamic model (changing ability of horse) using an error-prone, measurement process (time ratings: 67..115) to guide our intuitions. The filter predicts the next performance level (ratings: 90..116) beginning with an arbitrary starting-point (90), and proceeds through a series of predict-measure-update iterations using a Bayesian-like updating algorithm (predict=prior, measure=likelihood, update=posterior).
We are probably making unwarranted assumptions about the levels of process noise and measurement error in applying this filter to the current scenario. Plus, we are using a changing time interval between measurements that is non-standard. Nevertheless, we can see from the worked example that the last prediction (116) is a more accurate reflection of current ability than the median performance (108).
In order to experiment with the embedded worksheet, you may need to alter the parameters, as follows:
  • X0 = Initial estimated rating,
  • P = Average estimated rating error,
  • Q = Average rating change per race, and
  • R = Average calculated rating error.
Obviously, you will also have to provide the calculated ratings for all past performances of interest!