NEWS
boostmtree 2.0.0 (2026-04-10)
This is a major maintenance and interface-cleanup release prepared for CRAN resubmission.
The release focuses on code correctness, documentation, naming consistency, and more predictable behavior for core fitting, prediction, and visualization workflows.
Major changes
- Refactored the package around a modular source layout while preserving the core
ntree = 1 tree-based boosting path.
- Standardized the public interface to lower-case, dotted naming conventions.
- Families are now specified as
"continuous", "binary", "nominal", and "ordinal".
- Returned object components now use the same naming convention.
- Added
boostmtree.control() as the primary user-facing control interface for resampling, reproducibility, and other fitting options.
- Clarified first-pass scope: the current refactor supports
control$ntree = 1.
Fitting and model-object updates
- Reworked preprocessing so that subject-level covariates, identifiers, times, and responses remain aligned throughout fitting.
- Improved handling of non-continuous responses, including binary, nominal, and ordinal encoding.
- Improved support for univariate fits when
tm and id are omitted.
- Restored the original tree-fitting logic more faithfully in key places while keeping the refactored package structure.
- Simplified and regularized the structure of returned objects.
- Internal code keeps the boosted-subproblem (
q) representation.
- Public objects flatten single-response results consistently for continuous and binary fits.
- Removed legacy object components and hidden option paths that were no longer needed in the first-pass redesign.
Resampling, OOB, and cross-validation
- Cleaned up the interaction between bootstrap sampling, OOB availability, cross-validation, and variable importance.
seed now controls reproducibility only.
- Removed the silent legacy rewrite of
bootstrap = "none" into a full in-bag user bootstrap.
- When
cv.flag = TRUE, the fit now enforces an OOB-producing resampling rule and records OOB availability in the fitted object.
- Added explicit fitted-object fields documenting OOB behavior, including
oob.available and oob.subject.count.
Prediction, printing, and plotting
- Updated
predict.boostmtree() to match the refactored object structure and naming conventions.
- Improved prediction handling for:
- held-out longitudinal test data,
- new subjects evaluated on the fitted training time grid,
- user-supplied common time grids via partial prediction.
- Updated
print.boostmtree() so grow and predict objects are summarized correctly and consistently.
- Updated
plot.boostmtree() so plotting now goes to the active graphics device by default.
- PDF output is still available when explicitly requested.
- Plotting data can also be returned for user-directed graphics workflows.
Variable importance and effect plots
- Redesigned variable-importance output around a classed
vimp.boostmtree object.
- Replaced the old
vimpPlot() workflow with plot() methods for variable-importance objects.
- Added clearer checks for grow-object variable importance when OOB information is unavailable.
- Reworked partial and marginal effect plotting around canonical function names:
partial.plot() / partial.plot.boostmtree()
marginal.plot() / marginal.plot.boostmtree()
- Updated effect-plot functions to use the active graphics device by default instead of creating PDF files automatically.
- Added response-label selection for partial and marginal plots in multi-level response settings.
Documentation
- Rewrote the main
boostmtree help page in a more user-facing style.
- Expanded examples to cover:
- continuous longitudinal fits,
- binary fits,
- univariate fits,
- held-out prediction,
- AF-data illustration,
- variable importance,
- partial and marginal plots.
- Improved documentation for
print, plot, predict, variable importance, and effect-plot methods.
- Clarified the interpretation of
phi, rho, lambda, mod.grad, and prediction outputs such as mu and muhat.
- Updated package references to include later methodological and application papers:
- Pande A., Ishwaran H., Blackstone E.H., Rajeswaran J., and Gillinov M. (2022). Application of gradient boosting in evaluating surgical ablation for atrial fibrillation. SN Computer Science, 3:466.
- Pande A., Ishwaran H., and Blackstone E.H. (2022). Boosting for multivariate longitudinal responses. SN Computer Science, 3:186.
Backward-incompatible changes
- The package now uses canonical lower-case, dotted names throughout the public interface.
- Returned object components were renamed to match the new naming convention.
- Legacy mixed-case and underscore-style argument names are no longer supported in the first-pass refactor.
- Legacy plotting helpers such as
vimpPlot(), partialPlot(), and marginalPlot() were replaced by classed objects and plot() methods or lower-case dotted interfaces.
- Automatic PDF creation is no longer the default plotting behavior.
Internal cleanup and bug fixes
- Removed conflicting and duplicated legacy helper code from
utilities.R.
- Fixed multiple issues uncovered during example-driven testing, including bugs affecting:
- univariate fits,
- longitudinal prediction,
- predict-object printing,
- grow/predict consistency for
mu, muhat, and related fields,
- partial-plot indexing,
- compatibility between stored
gamma representations used during prediction.
- Removed legacy components no longer needed for the first-pass package design, including
forest.tol.
boostmtree 1.0.0 (2016-03-17)