Table of Contents
distribution | parameters | support | density f(x) | mean | variance | excel function | matlab/octave | r | numpy/scipy | c++ |
---|---|---|---|---|---|---|---|---|---|---|
binomial | B(n,p) | {0,1,...,n} | [[$ \frac{n!}{x!(n-x)!} p^x(1-p)^{n-x} $]] | np | np(1-p) | BINOMDIST(x,n,p,FALSE) BINOMDIST(x,n,p,TRUE) BINOM.INV(n, p, α) BINOM.INV(n, p, RAND()) |
binopdf(x, n, p) binocdf(x, n, p) binoinv(y, n, p) binornd(n, p) |
dbinom(x, n, p) pbinom(x, n, p) qbinom(y, n, p) rbinom(1, n, p) |
stats.binom.pmf(x, n, p) stats.binom.cdf(x, n, p) stats.binom.ppf(y, n, p) stats.binom.rvs(n, p) |
#include <random default_random_engine dre; binomial_distribution<int> bd(n, p); int m = bd(dre); |
poisson | Pois(λ) | {0,1,2,...} | [[$ \frac{\mu^x e^{-\mu}}{x!} $]] | λ | λ | POISSON(x, λ, FALSE) POISSON(x, λ, TRUE) none none |
poisspdf(x, lambda) poisscdf(x, lambda) poissinv(y, lambda) poissrnd(lambda) |
dpois(x, lambda) ppois(x, lambda) qpois(y, lambda) rpois(1, lambda) |
stats.poisson.pmf(x, lambda) stats.poisson.cdf(x, lambda) stats.poisson.ppf(y, lambda) stats.poisson.rvs(lambda, size=1) |
#include <random default_random_engine dre; poisson_distribution<int> pd(lambda); int m = pd(dre); |
normal | N(μ, σ) | (-∞,∞) | [[$ \frac{1}{\sqrt{2\pi \sigma}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} $]] | μ | σ2 | NORMDIST(x, μ, σ, FALSE) NORMDIST(x, μ, σ, TRUE) NORMINV(α, μ, σ) NORMINV(RAND(), μ, σ) |
normpdf(x, mu, sigma) normcdf(x, mu, sigma) norminv(y, mu, sigma) normrnd(mu, sigma) |
dnorm(x, mu, sigma) pnorm(x, mu, sigma) qnorm(y, mu, sigma) rnorm(1, mu, sigma) |
stats.norm.pdf(x, mu, sigma) stats.norm.cdf(x, mu, sigma) stats.norm.ppf(y, mu, sigma) stats.norm.rvs(mu, sigma) |
#include <random default_random_engine dre; normal_distribution<double> nd(mu, sigma); double x = nd(dre); |
gamma | Γ(k, θ) | [0,∞) | [[$ x^{k-1}\frac{exp(\frac{-x}{\theta})}{\Gamma(k) \theta^k} $]] | kθ | kθ2 | GAMMADIST(x, k, θ, FALSE) GAMMADIST(x, k, θ, TRUE) GAMMAINV(α, k, θ) GAMMAINV(RAND(), k, θ) |
gampdf(x, k, theta) gamcdf(x, k, theta) gaminv(y, k, theta) gamrnd(k, theta) |
dgamma(x, k, scale=theta) pgamma(x, k, scale=theta) qgamma(y, k, scale=theta) rgamma(1, k, scale=theta) |
stats.gamma.pdf(x, k, scale=theta) stats.gamma.cdf(x, k, scale=theta) stats.gamma.ppf(y, k, scale=theta) stats.gamma.rvs(k, scale=theta) |
#include <random default_random_engine dre; gamma_distribution<double> gd(k, theta); double x = gd(dre); |
exponential | Exp(λ) | [0, ∞) | [[$ \lambda e^{-\lambda x} $]] | λ-1 | λ-2 | EXPON.DIST(x, λ, FALSE) EXPON.DIST(x, λ, TRUE) GAMMAINV(y, 1, 1/λ) GAMMAINV(RAND(), 1, 1/λ) |
exppdf(x, lambda) expcdf(x, lambda) expinv(y, lambda) exprnd(lambda) |
dexp(x, lambda) pexp(x, lambda) qexp(y, lambda) rexp(1, lambda) |
stats.expon.pdf(x, scale=1.0/lambda) stats.expon.cdf(x, scale=1.0/lambda) stats.expon.ppf(x, scale=1.0/lambda) stats.expon.rvs(scale=1.0/lambda) |
#include <random default_random_engine dre; exponential_distribution<double> ed(lambda); double x = ed(dre); |
chi-squared | Χ^^2^^(ν) | [0, ∞) | [[$ \frac{1}{2^{k/2}\Gamma(k/2)} x^{k/2 - 1} e^{-x/2} $]] | ν | 2ν | CHISQ.DIST(x, ν, FALSE) CHISQ.DIST(x, ν, TRUE) CHISQ.INV(y, ν) CHISQ.INV(RAND(), ν) |
chi2pdf(x, nu) chi2cdf(x, nu) chi2inv(y, nu) chi2rnd(nu) |
dchisq(x, nu) pchisq(x, nu) qchisq(y, nu) rchisq(1, nu) |
stats.chi2.pdf(x, nu) stats.chi2.cdf(x, nu) stats.chi2.ppf(y, nu) stats.chi2.rvs(nu) |
#include <random default_random_engine dre; chi_squared_distribution<double> csd(nu); double x = csd(dre); |
beta | Be(α, β) | [0, 1] | [[$\frac{x^{\alpha-1}(1-x)^{\beta-1}}{B(\alpha, \beta)}$]] | [[$ \frac{\alpha}{\alpha + \beta} $]] | [[$ \frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\beta+1)} $]] | BETADIST(x, α, β, FALSE) BETADIST(x, α, β, TRUE) BETAINV(p, α, β) BETAINV(RAND(), α, β) |
betapdf(x, alpha, beta) betacdf(x, alpha, beta) betainvf(y, alpha, beta) betarnd(alpha, beta) |
dbeta(x, alpha, beta) pbeta(x, alpha, beta) qbeta(y, alpha, beta) rbeta(1, alpha, beta) |
stats.beta.pdf(x, alpha, beta) stats.beta.cdf(x, alpha, beta) stats.beta.ppf(y, alpha, beta) stats.beta.rvs(alpha, beta) |
none |
uniform | U(a, b) | [a, b] | [[$ \frac{1}{b-a} $]] | [[$ \frac{a+b}{2} $]] | [[$ \frac{(b-a)^2}{12} $]] | 1/(b-a) (x-a)/(b-a) α * (b-a) + a RAND()*(b-a) + a |
unifpdf(x, a, b) unifcdf(x, a, b) unifinv(y, a, b) unifrnd(a, b) |
dunif(x, a, b) punif(x, a, b) qunif(y, a, b) runif(1, a, b) |
stats.uniform.pdf(x, a, b) stats.uniform.cdf(x, a, b) stats.uniform.ppf(y, a, b) stats.unifrom.rvs(a, b) |
#include <random default_random_engine dre; uniform_real_distribution<double> urd(a, b); double x = urd(dre); |
Student's t | t(ν) | (-∞,∞) | [[$ \frac{\Gamma(\frac{\nu+1}{2})}{\sqrt{\nu \pi} \Gamma(\frac{\nu}{2})} (1 + \frac{x^2}{\nu})^{-\frac{\nu+1}{2}}$]] | [[$ \begin{cases} 0 & \nu > 1 \\ \text{undefined} & \text{otherwise} \end{cases} $]] | [[$ \begin{cases} \frac{\nu}{\nu - 2} & \nu > 2 \\ \infty & 1 < \nu \le 2 \\ \text{undefined} & \text{otherwise} \end{cases} $]] | T.DIST(x, ν, FALSE) T.DIST(x, ν, TRUE) T.INV(α, ν) T.INV(RAND(), ν) |
dt(x, nu) pt(x, nu) qt(y, nu) rt(1, nu) |
stats.t.pdf(x, nu) stats.t.cdf(x, nu) stats.t.ppf(y, nu) stats.t.rvs(nu) |
#include <random default_random_engine dre; student_t_distribution<double> td(nu); double x = td(dre); |
|
Snedecor's F | F(d1, d2) | [0, ∞) | [[$ \frac{\sqrt{\frac{(d_1 x)^{d_1} d_2^{d_2}}{(d_1 x + d_2)^{d_1+d_2}}}}{x B(d_1, d_2)} $]] | [[$ \frac{d_2}{d_2 - 2} $]] //for d,,2,, > 2//// | F.DIST(x, d1, d2, FALSE) F.DIST(x, d1, d2, TRUE) F.INV(α, d1, d2) F.INV(RAND(), d1, d2) |
df(x, d1, d2) pf(x, d1, d2) qf(y, d1, d2) rf(1, d1, d2) |
stats.f.pdf(x, d1, d2) stats.f.cdf(x, d1, d2) stats.f.ppf(y, d1, d2) stats.f.rvs(d1, d2) |
#include <random default_random_engine dre; fisher_f_distribution<double> fd(d1, d2); double x = urd(dre); |
||
________ | __________________________ | _________________________ | _________________________ | ____________________________________ | ____________________________________________ |
Conjugate Priors
distribution | conjugate prior | posterior hyperparameters | posterior predictive |
---|---|---|---|
bernoulli | beta | [[$ α' = α + \sum_{i=1}^n x_i $]] [[$ β' = β + n - \sum_{i=1}^n x_i $]] |
|
binomial | beta | [[$ α' = α + \sum_{i=1}^n x_i $]] [[$ β' = β + \sum_{i=1}^n N_i - \sum_{i=1}^n x_i $]] |
|
negative binomial (known number of failures) | beta | ||
geometric | beta | ||
categorical | dirichlet | ||
multinomial | dirichlet | ||
poisson | gamma | ||
hypergeometric (known population N) | beta-binomial |
distribution | conjugate prior | posterior hyperparameters | posterior predictive |
---|---|---|---|
normal (known variance) | normal | ||
normal (known mean) | inverse gamma | ||
uniform | pareto | ||
exponential | gamma | ||
gamma (known shape α) | gamma |
Continuous Distributions by Thickness of Tail
- Cauchy
- Student's t
- Laplace
- Gaussian
- sub-Gaussian