Skip to main content

LightGBMLSS - An extension of LightGBM to probabilistic modelling.

Project description

Python Version GitHub tag (with filter) Github License Documentation status badge Unit test status badge Code coverage status badge

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

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

News

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

Installation

To install LightGBMLSS 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},
  howpublished = {\url{https://github.com/StatMixedML/LightGBMLSS}}
}

Reference Paper

Arxiv link
Arxiv link

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightgbmlss-0.4.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

lightgbmlss-0.4.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file lightgbmlss-0.4.0.tar.gz.

File metadata

  • Download URL: lightgbmlss-0.4.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for lightgbmlss-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5e64331cf3f67a96f7f56ea5d4c84c810f358645af4d67900410efb425db67c5
MD5 f9ca42637595b22b701a1beb519eda48
BLAKE2b-256 d5014fd68ed86486dc9ce77de3ede83c51baf5878e9da20870cf579c065c2b37

See more details on using hashes here.

File details

Details for the file lightgbmlss-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: lightgbmlss-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for lightgbmlss-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a45e78ebbff052aa53105ee7a6e9fba563248b2a972d1dc38da856b08d28b57
MD5 bbe7c74323c4ca4d850e97cd39cc316a
BLAKE2b-256 c0d215ff4a21e41d01169d7d3567332b59559723c11a39970a446d9957516d54

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page