Conditional Density Estimation with Histogram Trees

Lincen Yang, M. Leeuwen
2/3/2026

No official code found. Best implementation: ylincen/CDTree (3 stars, last commit 2025-01-20).

Abstract

Conditional density estimation (CDE) goes beyond regression by modeling the full conditional distribution, providing a richer understanding of the data than just the conditional mean in regression. This makes CDE particularly useful in critical application domains. However, interpretable CDE methods are understudied. Current methods typically employ kernel-based approaches, using kernel functions directly for kernel density estimation or as basis functions in linear models. In contrast, despite their conceptual simplicity and visualization suitability, tree-based methods -- which are arguably more comprehensible -- have been largely overlooked for CDE tasks. Thus, we propose the Conditional Density Tree (CDTree), a fully non-parametric model consisting of a decision tree in which each leaf is formed by a histogram model. Specifically, we formalize the problem of learning a CDTree using the minimum description length (MDL) principle, which eliminates the need for tuning the hyperparameter for regularization. Next, we propose an iterative algorithm that, although greedily, searches the optimal histogram for every possible node split. Our experiments demonstrate that, in comparison to existing interpretable CDE methods, CDTrees are both more accurate (as measured by the log-loss) and more robust against irrelevant features. Further, our approach leads to smaller tree sizes than existing tree-based models, which benefits interpretability.

View on arXivView PDF

Code Implementations(1)

ylincen/CDTreeCommunity100%
31R, ShellMay 16, 20241 years ago

Similar Papers

Cite this paper

@article{yang2026conditional,
  title  = {Conditional Density Estimation with Histogram Trees},
  author = {Lincen Yang and M. Leeuwen},
  year   = {2026},
  eprint = {2410.11449},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2410.11449},
  url    = {https://arxiv.org/abs/2410.11449},
  journal = {NEURIPS 2024 2024}
}

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/2410.11449.svg)](https://codeofpaper.com/paper/2410.11449)

Discussion