5d3f7b1190e18ee9.tex
1: \begin{abstract}
2:   Many problems in science and engineering require uncertainty quantification that accounts for observed data.
3:   For example, in computational neuroscience, Neural Population Models (NPMs) are mechanistic models that
4:   describe brain physiology in a range of different states.  Within computational neuroscience there is growing
5:   interest in the inverse problem of inferring NPM parameters from recordings such as the EEG
6:   (Electroencephalogram).  Uncertainty quantification is essential in this application area in order to infer
7:   the mechanistic effect of interventions such as anaesthesia.
8: 
9:   This paper presents \cpp{} software for Bayesian uncertainty quantification in the parameters of NPMs from
10:   approximately stationary data using Markov Chain Monte Carlo (MCMC).  Modern MCMC methods require first order
11:   (and in some cases higher order) derivatives of the posterior density.  The software presented offers two
12:   distinct methods of evaluating derivatives: finite differences and exact derivatives obtained through
13:   Algorithmic Differentiation (AD).  For AD, two different implementations are used: the open source Stan Math
14:   Library and the commercially licenced \dcocpp{} tool distributed by NAG (Numerical Algorithms Group).
15: 
16:   The use of derivative information in MCMC sampling is demonstrated through a simple example, the
17:   noise-driven harmonic oscillator.  And different methods for computing derivatives are compared.  The software
18:   is written in a modular object-oriented way such that it can be extended to derivative based MCMC for other
19:   scientific domains.
20: % \keywords{Uncertainty Quantification  \and Algorithmic Differentiation \and Computational Neuroscience}
21: \end{abstract}