Spatiotemporal Gaussian Process Kalman Filtering

Theory

STGPKF is a modelling technique to estimate the state of an environment.

In particular, the goal is to estimate a spatiotemporal field

\[f : \mathcal{R} \times \mathcal{D} \to \mathcal{R}\]

i.e., $f(t, p)$ is the value of the field at time $t$ and position $p \in \mathcal{D} \subset \mathcal{R}^d$.

The assumption is that the field is a realization of a Gaussian Process:

\[f \sim \operatorname{GP}(m, k)\]

with mean function $m(t, p) = 0$ and kernel function

\[k(t, t', p, p') = k_t(t, t') k_s(p, p')\]

Notice, we explicitly assume the kernel is separable in space and time.

SpatiotemporalGPs.STGPKF.STGPKFProblemMethod
STGPKFProblem(pts, ks, kt, ΔT)

Defines a spatiotemporal Gaussian Process Kalman Filter problem. Parameters are:

  • pts: grid points, a vector of all points. Ideally, eltype(pts) should be StaticVector for efficiency
  • ks: spatial kernel, must be of type AbstractKernel
  • kt: temporal kernel, must be of type AbstractKernel (but only AbstractMaternKernel is implemented)
  • ΔT: sampling period
source
SpatiotemporalGPs.STGPKF.MaternMethod
Matern(order, σ, l)

creates a Matern kernel with order order, variance σ, and lengthscale l. Order must be (1/2, 3/2, or 5/2). Returns a Matern12, Matern32, or Matern52 kernel.

source
SpatiotemporalGPs.STGPKF.kernel_matrixMethod
kernel_matrix(kernel, X, Y)

Compute the kernel matrix between two sets of points X and Y using the kernel function kernel. X must be a vector of points Y must be a vector of points

source
SpatiotemporalGPs.STGPKF.stgpkf_correctMethod
stgpkf_correct(prob, state, pt, y, σ_m)

corrects the state of the Kalman Filter given a single point measurement at $pt$ with value $y$ and measurement noise standard deviation $σ_m$.

source
SpatiotemporalGPs.STGPKF.stgpkf_correctMethod
stgpkf_correct(prob, state, pts, ys, Σm)

corrects the state of the Kalman Filter given multiple point measurements at $pts$ with values $ys$ and measurement noise covariance matrix $Σm$.

source