Probabilistic Inference on Noisy Time Series (PINTS)

Time series models are ubiquitous in science, arising in any situation where researchers seek to understand how a system's behaviour changes over time. A key problem in time series modelling is \emph{inference}; determining properties of the underlying system based on observed time series. For both statistical and mechanistic models, inference involves finding parameter values, or distributions of parameters values, for which model outputs are consistent with observations. A wide variety of inference techniques are available and different approaches are suitable for different classes of problems. This variety presents a challenge for researchers, who may not have the resources or expertise to implement and experiment with these methods. PINTS (Probabilistic Inference on Noisy Time Series - this https URL is an open-source (BSD 3-clause license) Python library that provides researchers with a broad suite of non-linear optimisation and sampling methods. It allows users to wrap a model and data in a transparent and straightforward interface, which can then be used with custom or pre-defined error measures for optimisation, or with likelihood functions for Bayesian inference or maximum-likelihood estimation. Derivative-free optimisation algorithms - which work without harder-to-obtain gradient information - are included, as well as inference algorithms such as adaptive Markov chain Monte Carlo and nested sampling which estimate distributions over parameter values. By making these statistical techniques available in an open and easy-to-use framework, PINTS brings the power of modern statistical techniques to a wider scientific audience.

[1]  Petros Koumoutsakos,et al.  Reducing the Time Complexity of the Derandomized Evolution Strategy with Covariance Matrix Adaptation (CMA-ES) , 2003, Evolutionary Computation.

[2]  Daniel Foreman-Mackey,et al.  emcee: The MCMC Hammer , 2012, 1202.3665.

[3]  David Gavaghan,et al.  Separating the Effects of Experimental Noise from Inherent System Variability in Voltammetry: The [Fe(CN)6]3-/4- Process. , 2018, Analytical chemistry.

[4]  Jiqiang Guo,et al.  Stan: A Probabilistic Programming Language. , 2017, Journal of statistical software.

[5]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[6]  Thomas V. Wiecki,et al.  Probabilistic Programming in Python using PyMC , 2015, 1507.08050.

[7]  M. Girolami,et al.  Riemann manifold Langevin and Hamiltonian Monte Carlo methods , 2011, Journal of the Royal Statistical Society: Series B (Statistical Methodology).

[8]  Erika Cule,et al.  ABC-SysBio—approximate Bayesian computation in Python with GPU support , 2010, Bioinform..

[9]  David Gavaghan,et al.  Integration of Heuristic and Automated Parametrization of Three Unresolved Two-Electron Surface-Confined Polyoxometalate Reduction Processes by AC Voltammetry , 2018, ChemElectroChem.

[10]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[11]  Pras Pathmanathan,et al.  Uncertainty and variability in models of the cardiac action potential: Can we build trustworthy models? , 2016, Journal of molecular and cellular cardiology.

[12]  Ajay Jasra,et al.  On population-based simulation for static inference , 2007, Stat. Comput..

[13]  D. Parkinson,et al.  A Nested Sampling Algorithm for Cosmological Model Selection , 2005, astro-ph/0508461.

[14]  Pier Luca Lanzi,et al.  Proceedings of the 13th annual conference on Genetic and evolutionary computation , 2011, GECCO 2011.

[15]  Tom Heskes,et al.  BCM: toolkit for Bayesian analysis of Computational Models using samplers , 2016, BMC Systems Biology.

[16]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[17]  J. Skilling Nested sampling for general Bayesian computation , 2006 .

[18]  Mark A. Girolami,et al.  BioBayes: A software package for Bayesian inference in systems biology , 2008, Bioinform..

[19]  Cajo J. F. ter Braak,et al.  A Markov Chain Monte Carlo version of the genetic algorithm Differential Evolution: easy Bayesian computing for real parameter spaces , 2006, Stat. Comput..

[20]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.

[21]  D. Higdon,et al.  Accelerating Markov Chain Monte Carlo Simulation by Differential Evolution with Self-Adaptive Randomized Subspace Sampling , 2009 .

[22]  Tom Schaul,et al.  High dimensions and heavy tails for natural evolution strategies , 2011, GECCO '11.

[23]  Tom Schaul,et al.  Exponential natural evolution strategies , 2010, GECCO '10.

[24]  Michael S. Eldred,et al.  DAKOTA , A Multilevel Parallel Object-Oriented Framework for Design Optimization , Parameter Estimation , Uncertainty Quantification , and Sensitivity Analysis Version 4 . 0 User ’ s Manual , 2006 .

[25]  Geoffrey I. Webb,et al.  Encyclopedia of Machine Learning , 2011, Encyclopedia of Machine Learning.

[26]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[27]  Rob Johnson,et al.  SYSBIONS: nested sampling for systems biology , 2015, Bioinform..

[28]  Michael S. Eldred,et al.  DAKOTA : a multilevel parallel object-oriented framework for design optimization, parameter estimation, uncertainty quantification, and sensitivity analysis. Version 5.0, user's reference manual. , 2010 .