stdlib icon indicating copy to clipboard operation
stdlib copied to clipboard

[RFC]: implement a broader range of statistical distributions (tracking issue)

Open kawaho2 opened this issue 1 year ago • 1 comments

Description

This RFC proposes implement large number of probability distributions. The purpose of this issue is to serve as a tracking issue for implement large number of probability distributions.

Probability distributions

Continuous distributions

supported on a bounded interval

  • [X] arcsine
  • [ ] ARGUS
  • [ ] balding–Nichols
  • [ ] bates
  • [X] beta
  • [ ] beta rectangular
  • [ ] continuous Bernoulli
  • [ ] Irwin–Hall
  • [X] Kumaraswamy
  • [ ] logit-normal
  • [ ] noncentral beta
  • [ ] PERT
  • [X] cosine
  • [ ] reciprocal
  • [X] triangular
  • [ ] U-quadratic
  • [X] uniform
  • [ ] Wigner semicircle

supported on a semi-infinite interval

  • [ ] benini
  • [ ] benktander 1st kind
  • [ ] benktander 2nd kind
  • [X] beta prime
  • [ ] burr
  • [X] chi
  • [X] chi-squared
  • [ ] inverse chi-squared
  • [ ] scaled inverse chi-squared
  • [ ] dagum
  • [ ] davis
  • [X] erlang
  • [ ] hyper Erlang
  • [X] exponential
  • [ ] hyperexponential
  • [ ] hypoexponential
  • [ ] exponential-logarithmic
  • [X] F
  • [ ] noncentral F-distribution
  • [ ] folded normal
  • [X] fréchet
  • [X] gamma
  • [ ] generalized gamma
  • [X] inverse-gamma
  • [ ] gamma/Gompertz
  • [ ] gompertz
  • [ ] shifted Gompertz
  • [ ] half-logistic
  • [ ] half-normal
  • [ ] hotelling's T-squared
  • [ ] inverse Gaussian
  • [ ] generalized inverse Gaussian
  • [ ] kolmogorov
  • [X] lévy
  • [ ] log-Cauchy
  • [ ] log-Laplace
  • [ ] log-logistic
  • [X] log-normal
  • [ ] log-t
  • [ ] lomax
  • [ ] matrix-exponential
  • [ ] maxwell–Boltzmann
  • [ ] maxwell–Jüttner
  • [ ] Mittag-Leffler
  • [ ] nakagami
  • [X] pareto-type1
  • [ ] phase-type
  • [ ] poly-Weibull
  • [X] rayleigh
  • [ ] relativistic Breit–Wigner
  • [ ] rice
  • [X] truncated-normal
  • [ ] type-2 Gumbel
  • [X] weibull
  • [ ] discrete Weibull
  • [ ] wilks's lambda

supported on the whole real line

  • [X] cauchy
  • [ ] exponential power
  • [ ] fisher's z
  • [ ] kaniadakis κ-Gaussian
  • [ ] gaussian q
  • [ ] generalized normal
  • [ ] generalized hyperbolic
  • [ ] geometric stable
  • [X] gumbel
  • [ ] holtsmark
  • [ ] hyperbolic secant
  • [ ] Johnson's SU
  • [ ] landau
  • [X] laplace
  • [ ] asymmetric laplace
  • [X] logistic
  • [ ] noncentral t
  • [X] normal
  • [ ] normal-inverse Gaussian
  • [ ] skew normal
  • [ ] slash
  • [ ] stable
  • [x] student's t
  • [ ] tracy–Widom
  • [ ] variance-gamma
  • [ ] voigt

with support whose type varies

  • [ ] generalized chi-squared
  • [ ] generalized extreme value
  • [ ] generalized Pareto
  • [ ] marchenko–Pastur
  • [ ] kaniadakis κ-exponential
  • [ ] kaniadakis κ-Gamma
  • [ ] kaniadakis κ-Weibull
  • [ ] kaniadakis κ-Logistic
  • [ ] kaniadakis κ-Erlang
  • [ ] q-exponential
  • [ ] q-Gaussian
  • [ ] q-Weibull
  • [ ] shifted log-logistic
  • [ ] tukey lambda

Discrete distributions

with finite support

  • [ ] benford
  • [X] bernoulli
  • [ ] beta-binomial
  • [X] binomial
  • [ ] categorical
  • [X] hypergeometric
  • [ ] negative hypergeometric
  • [ ] poisson binomial
  • [ ] rademacher
  • [ ] soliton
  • [X] discrete uniform
  • [ ] zipf
  • [ ] zipf–Mandelbrot

with infinite support

  • [ ] beta negative binomial
  • [ ] borel
  • [ ] conway–Maxwell–Poisson
  • [ ] discrete phase-type
  • [ ] delaporte
  • [ ] extended negative binomial
  • [ ] flory–Schulz
  • [ ] gauss–Kuzmin
  • [x] geometric
  • [ ] logarithmic
  • [ ] mixed Poisson
  • [X] negative-binomial
  • [ ] panjer
  • [ ] parabolic fractal
  • [X] poisson
  • [ ] skellam
  • [ ] yule–Simon
  • [ ] zeta

Mixed distributions

  • [ ] rectified Gaussian

Multivariate(joint) distributions

Discrete:

  • [ ] ewens
  • [ ] multinomial
  • [ ] dirichlet multinomial
  • [ ] negative multinomial

Continuous:

  • [ ] Dirichlet
  • [ ] generalized Dirichlet
  • [ ] multivariate Laplace
  • [ ] multivariate normal
  • [ ] multivariate stable
  • [ ] multivariate t
  • [ ] normal-gamma
  • [ ] normal-inverse-gamma

Related Issues

None.

Questions

No.

Other

No.

Checklist

  • [X] I have read and understood the Code of Conduct.
  • [X] Searched for existing issues and pull requests.
  • [X] The issue name begins with RFC:.

kawaho2 avatar Apr 18 '24 18:04 kawaho2

@Rejoan-Sardar Thanks for opening this issue. One question I have is which of the above distributions are included in SciPy? For each of the distributions, it would be good to point to a reference implementation. Julia stats is another possibility.

Another question I have concerns which of the above distributions are feasible given the current functionality available in stdlib. In short, which distributions should we prioritize first? And which have prerequisite functionality which we have not yet added to stdlib?

kgryte avatar Apr 20 '24 07:04 kgryte