stochtree 0.4.3-dev
Bug Fixes
- Fixed BCF prediction bug for prognostic function and mu(X) when adaptive coding is used and the tau(x) forest is not also requested by a prediction call #377
- Fixed R BCF prediction bug when covariates are passed as dataframes and an internal propensity is sampled #374
Documentation and Other Maintenance
stochtree 0.4.2
New Features
- Added support for parametric treatment effect term in BCF #309
- Added support for observation-level weights passed as data arguments to BART and BCF #333
Bug Fixes
- Include boost headers in
sdist for Python package #362
- Fixed prediction bug for cloglog BART in R #361
- Fixed assignment bug in RFX category tracker data structure #360
- Fixed prediction bugs in binary classification sklearn wrapper #359
- Fixed several initialization, sampling and prediction bugs for cloglog #357
- Fixed num_threads pass-through bug in R BART #339
- Fixed probit offset bug in R and Python #337
- Standardized multi-chain BCF handling of internal propensity models #334
- Fixed multi-chain BCF bugs with the parametric intercept term in R and Python #326
- Fixed indexing bugs for multivariate treatment BCF in Python #326
- Convert binary factor-valued treatments to 0/1 binary numeric treatment in
bcf() R function #332
Documentation and Other Maintenance
- Add support for python 3.14 and drop 3.8 and 3.9 #363
stochtree 0.4.1
Documentation and Other Maintenance
- Converted all R man page titles to title case #310
- Updated Python
summary() methods to print directly to console rather than return a summary string #310
- Updated vendored pybind11 dependency to version 3.0.2 #310
stochtree 0.4.0
New Features
- Added support for ordinal outcome modeling through complementary log-log link function in the BART models (#196)
- Added
__str__, __repr__, summary, and extract_parameter methods in Python for the BARTModel and BCFModel classes (#298)
- Added plotting utility function (
plot_parameter_trace) in Python that operates on both the BARTModel and BCFModel classes (#298)
- Added vignettes for summary / model inspection utilities in both R and Python (#298)
- Added
print methods in R and __str__ methods in Python for the forest container and random effects container objects (#298)
- Updated R documentation to group related functions into topics (#302):
BARTSerialization
BCFSerialization
ForestSamplesSerialization
RandomEffectSamplesSerialization
DataPreprocessing
ForestKernelComputation
ForestStateManagement
RandomEffectStateManagement
- Converted the following R function names from snake case to camel case (#302):
compute_bart_posterior_interval -> computeBARTPosteriorInterval
compute_bcf_posterior_interval -> computeBCFPosteriorInterval
compute_contrast_bart_model -> computeContrastBARTModel
compute_contrast_bcf_model -> computeContrastBCFModel
extract_parameter -> extractParameter
sample_bart_posterior_predictive -> sampleBARTPosteriorPredictive
sample_bcf_posterior_predictive -> sampleBCFPosteriorPredictive
Bug Fixes
- Fixed status logging bugs for multi-chain R MCMC loops (#298)
stochtree 0.3.1
New Features
- Replaced C++ standard library distributions (
discrete_distribution, uniform_real_distribution, normal_distribution, and gamma_distribution) with custom implementations for cross-platform reproducibility.
- Substituted custom implementations for base R
mean(), var(), and sd() in the preprocessing logic of the R bart() and bcf() functions for enhanced numeric stability across platforms.
stochtree 0.3.0
New Features
- Added
print, summary, plot, and extract_parameter generic functions in R for the bartmodel and bcfmodel classes (#271)
- Added sklearn-compatible estimator wrapper for
BARTModel in Python (#270)
Bug Fixes
- Fix R bug where our approach to temporarily modifying users’ RNG state failed if
.Random.seed did not exist (i.e. if the R RNG hadn’t yet been accessed by an R session) (#258)
- Fix prediction bug for R BART models with random effects with labels that aren’t straightforward
1:num_groups integers when only y_hat is requested (#256)
- Fix issue with C++ standard specification in Windows R package config (#276)
stochtree 0.2.1
Bug Fixes
- Fix prediction bug for univariate random effects models in R (#248)
- Fix prediction bug for Python BART and BCF models with random effects with labels that aren’t straightforward
0:(num_groups-1) integers (#256)
Other Changes
- Encode expectations about which combinations of BART / BCF features work together and ensure warning (#250)
stochtree 0.2.0
New Features
- Support for multithreading in various elements of the GFR and MCMC algorithms (#182)
- Support for binary outcomes in BART and BCF with a probit link (#164)
- Enable “restricted sweep” of tree algorithms over a handful of trees (#173)
- Support for multivariate treatment in R (#183)
- Enable modification of dataset variables (weights, etc…) via low-level interface (#194)
Computational Improvements
- Modified default random effects initialization (#190)
- Avoid double prediction on training set (#178)
Bug Fixes
- Fixed indexing bug in cleanup of grow-from-root (GFR) samples in BART and BCF models
- Avoid using covariate preprocessor in
computeForestLeafIndices function when a ForestSamples object is provided (rather than a bartmodel or bcfmodel object)
- Correctly compute feature-specific split counts in R and Python (#220)
- Avoid override of user-specified
num_burnin parameter in BCF models with an internal propensity score (#222)
- Outcome predictions correctly incorporate adaptive coding of untreated observations in BCF with binary treatment (#231)
Documentation Improvements
- Clarify structure / layout of samples when users request multiple chains in BART and BCF models (#220)
Other Changes
- Standardized naming conventions for data elements of BART and BCF models across R and Python interfaces
- Covariates / features are always referred to as “
X”
- Treatment is always referred to as “
Z”
- Propensity scores are referred to as “
propensity” (rather than “pi”)
- Outcomes are referred to as “
y”
- Basis vectors for leaf-wise regression models in forest terms are referred to as “
leaf_basis”
- Group labels for additive random effects models are referred to as “
rfx_group_ids”
- Basis vectors for additive random effects models are referred to as “
rfx_basis”
- Run-time checks for variables that are treated as continuous but have many “ties” (which presents issues with the current GFR algorithm) when only GFR samples are requested (#243)
stochtree 0.1.1
- Fixed initialization bug in several R package code examples for random effects models
stochtree 0.1.0
- Initial release on CRAN.
- Support for sampling stochastic tree ensembles using two algorithms: MCMC and Grow-From-Root (GFR)
- High-level model types supported:
- Supervised learning with constant leaves or user-specified leaf regression models
- Causal effect estimation with binary or continuous treatments
- Additional high-level modeling features:
- Forest-based variance function estimation (heteroskedasticity)
- Additive (univariate or multivariate) group random effects
- Multi-chain sampling and support for parallelism
- “Warm-start” initialization of MCMC forest samplers via the Grow-From-Root (GFR) algorithm
- Automated preprocessing / handling of categorical variables
- Low-level interface:
- Ability to combine a forest sampler with other (additive) model terms, without using C++
- Combine and sample an arbitrary number of forests or random effects terms