CUQIpy: I. Computational uncertainty quantification for inverse problems in Python
arXiv:2305.16949 · doi:10.1088/1361-6420/ad22e7
Abstract
This paper introduces CUQIpy, a versatile open-source Python package for computational uncertainty quantification (UQ) in inverse problems, presented as Part I of a two-part series. CUQIpy employs a Bayesian framework, integrating prior knowledge with observed data to produce posterior probability distributions that characterize the uncertainty in computed solutions to inverse problems. The package offers a high-level modeling framework with concise syntax, allowing users to easily specify their inverse problems, prior information, and statistical assumptions. CUQIpy supports a range of efficient sampling strategies and is designed to handle large-scale problems. Notably, the automatic sampler selection feature analyzes the problem structure and chooses a suitable sampler without user intervention, streamlining the process. With a selection of probability distributions, test problems, computational methods, and visualization tools, CUQIpy serves as a powerful, flexible, and adaptable tool for UQ in a wide selection of inverse problems. Part II of the series focuses on the use of CUQIpy for UQ in inverse problems with partial differential equations (PDEs).
arXiv comment37 pages, 11 figures
References in corpus (10)
- Array Programming with NumPy
- Variational Inference: A Review for Statisticians
- Rank-normalization, folding, and localization: An improved for assessing convergence of MCMC
- Pyro: Deep Universal Probabilistic Programming
- Edward: A library for probabilistic modeling, inference, and criticism
- A Survey of Monte Carlo Methods for Parameter Estimation
- Core Imaging Library -- Part I: a versatile Python framework for tomographic imaging
- Core Imaging Library -- Part II: Multichannel reconstruction for dynamic and spectral tomography
- Joint Distributions for TensorFlow Probability
- CUQIpy: II. Computational uncertainty quantification for PDE-based inverse problems in Python