BSL-package: Bayesian synthetic likelihood

Description Author(s) References

Description

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:

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.

Extensions to this package are planned.

Author(s)

Ziwen An, Leah F. South and Christopher Drovandi

References

\insertAllCited
ziwenan/BSL documentation built on April 25, 2021, 1:11 p.m.