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
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 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
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
.
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.