Subject: CVS commit: pkgsrc/math/R-nimble
From: Makoto Fujiwara
Date: 2023-03-11 11:05:26
Message id: 20230311100526.E70E9FA90@cvs.NetBSD.org

Log Message:
(math/R-nimble)  Updated 0.12.2 to 0.13.1

(From: nimble/inst/NEWS.md)
#                            CHANGES IN VERSION 0.13.1 (December 2022)

## BUG FIXES

- Fix bug in MCMC sampler inclusion/exclusion of predictive nodes from
  target node dependencies (PR #1248).

#                            CHANGES IN VERSION 0.13.0 (November 2022)

## USER LEVEL CHANGES

- Thoroughly revamp handling of predictive nodes in MCMC sampling. If MCMC
results identical to previous versions of NIMBLE are needed in models with
posterior predictive nodes, set
`nimbleOptions(MCMCusePredictiveDependenciesInCalculations = TRUE)`
and `nimbleOptions(MCMCorderPosteriorPredictiveSamplersLast = FALSE)`.

    -- MCMC samplers, by default, will now exclude predictive dependencies
    from internal sampler calculations.  This can be reverted to the old behavior
    of including predictive dependencies in calculations using
    `nimbleOptions(MCMCusePredictiveDependenciesInCalculations = TRUE)`.

    -- At the time of `buildMCMC`, all `posterior_predictive` samplers are
    automatically reordered to operate last among all samplers. Doing so,
    posterior predictive samples are generated conditional on the other values
    in the MCMC sample.  This reordering can be disabled using
    `nimbleOptions(MCMCorderPosteriorPredictiveSamplersLast = FALSE)`
    (but doing so without also setting
    `nimbleOptions(MCMCusePredictiveDependenciesInCalculations = TRUE)` could
    result in samples that are invalid in terms of the joint posterior
    distribution (but with valid samples marginally).

    -- Removal of the `posterior_predictive_branch` sampler.  Filling the same
    role, the `posterior_predictive` sampler now updates all nodes downstream
    of its `target` node.  Assignment of the `posterior_predictive` sampler
    happens automatically during MCMC configuration, unless
    `nimbleOptions(MCMCusePosteriorPredictiveSampler = FALSE)`.

    -- Automatic determination of "predictive" model nodes, which are all
    stochastic non-data nodes that have no data nodes anywhere in their
    downstream dependencies. Tracking of predictive nodes is done
    automatically, but maybe be disabled using
    `nimbleOptions(determinePredictiveNodesInModel = FALSE)`.

    -- New arguments `includePredictive` (default value `TRUE`) and
    `predictiveOnly` (default value `FALSE`), for both the `getNodeNames`
    and the `getDependencies` methods of model objects.  These specify whether
    any predictive nodes are included in the results, and whether only
    predictive nodes are included, respectively.

    -- The MCMC configuration object will issue a warning message if there are
    stochastic non-data nodes which will not undergo MCMC sampling.  This
    warning can be disabled using
    `nimbleOptions(MCMCwarnUnsampledStochasticNodes = FALSE)`.

- Add option to WAIC system (via `controlWAIC`) to allow additional burnin (in
addition to standard MCMC burnin) before calculating online WAIC, thereby
allowing inspection of initial samples without forcing them to be used for WAIC
(PR #1244).

- For MCMC configuration `addSampler` method, change name of the
`scalarComponents` argument to `expandComponents` (PR #1215).

- Add new `default` argument for the `addSampler` method of MCMC configuration
objects.  When `default = TRUE`, default samplers (conjugate, or otherwise) will
be added to the specified nodes.  The addition of this argument provides an
entry point to the logic of default sampler determination and assignment,
without creating a new MCMC configuration object (PR #1215).

- Add new `nodes` argument for the `addSampler` method of MCMC configuration
objects.  Nodes specified in `nodes` automatically undergo expansion according
to `expandNodeNames` prior to sampler assignment, allowing for easier assignment
of samplers to multiple nodes (PR #1215).

- `rcar_normal` issues an informative error message when invoked from the R
command line (PR #1243).

- Warn users of unused constants during model building (PR #1242).

- Add `replaceSamplers` method to MCMC configuration objects to simplify
modifying how a node is sampled (PR #1222).

- Convert `NEWS` to Markdown format for proper rendering in browser
(issue #1231).

- Indicate model code that produces warnings about unknown nimbleFunctions
(issue #370).

## BUG FIXES

- Avoid error occurring when a model variable name starts with "logProb"
(PR #1240).

- Avoid error occurring when a model variable is named "i" (PR #1239).

- Prevent infinite recursion in particular cases in conjugacy checking
(PR #1228).

- Fix bug in simulating from `dcar_normal` nodes when multiple nodes passed to
simulate (issue #1238).

- Fix error message about duplicate node declarations (PR #1233).

- Fix another issue with long variable names (PR #1217).

- Fix warning related to `dataNodes` in WAIC.

## DEVELOPER LEVEL CHANGES

- Remove use of bitwise `|` and `&` operators in C++ code, per CRAN request.

- Refactor `nimbleMCMC` to pull out model creation (PR #1223).

- Fix an issue with nested `nimbleList`s on MacOS (PR #1213).

Files:
RevisionActionfile
1.6modifypkgsrc/math/R-nimble/Makefile
1.6modifypkgsrc/math/R-nimble/distinfo