Optimal Survival Trees: A Dynamic Programming Approach

Tim Huisman, Jacobus G. M. van der Linden, Emir Demirović
1/9/2024
cs.LGcs.AIcs.DS

No official code found. Best implementation: AlgTUDelft/pystreed (21 stars, MIT, last commit 2026-03-23).

Abstract

Survival analysis studies and predicts the time of death, or other singular unrepeated events, based on historical data, while the true time of death for some instances is unknown. Survival trees enable the discovery of complex nonlinear relations in a compact human comprehensible model, by recursively splitting the population and predicting a distinct survival distribution in each leaf node. We use dynamic programming to provide the first survival tree method with optimality guarantees, enabling the assessment of the optimality gap of heuristics. We improve the scalability of our method through a special algorithm for computing trees up to depth two. The experiments show that our method's run time even outperforms some heuristics for realistic cases while obtaining similar out-of-sample performance with the state-of-the-art.

View on arXivView PDF

Code Implementations(1)

AlgTUDelft/pystreedCommunity100%
MIT

Python Implementation of STreeD: Dynamic Programming Approach for Optimal Decision Trees with Separable objectives and Constraints

216C, C++Oct 24, 20237 months agoMIT

Similar Papers

Cite this paper

@article{huisman2024optimal,
  title  = {Optimal Survival Trees: A Dynamic Programming Approach},
  author = {Tim Huisman and Jacobus G. M. van der Linden and Emir Demirović},
  year   = {2024},
  eprint = {2401.04489},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2401.04489v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2401.04489.svg)](https://codeofpaper.com/paper/2401.04489)

Discussion