Skip to content

NEGATIVE BINOMIAL DISTRIBUTION ​

Phitter implementation ​

Distribution Definition

python
import phitter

distribution = phitter.discrete.NegativeBinomial({"r": *, "p": *})

💡 The distribution's parameters are defined equation section below

Distribution Methods and Attributes

python
## CDF, PMF, PPF receive float or numpy.ndarray.
distribution.cdf(int | numpy.ndarray[int]) # -> float | numpy.ndarray
distribution.pmf(int | numpy.ndarray[int]) # -> float | numpy.ndarray
distribution.ppf(int | numpy.ndarray[int]) # -> float | numpy.ndarray
distribution.sample(int) # -> numpy.ndarray

## STATS
distribution.mean # -> float
distribution.variance # -> float
distribution.standard_deviation # -> float
distribution.skewness # -> float
distribution.kurtosis # -> float
distribution.median # -> int
distribution.mode # -> int

Equations ​

Distribution Definition

X∼NegativeBinomial(r,p)

Distribution Domain

x∈N≡{0,1,2,…}

Parameters Domain and Constraints

r∈N⩾1,p∈(0,1)⊆R

Cumulative Distribution Function

FX(x)=I(p,r,x+1)

Probability Density Function

fX(x)=(r+x−1x)pr(1−p)x

Percent Point Function / Sample

FX−1(u)=arg⁡minx|FX(x)−u|

Parametric Centered Moments

E[Xk]=μk′=∑x=0∞xkfX(x)

Parametric Mean

Mean(X)=μ1′=r(1−p)p

Parametric Variance

Variance(X)=(μ2′−μ1′2)=r(1−p)p2

Parametric Skewness

Skewness(X)=μ3′−3μ2′μ1′+2μ1′3(μ2′−μ1′2)1.5=2−pr(1−p)

Parametric Kurtosis

Kurtosis(X)=μ4′−4μ1′μ3′+6μ1′2μ2′−3μ1′4(μ2′−μ1′2)2=3+6r+p2r(1−p)

Parametric Median

Median(X)=FX−1(0.5)

Parametric Mode

Mode(X)=⌊(r−1)(1−p)/p⌋

Additional Information and Definitions

  • Computing an analytic expression for the inverse of the cumulative distribution function is not feasible. However, it is possible to calculate the Percentile Point Function by approximating it to the nearest integer.
  • u:Uniform[0,1] random varible
  • I(x,a,b):Regularized incomplete beta function
  • ⌊x⌋:Floor function

Spreadsheet Documents