Distributions
Distribution families for Location, Scale, and Shape (LSS) regression. Each distribution defines a parametric family and methods for computing negative log-likelihood loss.
Overview
DeepTab’s LSS models can predict full probability distributions instead of point estimates. This is useful for uncertainty quantification, probabilistic forecasting, and heteroskedastic regression.
Available Distributions
Continuous Distributions
Distribution |
Use Case |
|---|---|
General continuous targets; default choice. |
|
Strictly positive targets with multiplicative noise (prices, incomes). |
|
Robust to outliers; heavy-tailed data. |
|
Positive continuous targets (durations, amounts). |
|
Positive targets with right skew. |
|
Bounded targets in (0, 1) interval (proportions, rates). |
|
Flexible shape; can model skewness and kurtosis. |
|
Zero-inflated positive targets (insurance claims, rainfall). |
Discrete Distributions
Distribution |
Use Case |
|---|---|
Count data (non-negative integers). |
|
Count data with excess zeros. |
|
Overdispersed count data. |
|
Multiclass classification with uncertainty. |
Multivariate / Compositional Distributions
Distribution |
Use Case |
|---|---|
Compositional data (proportions that sum to 1). |
|
Multi-category count targets. |
|
Multimodal continuous targets (bimodal price distributions etc.). |
Quantile Regression
Distribution |
Use Case |
|---|---|
|
Predict arbitrary percentiles; distribution-free. |
Quick Example
from deeptab.models import MambularLSS
# Fit a distributional model
model = MambularLSS()
model.fit(X_train, y_train, family="normal")
# Predict distribution parameters as an array of shape (n_samples, n_params).
# For the normal family the columns are (loc, scale).
params = model.predict(X_test)
# Score with distribution-aware metrics such as CRPS and NLL
scores = model.evaluate(X_test, y_test)
For worked examples that turn these parameters into prediction intervals and calibration plots, see the Uncertainty Quantification tutorial.
Choosing a Distribution
|
Target type |
Use when |
|---|---|---|
|
Continuous |
Default starting point; symmetric noise around a mean. |
|
Continuous |
Outliers are present; need heavier tails than Normal. |
|
Positive continuous |
Multiplicative noise; targets span multiple orders of magnitude (prices, incomes). |
|
Positive continuous |
Strictly positive targets with right skew (durations, rainfall amounts). |
|
Positive continuous |
Positive targets with a longer right tail than Gamma. |
|
(0, 1) bounded |
Proportions, rates, probabilities that must stay in (0, 1). |
|
Continuous |
Need to model both skewness and excess kurtosis simultaneously. |
|
Zero-inflated positive |
Mix of exact zeros and positive values (insurance claims, rainfall). |
|
Count |
Non-negative integer counts with mean ≈ variance. |
|
Count |
Count data with more zeros than Poisson predicts. |
|
Count |
Overdispersed counts (variance > mean). |
|
Multiclass |
Classification with calibrated class probabilities. |
|
Compositional |
Vectors of proportions that must sum to 1. |
|
Multi-category count |
Integer-valued compositional targets. |
|
Continuous multimodal |
Targets with multiple distinct peaks (mixture of regimes). |
|
Distribution-free |
Predict specific percentiles without assuming a parametric family. |
See Also
Uncertainty Quantification: Complete LSS examples
deeptab.models.MambularLSS: LSS model reference