Charles R. Hogg III

Smooth animations

The main idea

Gaussian Processes give us probability distributions over curves and surfaces. Unfortunately, these distributions can be hard to visualize.

One approach uses animations. Here are the key ideas (my own contributions are in bold):

  • Each frame of the animation shows a curve/surface which is drawn from the distribution we want to visualize.
  • Consecutive frames show very similar elements (so the animation is continuous).
  • Every frame has exactly the same statistical and kinematic properties (there are no special "keyframes").
  • The motion is smooth and natural (no "kicks").

For example, here is an uncertain surface. The datapoints have a gap in the middle. The entire surface is animated, but it moves more in the gap because the uncertainty is higher where datapoints are missing.

Remarkably, just a single ingredient is needed: the "Gaussian oscillator". This is a particle moving on a continuous path, whose position probability is the standard normal distribution at all times. The right-hand side of the following figure shows independent Gaussian oscillators. The left-hand side visualizes a distribution of curves. Each frame is obtained by multiplying the vector of Gaussian oscillators by the lower-Cholesky decomposition of the covariance matrix (center).

My further contribution is to recognize that Gaussian oscillators are also Gaussian processes, but in the time domain. This places all future work on Gaussian animations into a familiar and well-studied framework.

Further reading

Paper forthcoming!

Page source on GitHub