Simple, lightweight R package for fitting, visualising, and predicting time-series data using Gaussian processes.
You can install the development version of tsgp
from GitHub using the
following:
devtools::install_github("hendersontrent/tsgp")
tsgp
implements the functionality presented in a recent
tutorial
for modelling time-series data with Gaussian processes. Currently, only
the univariate setting is supported. tsgp
works on a structural time
series
perspective. That is, by decomposing a time series into its constituent
statistical parts (e.g., trend, seasonality, noise), one can model each
component independently before combining them to form the complete
picture of temporal dynamics. This is not only intuitive, but it is also
highly transparent—meaning that intelligent and justifiable modelling
decisions must be made in order to appropriately capture the data
generating process.
tsgp
is extremely lightweight in both its dependencies and
computational approach. If you are seeking a more rigorous or flexible
approach to using GPs for time-series analysis, please look into
Stan
,
GPy
,
GauPro
, Tensorflow
Probability, or
GaussianProcesses.jl
.
Currently, tsgp
supports the following covariance functions (kernels):
- Exponentiated quadratic (squared exponential)
- Rational quadratic
- Periodic
- Linear
tsgp
flexibly enables composite kernels (either through addition or
multiplication) to be constructed and is actively encouraged to
appropriately model complex temporal dynamics.
tsgp
also includes functions for computing and visualising draws from
Gaussian process priors and posteriors, visualising covariance matrices,
and plotting predictions.
tsgp
is extremely fast at what it does. Well, as fast as it can be
given the computation time involved in computing a GP posterior. tsgp
implements well-known methods for efficiency and stability, such as
using the Cholesky factorisation instead of computing a matrix inverse
directly. A full model with trend, seasonality, and noise can be
calculated on a time series of