for parameter inference relies on being able to evaluate the likelihood of the data given the parameters of a model. In practice, for a large class of mechanistic models the likelihood is not tractable, either due to computational or analytical complexity. Therefore, the use of likelihood-free methods for inference, including approximate Bayesian computation (ABC) [@pritchard1999population; @beaumont2002approximate; @beaumont2010approximate; @turner2012tutorial; @sunnaaker2013approximate], indirect inference [@gourieroux1993indirect], synthetic likelihoods [@wood2010statistical; @price2017bayesian], particle Markov Chain Monte Carlo (pMCMC) [@andrieu2009pseudo; @andrieu2010particle; @golightly2011bayesian; @owen2015scalable], expectation propogation [@barthelme2014expectation], and other similar methods, has become widespread [@hartig2011statistical]. In particular, ABC has been widely adopted due to its ease of understanding and implementation.

Approximate Bayesian computation
--------------------------------

Suppose we wish to infer a posterior distribution over parameters $\theta$ of a generative model such that we can simulate from $\textbf{x} \sim f(\textbf{x} | \theta) $. In ABC, parameters $\theta$ are drawn from a prior, $\pi(\theta)$, and data, $\mathbf{x^*}$, is simulated from the generative model using those parameters, such that $\mathbf{x^*} \sim f(\mathbf{x}|\theta)$. The distance between the simulated dataset, $\mathbf{x^*}$, and the real data, $\mathbf{y}$, is calculated using a distance function $d(\mathbf{x^*},\mathbf{y})$. If this distance is less than a certain tolerance, $\epsilon$, then the parameters $\theta$ can be accepted into the approximate posterior 