NIMBLE version 1.3.0 released

66 views
Skip to first unread message

Chris Paciorek

unread,
Dec 21, 2024, 3:41:30 PM12/21/24
to nimble-users, nimble-...@googlegroups.com
We're pleased to announce the release of version 1.3.0.

Version 1.3.0 provides some new and improved functionality, plus some bug fixes and improved error trapping.

The new and improved functionality includes:
  • A new multivariate MCMC sampler, the Barker proposal sampler (`sampler_barker`). We encourage users to try this sampler in place of the block Metropolis `RW_block` sampler and let us know how well it works. The Barker sampler uses gradient information and may improve adaptation behavior, including better mixing when parameters are on different scales or the initial proposal scale is too large.
  • An improved Laplace/AGHQ implementation that includes use of the `nlminb` optimizer for both inner and outer optimization (for better optimization performance), improved messaging and output naming, returning the log-likelihood and degrees of freedom for model selection calculations, and unified control of optimization method and other controls at either the build stage or through the `updateSettings` method.
  • The addition of the BOBYQA optimization method through `nimOptim`, registered via `nimOptimMethod`.
In addition to the new and improved functionality above, other bug fixes, improved error trapping, and enhancements include:
  • Preventing the use of nimbleFunction method names and nimbleFunction names that conflict with names in the nimble language (DSL).
  • More carefully checking for and warning of cases of NaN and non-finite log probability values in various samplers that in some cases may indicate invalid MCMC sampling.
  • More carefully handling of NaN and non-finite log probability values in the CRP sampler.
  • Error trapping cases of dynamic indices producing a non-scalar result in AD-enabled models and provide a suggested work-around.
  • Error trapping use of a non-existent `nimbleList`.
  • Preventing use of a single seed when running multiple chains via `runMCMC`.
  • Improving messaging related to lack of derivative support for functions.
  • Adding information about model macros to the manual.
  • Fixing bug in caching values in the CRP sampler when maximum number of clusters is exceeded, which would have caused incorrect sampling (albeit with the user having been warned that they should increase the maximum number of clusters).
  • Fixing an issue preventing use of `nimbleList` elements in `nimCat`.
  • Preventing an adaptation interval of one for various block samplers for which an interval of one leads to an error.
  • Allowing `runLaplace` to use an uncompiled Laplace object.
Please see the NEWS file in the installed package for more details.

- Chris Paciorek for the NIMBLE Development Team

frederic....@gmail.com

unread,
Jan 31, 2025, 8:40:52 AM1/31/25
to nimble-users
Dear Chris,
thank you very much to you and the Nimble Team for the new version. In line with what you wrote, I tried the barker sampler instead of RW_block ion difficult cases - ones that did not converge well. I did it within the runMCMCbtadjust package. The results of my first attempts on three cases:
- convergence issues were on the whole solved. It seems that on one of the cases there remained a substantial autocorrelation in the MCMC but it seemed better than before - with RW_block
- under Windows, all went fine. On Linux (Platform: x86_64-pc-linux-gnu (64-bit) - Running under: openSUSE Leap 15.2), the run was OK but then just at the end I had the following error that precluded from getting the MCMC result: it was related to a problem with clearCompiled that I have already reported on this list in the past. So I guess all I need is to allow runMCMCbtadjust not to use clearCompiled - adding an argument for that. This problem did not appear with other samplers.
Sincerely,
Frédéric

Chris Paciorek

unread,
Jan 31, 2025, 10:53:44 AM1/31/25
to frederic....@gmail.com, nimble-users
Thanks for this report Frédéric, much appreciated. And I'm glad that the Barker sampler seemed like it helped.

--
You received this message because you are subscribed to the Google Groups "nimble-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nimble-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/nimble-users/9b0c6a1d-fa58-43ae-9022-4c17f12ee4c6n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages