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

XNegativeBinomial(r,p)

Distribution Domain

xN{0,1,2,}

Parameters Domain and Constraints

rN1,p(0,1)R

Cumulative Distribution Function

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

Probability Density Function

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

Percent Point Function / Sample

FX1(u)=argminx|FX(x)u|

Parametric Centered Moments

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

Parametric Mean

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

Parametric Variance

Variance(X)=(μ2μ12)=r(1p)p2

Parametric Skewness

Skewness(X)=μ33μ2μ1+2μ13(μ2μ12)1.5=2pr(1p)

Parametric Kurtosis

Kurtosis(X)=μ44μ1μ3+6μ12μ23μ14(μ2μ12)2=3+6r+p2r(1p)

Parametric Median

Median(X)=FX1(0.5)

Parametric Mode

Mode(X)=(r1)(1p)/p

Additional Information and Definitions

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

Spreadsheet Documents