- there is now a clearer error message when trying to use a single walker since ensemble sampling is designed to work with multiple walkers (#6 by @Bisaloo, based on a report from @adamkucharski).
- the arguments
lower.inits
andupper.inits
are deprecated in favour ofinits
which leave more flexibility to the user. Please read the detailed blog post for more background about this change and how to migrate. inits
can now be adata.frame
or amatrix
d.e.mcmc()
ands.m.mcmc()
are not exported any more. Please use the wrapperMCMCEnsemble()
instead.- there is a new vignette
(
vignette("diagnostic-pkgs", package = "mcmcensemble")
) presenting two different options (coda and bayesplot) to plot and evaluate the MCMC chains produced by mcmcensemble.
- The chains now run fine even in the case where there is only one iteration
(i.e.,
max.iter %/% n.walkers == 1
) - The error message when the coda package is absent and
coda = TRUE
now correctly prompt the user to usecoda = FALSE
if they do not wish to install coda.
- it is now possible to use a named vector as first argument of the function
passed in
f
. This is useful if you do something like:
p.log.named <- function(x) {
B <- 0.03
return(-x["a"]^2/200 - 1/2*(x["b"]+B*x["a"]^2-100*B)^2)
}
- mcmcensemble now explicitly depends on R >= 3.5.0. This was already implicitly the case since 2.1 because of the dependency on the progressr package.
- the ensemble sampling algorithm used by
MCMCEnsemble()
is now recorded in an additional attribute (accessible viaattr(res, "ensemble.sampler")
).
- there is now an additional argument check ensuring that
lower.inits
andupper.inits
have the same names
- the ensemble sampling can now be parallelised with the future framework. Check the README for more information
- very large log.p differences between chains do not cause them to be stuck any more
- addition of a new vignette listing frequently asked questions (with their answer)
- new test to make sure the chains converge as expected
- performance improvements
- The argument names and order in
d.e.mcmc()
ands.m.mcmc()
now match those ofMCMCEnsemble()
- coda package is now only in
Suggests
, instead of being a hard dependency
- this package is now named mcmcensemble
- roxygen2 documentation now uses markdown syntax
- this package now has unit and regression tests
- various parts of the code have been optimized for speed