recalibrationABC {abctools}  R Documentation 
ABC inference with a recalibration adjustment
Description
This function postprocesses ABC output with the aim of calibrating its credible intervals to have the correct probabilities. The approach can be thought of as extending coverage tests to correct deviations from the desired posterior. See the reference for details.
Usage
recalibrationABC(target, param, sumstat, eps, tol, method="rejection",
multicore=FALSE, cores=NULL, abc.p.options=list(method="loclinear"), ...)
Arguments
target 
A vector of the observed summary statistics. 
param 
A data frame of the simulated parameter values. 
sumstat 
A data frame of the simulated summary statistics. 
eps 
The ABC acceptance threshold i.e. max acceptable distance. This or

tol 
The ABC acceptance tolerance i.e. proportion of simulations to
accept. This or 
method 
A character string indicating the type of ABC algorithm to be applied. Possible values are "rejection", "loclinear", "neuralnet" and "ridge". 
multicore 
Whether to use the 
cores 
Number of cores to use when 
abc.p.options 
A list of further arguments to be supplied to the 
... 
Further arguments to be supplied to the 
Value
A list with the following components is returned.
sample.abc
is the ordinary ABC output sample (with any
regression correction requested). The rows represent accepted samples
and the columns represent the parameters.
sample.recal
is the ABC output sample following
recalibration. The rows are Monte Carlo draws from an approximation to
the posterior and the columns represent the parameters.
sample.regrecal
is the ABC output sample following coverage
correction including regression correction of pvalues. It has a
similar form to sample.recal
.
weights
are weights for the ABC output. These apply to all
types of ABC.
Each row of pvalues
corresponds to a particular accepted
dataset. It gives the pvalues of the true parameters within the ABC
sample generated from this data.
Each row of pvalues.reg
corresponds to pvalues
after
a regressionadjustment has been performed on them.
svalues
is a subset of the rows of sumstat
corresponding
to accepted datasets. These can be used in conjunction with
pvalues
to perform a recalibration correction manually.
Author(s)
Dennis Prangle and Guilherme Rodrigues
References
G. S. Rodrigues, D. Prangle and S. A. Sisson (2017) Recalibration: A postprocessing method for approximate Bayesian computation. In submission
Examples
## Not run:
data(musigma2)
P < data.frame(par.sim)
S < data.frame(stat.sim)
out < recalibrationABC(target=stat.obs, param=P, sumstat=S, tol=0.3)
plot(rbind(out$sample.plain[1:500,], out$sample.recal[1:500,]),
col=c(rep("red",500), rep("blue", 500)))
##Red shows plain ABC sample, blue shows recalibrated output
## End(Not run)