# spatio temporal GP kernels

I am trying to create a spatiotemporal Gaussian Process Regression model where I am interested in prediction in both space and time.

So, I assume the models follow the form:

$$Y(s; t) \sim GP (\mu(s; t), \Sigma(s; t))$$

This is for all $$(s; t)$$ in our space-time domain where $$\mu$$ is the process mean and $$\Sigma$$ is the covariance function. So, my spatial data is denoted by 2-dimensional indexes and there is a time index.

I am wondering how such a covariance function can be specified. I am just starting out and wanted to just fit a GP with 0 mean and an RBF kernel which is smooth in both space and time. Also, currently $$Y(s; t)$$ is a scalar quantity. However, I am not sure how to specify this kernel. Should I create 3 kernels one for spatial x-dimension and one for spatial y-dimension and one for time and combine them by adding or multiplication? However, this does not seem right as I am not sure if I can use this to predict in $$(x, y, t)$$.

On more thinking, I think this should be a blocked covariance kernel where each diagonal block is the kernel for $$x$$, $$y$$ and $$t$$ respectively. This way I can even introduce correlations among the dimensions. Does that sound reasonable?

• STGP (arxiv.org/pdf/1901.04030.pdf) might be useful here. I have never used it, but I want to use it. I am still trying to understand how to use it. – Dushyant Sahoo Sep 29 at 17:32

$$k({\bf x_i}, {\bf x_j}) = \sigma^2 \exp \left( -\sum_{d = 1}^D (x_{i;d} - x_{j;d})^2/l_d^2 \right)$$
In this case, the lengthscale parameter $$l_d$$ can be different along each dimension to account for different units. In your case, $$D = 3$$, and $$(x_1, x_2, x_3) \equiv (x, y, t)$$. Notice that, for the RBF as a special case, you can interpret the kernel as the multiplication of three individual RBF kernels.