Skip to main content
QUICK REVIEW

[Paper Review] BoXHED2.0: Scalable boosting of dynamic survival analysis

Arash Pakbin, Xiaochen Wang|PubMed|Mar 23, 2021
Machine Learning in Healthcare8 references5 citations
TL;DR

BoXHED2.0 is a scalable, nonparametric gradient-boosted hazard estimator in Python that supports time-varying covariates, competing risks, and recurrent events—extending beyond right-censoring. Built with a C++ core and GPU/CPU parallelization, it achieves speed comparable to parametric models while enabling survivor function estimation under time-static covariates.

ABSTRACT

Modern applications of survival analysis increasingly involve time-dependent covariates. The Python package <b>BoXHED2.0</b> (<b>Bo</b>osted e<b>X</b>act <b>H</b>azard <b>E</b>stimator with <b>D</b>ynamic covariates) is a tree-boosted hazard estimator that is fully nonparametric, and is applicable to survival settings far more general than right-censoring, including recurring events and competing risks. <b>BoXHED2.0</b> is also scalable to the point of being on the same order of speed as parametric boosted survival models, in part because its core is written in C++ and it also supports the use of GPUs and multicore CPUs. <b>BoXHED2.0</b> is available from PyPI and also from www.github.com/BoXHED.

Motivation & Objective

  • Address the limitations of existing survival analysis tools that cannot handle time-varying covariates, competing risks, or recurrent events.
  • Develop a scalable, nonparametric hazard estimator that maintains high accuracy while supporting complex censoring schemes.
  • Improve computational efficiency over BoXHED1.0 by migrating core logic to C++ and introducing a novel preprocessing step to eliminate explicit integral evaluations.
  • Enable estimation of the survivor function $ S(t|X) $ when covariates are time-static, extending utility beyond hazard modeling.
  • Provide a user-friendly, production-ready Python package with GPU and multicore CPU support for real-world deployment.

Proposed method

  • Adopt the Aalen intensity model as the foundational framework for modeling time-varying hazards with general censoring schemes.
  • Implement a tree-boosted hazard estimator using gradient boosting, where base learners are decision trees that split on time and covariates.
  • Introduce a novel data preprocessing step that avoids explicit integral evaluations in the likelihood computation, significantly reducing computational overhead.
  • Develop a C++-based core engine for high-performance inference, enabling GPU and multicore CPU acceleration.
  • Support multiple censoring mechanisms, including right-censoring, left-censoring, interval-censoring, and competing risks, via a unified counting process framework.
  • Provide built-in functions to compute the survivor function $ S(t|X) $ from the estimated hazard when covariates are time-static, using $ S(t|X) = \exp\left(-\int_0^t \hat{\lambda}(u,X) du\right) $.

Experimental results

Research questions

  • RQ1Can a nonparametric, gradient-boosted hazard estimator be designed to handle general survival settings, including time-varying covariates, competing risks, and recurrent events?
  • RQ2How can computational efficiency be dramatically improved in nonparametric survival models without sacrificing model accuracy or flexibility?
  • RQ3To what extent can a C++-based implementation with GPU and multicore CPU support reduce training time compared to pure Python alternatives?
  • RQ4Can the survivor function be reliably estimated from the hazard function in settings with time-static covariates, and how can this be efficiently integrated into a scalable framework?
  • RQ5How effective is the 1-SE rule for hyperparameter selection in boosting survival models, and can it be automated in a way that balances model complexity and performance?

Key findings

  • BoXHED2.0 achieves computational performance on par with parametric boosted survival models, making it suitable for large-scale survival analysis.
  • The novel preprocessing step eliminates explicit integral evaluations, reducing computational bottlenecks and enabling orders-of-magnitude speedup over BoXHED1.0.
  • The C++ core with GPU and multicore CPU support allows training on large datasets with minimal latency, significantly outperforming the pure Python implementation of BoXHED1.0.
  • The package successfully estimates the survivor function $ S(t|X) $ from the hazard function when covariates are time-static, using the standard exponential integral formula.
  • Variable importance scores are reliably computed and exposed via the `VarImps` attribute, enabling interpretable feature analysis in survival models.
  • The 1-SE rule for hyperparameter selection is effectively automated via `best_param_1se_rule()`, yielding a parsimonious model with minimal loss in predictive performance.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.