pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/math/R-nimble



Module Name:    pkgsrc
Committed By:   mef
Date:           Wed Nov  6 13:43:49 UTC 2024

Modified Files:
        pkgsrc/math/R-nimble: Makefile distinfo

Log Message:
(math/R-nimble)  Updated 1.0.1 to 1.2 1

#                            CHANGES IN VERSION 1.2.1 (July 2024)

## USER LEVEL CHANGES

- Provide a multinomial MCMC sampler for random variables following
  a multinomial distribution. This replaces a sampler in earlier versions of
  NIMBLE that had a bug and was removed as of version 1.1.0 (PR #1478).

- More robustly handle dataframe inputs to `inits` (PR #1481).

- Enhance compile-time and run-time error-trapping of size mismatches for
  assignment operator (#1459).

## BUG FIXES

- Fix minor issue affecting `buildAGHQ` when `updateSettings` is used
  before compilation with inputs that change `constant_init_par` (PR #1480).

- Fix output of `as.list.CmodelValues` for 1-row case (PR #1482).

- Improve documentation for AD related to preventing derivative tracking.

## DEVELOPER LEVEL CHANGES

- Turn off spurious `getParam` warning affecting use of user-defined
  distributions with more than two dimensions (PR #1481).

- Rework checking for `configureRJ` (PR #1475).

- Remove template arguments from `NimArr` constructors/destructors for C++20,
  fixing based on CRAN request (PR #1479).

- Only import `igraph` functions actually used (PR #1482).

#                            CHANGES IN VERSION 1.2.0 (June 2024)

## USER LEVEL CHANGES

- Add a Pólya-gamma sampler, `sampler_polyagamma`, for conjugate sampling of
  linear predictor parameters in logistic regression model specifications,
  including handling zero inflation and stochastic design matrices(PR #1439).

- Add a new sampler, `sampler_noncentered`, which samples the mean or standard
  deviation of a set of random effect values in a transformed space such that
  the random effects are deterministically shifted or scaled given new values of
  their hyperparameters. For random effects written in a centered
  parameterization, sampling is performed as if they had been written in a
  noncentered parameterization, thereby enabling a variant on the Yu and Meng
  (2011) interweaving sampling strategy of sampling in both
  parameterizations (PR #1437) .

- Completely revamp MCEM algorithm, fixing a bug so that any parts of the model
  not connected to the latent states are included in MLE calculations, giving
  greater control and adding minor extensions to the ascent-based MCEM approach,
  using automatic derivatives in the maximization when possible, and converting
  `buildMCEM` to be a nimbleFunction rather than an R function (PR #1428).

- Provide adaptive Gauss-Hermite quadrature (AGHQ) for integrating over latent
  effects, as an extension of NIMBLE's Laplace approximation functionality.
  Also adds user-friendly R functions, `runLaplace` and `runAGHQ`, for using
  Laplace and AGHQ approximation for maximum likelihood estimation (PR #1455).

- Provide a more flexible optimization system via `nimOptim`, with
  support for `nlminb` built in as well as the capability for users to provide
  potentially arbitrary optimization functions in R (PR #1455).

- Allow the use of nimbleFunctions with setup code in models either for
  user-defined functions via `<-` or for user-defined distributions via `~`.
  This supports holding large objects outside of model nodes for use in models
  (PRs #1348, #1453).

- Error out if the `RW_block` sampler is assigned to any discrete nodes
  (PR #1421).

- Improve the speed of MCMC building in certain cases with many simple samplers
  by using `inherits` rather than `is` (PR #1413).

- Add an argument to `buildMCMC` controlling whether to initialize values in
  the model (PR #1429).

- Improve the efficiency of setting up derivative information for models
  with multivariate nodes with many elements (PR #1431).

- Provide ability to control number of digits printed in C++ output (PR #1145).

- Allow use of categorical MCMC sampler with user-specified `dcat`-like
  distributions (PR #1447).

- Update explanation in manual regarding avoiding tracking of derivatives for
  some variables in the AD system.

- Warn of use of backward indexing in nimble models.

- Improve documentation of LKJ distribution.

## BUG FIXES

- Fix some internals related to memory handling in compiled code to avoid
  intermittent errors and crashes occurring in testing (PR #1430).

- Fix a harmless typo causing partial name matching in R (PR #1422).

- Fix an insufficient check for conjugacy in stickbreaking specifications
  (PR #1444).

- Remove spurious warning when `returnType` is `character()` in a
  nimbleFunction (issue #1457).

- Fix incorrect error message when `getParam` used with non-existent node
  (issue #1338).

## DEVELOPER LEVEL CHANGES

- Ensure parameter transformation system handles cases of zero nodes
  (PR #1427).

- Update deprecated `igraph` calls (simply renaming them) (PR #1420).

- Fix compilation failures occurring on Red Hat Linux (PR #1417).

- Remove deprecated `testthat::context` calls (PR #1441).

- Reenable functionality for user-provided Eigen library and related
  updates to autoconf configuration (PR #1443).

- Enhance functionality to support model macros (PR #1448).

- Deprecate virtual nodeFunction definitions (PRs #1452, #1454).

- Modify a few test tolerances and expectations of identical values in light
  of apparent MacOS changes.

- Save the user environment in the `modelDef` object for use in `nimbleHMC`.

- Remove deprecated `is.na.vec` and `is.nan.vec`.

- Remove deprecated dummy functions for `compareMCMCs` functions (issue #1436).

#                            CHANGES IN VERSION 1.1.0 (January 2024)

## USER LEVEL CHANGES

- Enhance use of AD in models:

    -- Allow use of stochastic indexing in models with AD (PR #1389).

    -- Allow use of AD with CAR models, which enables use of HMC on nodes specified
    to have `dcar_normal` or `dcar_proper` distributions (PR #1390).

    -- Allow distributions and functions (whether user-defined or built-in) that
    lack AD support to be used and compiled in AD-enabled models, including
    truncated distributions, `dcat`, `dinterval`, and `dconstraint` (PR #1389).

- Add `nimIntegrate`, providing functionality analogous to R's `integrate`,
  to the NIMBLE language, providing one-dimensional numerical integration via
  adaptive quadrature (PR #1357).

- Add `prior_samples` MCMC sampler, which uses an existing set of
  numerical samples to define the prior distribution of model node(s).

- `configureMCMC` will no longer assign samplers to data nodes, even if
  the `nodes` argument includes data nodes (PR #1407).

- Add new argument `allowData` to the `addSampler` method of MCMC
  configuration objects, with default value `FALSE`.  When `TRUE`,
  samplers can be assigned to operate on data nodes (PR #1407).

- Handle predictive node dependencies of `dCRP` cluster indicators
  by erroring out, but letting users know that setting
  `MCMCusePredictiveDependenciesInCalculations` to `TRUE` will make MCMC
  possible (PR #1402).

- Rename `expandTarget` and `returnScalarComponents` arguments of `addSampler`
  to be `targetByNode` and `multivariateNodesAsScalars`, respectively, to
  improve clarity. Also clarify help info for `addSampler` (PR #1375).

- Stop instead of warning when encountering run-time size errors, to avoid
  the possibility of incorrect results (PR #1401).

- Add a warning to MCMC sampling of `CAR_normal` nodes when `zero_mean=1`
  and the on-the-fly centering causes an invalid model state (PR #1400).

- Cleanly error out when a variable name in a model would conflict with
  C++ keywords (PR #1382).

- Warn if indexing in model code uses variables from the user environment
  rather than from `constants` (PR #1380).

- Error out rather than warning when there is a missing variable in a
  nimbleFunction (PR #1379).

- Allow users to provide list of lists for `inits` in `nimbleModel` (PR #1376).

- Add new control list option, `maxDimCovHistory` to `RW_block` sampler to
  specify maximum dimension for saving proposal covariance history.

- Change argument of `besselK` in manual table to be `x` not `k`.

- Do not allow elements of a `nimbleList` to be named `name`, `predefined`,
  or `where` (PR #1384).

- Better notify users when automatically generated `r` function for a user-
  defined distribution has been removed (PR #1374).

- Error out if there is a default first (`x`) argument in a user-defined
  distribution (PR #1371).

- Improve error trapping related to arguments of `getParam` (PR #1370).

- Add information in `nimbleSMC` and `nimbleHMC` samplers to roxygen and manual.

- Improve documentation of omitting variables from AD derivative tracking.

- Update installation guidance in manual.

## DEVELOPER LEVEL CHANGES

- Update to Eigen 3.4.0 but comment out various pragmas in
  `DisableStupidWarnings.h` preventing CRAN checks from passing (PR #1406).

- Improve efficiency of `mcmc_determineCalcAndCopyNodes` by avoiding repeated
  calls (PR #1333).

- Inline various C++ functions to improve efficiency (PR #1349).

- Add some functionality to support model macros (PR #1361).

- Make change to `nimble-package` documentation to use `"_PACKAGE"`
  instead of `@docType` per CRAN request (issue #1359).

- Clean up C++ warnings related to unused variables and typedefs (PR #1408).

- Use `--pre-clean` when invoking `R CMD SHLIB` to do C++ compilation to avoid
  sporadic test failures in WAIC tests, seemingly caused by strange timestamp-
  related behavior of `make` (PR #1393).

- Fix case of `||` used instead of `|` causing compilation error on M2 Mac
  (PR #1392).

- Fix some C++ warnings flagged by CRAN (PR #1386).

- Systematically use `getNimbleOption` in NIMBLE code base.

- Update versions of GitHub Actions canned actions.

## BUG FIXES

- Fix `is.na` and `is.nan` in the NIMBLE DSL to behave in a vectorized fashion
  and ensure they mimic behavior in R apart from logical or integer inputs to
  `is.na` (PR #1394).

- Remove the `RW_multinomial` MCMC sampler, which was found to generate incorrect
  posterior results.  A corrected version of this sampler may be
  re-introduced into the package, depending on user interest.

- Fix a bug in conjugacy checking in a case of subsets of multivariate nodes
  (PR #1331).

- Fix a recycling rule bug involving `pow_int` with a matrix input (PR #1396).

- Fix name-mangling problem that prevented use of periods in names of packages
  using nimble (PR #1383).

- Fix handling of `NULL` in `getNimbleOption`.

- Avoid using wrapped sampler on cluster node parameters when using `dCRP`
  and assigning a joint sampler (e.g., HMC) to the parameters of the cluster
  nodes (PR #1404).

- Avoid spurious warning about missing nimbleFunction when using `nimOptim`
  (PR #1378).

- Cleanly error out when an undefined function is used in the `return` statement
  of a nimbleFunction (in particular, nested nimbleFunctions) (PR #1381).

- Fix handling of deregistered distribution by removing auto-generated 'r'
  function (PR #1377).

- Correct a corner case of reading from a BUGS file (PR #1369).

- Fix incorrect eigenization code related to `besselk` that did not actually
  seem to affect behavior (PR #1385).


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 pkgsrc/math/R-nimble/Makefile \
    pkgsrc/math/R-nimble/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/math/R-nimble/Makefile
diff -u pkgsrc/math/R-nimble/Makefile:1.8 pkgsrc/math/R-nimble/Makefile:1.9
--- pkgsrc/math/R-nimble/Makefile:1.8   Sat Jun 17 12:41:53 2023
+++ pkgsrc/math/R-nimble/Makefile       Wed Nov  6 13:43:48 2024
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.8 2023/06/17 12:41:53 mef Exp $
+# $NetBSD: Makefile,v 1.9 2024/11/06 13:43:48 mef Exp $
 
 R_PKGNAME=     nimble
-R_PKGVER=      1.0.1
+R_PKGVER=      1.2.1
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 COMMENT=       MCMC, Particle Filtering, and Programmable Hierarchical Modeling
@@ -13,6 +13,8 @@ DEPENDS+=     R-igraph>=1.2.4.1:../../math/R
 DEPENDS+=      R-numDeriv-[0-9]*:../../math/R-numDeriv
 DEPENDS+=      R-pracma-[0-9]*:../../math/R-pracma
 
+# Package suggested but not available: 'mcmcse'
+
 TEST_DEPENDS+= R-testthat-[0-9]*:../../devel/R-testthat
 
 USE_LANGUAGES= c++ fortran
Index: pkgsrc/math/R-nimble/distinfo
diff -u pkgsrc/math/R-nimble/distinfo:1.8 pkgsrc/math/R-nimble/distinfo:1.9
--- pkgsrc/math/R-nimble/distinfo:1.8   Sat Jun 17 12:41:53 2023
+++ pkgsrc/math/R-nimble/distinfo       Wed Nov  6 13:43:48 2024
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.8 2023/06/17 12:41:53 mef Exp $
+$NetBSD: distinfo,v 1.9 2024/11/06 13:43:48 mef Exp $
 
-BLAKE2s (R/nimble_1.0.1.tar.gz) = 42ed6f4b62c8da386b9965972d87d73802877e3d5b492c53dfd1beec0de27be9
-SHA512 (R/nimble_1.0.1.tar.gz) = 44b4acb57e1d5c330b5a5b56f6c0cca4dd32845896ac9e0ec5ccdcf951fda4429532a5d7d3fd7a9cf305175d47b86cf51b0c5b9ab03ade4421230236375e8758
-Size (R/nimble_1.0.1.tar.gz) = 3061969 bytes
+BLAKE2s (R/nimble_1.2.1.tar.gz) = ebfadae5e6b899e128ffee5099090114fc1f71218692133152015a073886c52b
+SHA512 (R/nimble_1.2.1.tar.gz) = 7443b397ea8ed3982dbdf105ff9539210c84daf833ac05cdbeebab26d71f3978f0e86178968809b2de0e84852041d9eb94c589429835221420b0b444bd569a31
+Size (R/nimble_1.2.1.tar.gz) = 3392131 bytes



Home | Main Index | Thread Index | Old Index