RecursiveGPs.jl

RecursiveGPs.jl implements recursive Gaussian process (RGP) regression (Huber, 2014) for learning unknown functions online. The package depends on AbstractGPs.jl for kernel definitions and LowLevelParticleFilters.jl for the Kalman Filter backend.

An RGP approximates a Gaussian process by its values at a fixed set of basis points. These values form the state of a Kalman filter, which is updated with each observation at a constant cost. Past observations are not stored, and the posterior mean and variance of the function are available at every step.

The GP state can be augmented with the states of a physical model. An extended Kalman filter then estimates the model states and an unknown function in the model, for example a friction law or the open-circuit voltage curve of a battery, from the same measurements.

Installation

To install RecursiveGPs.jl, use the Julia package manager:

using Pkg
Pkg.add("RecursiveGPs")

Contents

SectionDescription
Getting StartedA first example with figure, step by step
Mathematical BackgroundGP regression, the recursive GP, and coupling to physical models
TutorialsWorked examples with executed code and figures
API ReferenceDocstrings of all exported functions