StatMixedML / LightGBMLSS

An extension of LightGBM to probabilistic modelling
https://statmixedml.github.io/LightGBMLSS/
Apache License 2.0
272 stars 28 forks source link
distributional-regression gamlss lightgbm machine-learning mixture-density-model normalizing-flows prediction-intervals probabilistic-forecasting uncertainty-estimation

![Python Version](https://img.shields.io/badge/python-3.10%20|%20%203.11-lightblue.svg) ![GitHub tag (with filter)](https://img.shields.io/github/v/tag/StatMixedML/LightGBMLSS?label=release&color=lightblue) Documentation status badge Unit test status badge Code coverage status badge ![Pepy Total Downlods](https://img.shields.io/pepy/dt/lightgbmlss?label=PyPI%20Downloads%2FMonth&color=green)

#

LightGBMLSS - An extension of LightGBM to probabilistic modelling

We introduce a comprehensive framework that models and predicts the full conditional distribution of a univariate target as a function of covariates. Choosing from a wide range of continuous, discrete, and mixed discrete-continuous distributions, modelling and predicting the entire conditional distribution greatly enhances the flexibility of LightGBM, as it allows to create probabilistic forecasts from which prediction intervals and quantiles of interest can be derived.

Features

:white_check_mark: Estimation of all distributional parameters.
:white_check_mark: Normalizing Flows allow modelling of complex and multi-modal distributions.
:white_check_mark: Mixture-Densities can model a diverse range of data characteristics.
:white_check_mark: Zero-Adjusted and Zero-Inflated Distributions for modelling excess of zeros in the data.
:white_check_mark: Automatic derivation of Gradients and Hessian of all distributional parameters using PyTorch.
:white_check_mark: Automated hyper-parameter search, including pruning, is done via Optuna.
:white_check_mark: The output of LightGBMLSS is explained using SHapley Additive exPlanations.
:white_check_mark: LightGBMLSS provides full compatibility with all the features and functionality of LightGBM.
:white_check_mark: LightGBMLSS is available in Python.

News

:boom: [2024-01-19] Release of LightGBMLSS to PyPI.
:boom: [2023-08-28] Release of v0.4.0 introduces Mixture-Densities. See the release notes for an overview.
:boom: [2023-07-20] Release of v0.3.0 introduces Normalizing Flows. See the release notes for an overview.
:boom: [2023-06-22] Release of v0.2.2. See the release notes for an overview.
:boom: [2023-06-15] LightGBMLSS now supports Zero-Inflated and Zero-Adjusted Distributions.
:boom: [2023-05-26] Release of v0.2.1. See the release notes for an overview.
:boom: [2023-05-23] Release of v0.2.0. See the release notes for an overview.
:boom: [2022-01-05] LightGBMLSS now supports estimating the full predictive distribution via Expectile Regression.
:boom: [2022-01-05] LightGBMLSS now supports automatic derivation of Gradients and Hessians.
:boom: [2022-01-04] LightGBMLSS is initialized with suitable starting values to improve convergence of estimation.
:boom: [2022-01-04] LightGBMLSS v0.1.0 is released!

Installation

To install the development version, please use

pip install git+https://github.com/StatMixedML/LightGBMLSS.git

For the PyPI version, please use

pip install lightgbmlss

Available Distributions

Our framework is built upon PyTorch and Pyro, enabling users to harness a diverse set of distributional families. LightGBMLSS currently supports the following distributions.

How to Use

Please visit the example section for guidance on how to use the framework.

Documentation

For more information and context, please visit the documentation.

Feedback

We encourage you to provide feedback on how to enhance LightGBMLSS or request the implementation of additional distributions by opening a new discussion.

How to Cite

If you use LightGBMLSS in your research, please cite it as:

@misc{Maerz2023,
  author = {Alexander M\"arz},
  title = {{LightGBMLSS: An Extension of LightGBM to Probabilistic Modelling}},
  year = {2023},
  note = {GitHub repository, Version 0.4.0},
  howpublished = {\url{https://github.com/StatMixedML/LightGBMLSS}}
}

Reference Paper

Arxiv link
Arxiv link

Star History