Description Author(s) References
Bayesian synthetic likelihood (BSL, \insertCitePrice2018;textualBSL) is an alternative to standard, non-parametric approximate Bayesian computation (ABC). BSL assumes a multivariate normal distribution for the summary statistic likelihood and it is suitable when the distribution of the model summary statistics is sufficiently regular.
In this package, a Metropolis Hastings Markov chain Monte Carlo (MH-MCMC) implementation of BSL is available. We also include implementations of four methods (BSL, uBSL, semiBSL and BSLmisspec) and two shrinkage estimators (graphical lasso and Warton's estimator).
Methods: (1) BSL \insertCitePrice2018BSL, which is the standard form of Bayesian synthetic likelihood, assumes the summary statistic is roughly multivariate normal; (2) uBSL \insertCitePrice2018BSL, which uses an unbiased estimator to the normal density; (3) semiBSL \insertCiteAn2018BSL, which relaxes the normality assumption to an extent and maintains the computational advantages of BSL without any tuning; and (4) BSLmisspec \insertCiteFrazier2019BSL, which estimates the Gaussian synthetic likelihood whilst acknowledging that there may be incompatibility between the model and the observed summary statistic.
Shrinkage estimators are designed particularly to reduce the number of simulations if method is BSL or semiBSL: (1) graphical lasso \insertCiteFriedman2008BSL finds a sparse precision matrix with an L1-regularised log-likelihood. \insertCiteAn2019;textualBSL use graphical lasso within BSL to bring down the number of simulations significantly when the dimension of the summary statistic is high; and (2) Warton's estimator \insertCiteWarton2008BSL penalises the correlation matrix and is straightforward to compute. When using the Warton's shrinkage estimator, it is also possible to utilise the Whitening transformation \insertCiteKessy2018BSL to help decorrelate the summary statsitics, thus encouraging sparsity of the synthetic likelihood covariance matrix.
Parallel computing is supported through the foreach
package and users
can specify their own parallel backend by using packages like
doParallel
or doMC
. The n
model simulations required to
estimate the synthetic likelihood at each iteration of MCMC will be
distributed across multiple cores. Alternatively a vectorised simulation
function that simultaneously generates n
model simulations is also
supported.
The main functionality is available through:
bsl
: The general function to perform BSL,
uBSL, or semiBSL (with or without parallel computing).
selectPenalty
: A function to select the penalty when using
shrinkage estimation within BSL or semiBSL.
Several examples have also been included. These examples can be used to reproduce the results of An et al. (2019), and can help practitioners learn how to use the package.
ma2
: The MA(2) example from
\insertCiteAn2019;textualBSL.
mgnk
: The multivariate G&K example from
\insertCiteAn2019;textualBSL.
cell
: The cell biology example from
\insertCitePrice2018;textualBSL and \insertCiteAn2019;textualBSL.
toad
: The toad example from
\insertCiteMarchand2017;textualBSL, and also considered in
\insertCiteAn2018;textualBSL.
Extensions to this package are planned.
Ziwen An, Leah F. South and Christopher Drovandi
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.