Skip to content
/ SPIN Public

Non-parametric Bayesian Inference for Stochastic Processes

License

Notifications You must be signed in to change notification settings

UQatKIT/SPIN

Repository files navigation

Docs Python Version License Beartype Ruff

SPIN: Stochastic Process INference

SPIN is a Python package for the non-parametric Bayesian inference of the parameter functions of autonomous diffusion processes. It can be used to infer the drift function b : Ω R d and (squared) diffusion function Σ : Ω R d × d from trajectory data of an underlying process X on a domain Ω R d , indexed over t R + ,

d X t = b ( X t ) d t + Σ ( X t ) d W t , X ( t = 0 ) = X 0   a . s .

Under the hood, SPIN employs a PDE-based inference method, based on the Kolmogorov equations governing the stochastic process under consideration. For more information on the underlying theory, we refer to the accompanying publication,

Non-parametric Inference for Diffusion Processes: A Computational Approach via Bayesian Inversion for PDEs

Key Features

  • Non-parametric inference of drift and diffusion functions
  • Works with stationary and time-dependent trajectory data
  • PDE computations based on the finite element method
  • Evaluation of the maximum a-posteriori estimate and Laplace approximation
  • Generic and robust implementation, based on hIPPYlib and FEniCS

Getting Started

SPIN depends on a mixture of pip and conda dependencies, which can be efficiently managed using Pixi. To set up a virtual environment in which SPIN can be run, simply execute in the project root directory:

pixi install

The documentation provides further information regarding usage, theoretical background, technical setup and API. We also provide runnable notebooks under examples.

Acknowledgement and License

SPIN is being developed in the research group Uncertainty Quantification at KIT. Large portions of SPIN are based on the hIPPYlib software library for large-scale (Bayesian) inverse problems. hIPPYlib, in turn, uses FEniCS for finite element computations. SPIN is distributed as free software under the MIT License.