module

states.kalman.ensemble

module unitrack.states.kalman.ensemble

Ensemble Kalman filter (deterministic ETKF) for high-dimensional states.

A Kalman filter on a D-dimensional embedding needs a D-by-D covariance, which is expensive and ill-conditioned when D is large (e.g. a 256-d DETR query). The Ensemble Kalman Filter sidesteps this: it never forms the covariance explicitly, representing the belief by an ensemble of ``E`` sample states whose spread *implies* the covariance. Cost scales with the ensemble size, not ``D``-squared, which is why EnKF is the method of choice for very high-dimensional filtering (its original home is numerical weather prediction with millions of dimensions). The update here is the deterministic **Ensemble Transform Kalman Filter** (ETKF; Bishop 2001, Hunt 2007) with ``H = I`` and ``R = r I`` and no localisation: the analysis ensemble is a closed-form linear transform of the forecast ensemble computed in the ``E``-dimensional ensemble space, so no random perturbed observations are needed and the step is reproducible. The predict step is multiplicative covariance inflation, the standard EnKF treatment of process noise for a random-walk state. Only the one-time ensemble spawn is randomised, from a fixed seed.

Source: unitrack/states/kalman/ensemble.py:1