Skip to content

BATES DISTRIBUTION ​

Phitter implementation ​

Distribution Definition

python
import phitter

distribution = phitter.continuous.Bates({"n": *, "min": *, "max": *})

💡 The distribution's parameters are defined equation section below

Distribution Methods and Attributes

python
## CDF, PDF, PPF receive float or numpy.ndarray.
distribution.cdf(float | numpy.ndarray) # -> float | numpy.ndarray
distribution.pdf(float | numpy.ndarray) # -> float | numpy.ndarray
distribution.ppf(float | numpy.ndarray) # -> 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 # -> float
distribution.mode # -> float

Equations ​

Distribution Definition

X∼Bates(n,min,max)

Distribution Domain

x∈(min,max)

Parameters Domain and Constraints

n∈N+,min∈R,max∈R

Cumulative Distribution Function

FX(x)=1n!∑k=0⌊y⌋(−1)k(nk)(y−k)n

Probability Density Function

fX(x)=n(max−min)(n−1)!∑k=0⌊y⌋(−1)k(nk)(y−k)n−1

Percent Point Function / Sample

FX−1(u)=numerical inversion of FX

Parametric Centered Moments

μ~k=E[(Y−12)k]

Parametric Mean

Mean(X)=min+max2

Parametric Variance

Variance(X)=(max−min)212n

Parametric Skewness

Skewness(X)=0

Parametric Kurtosis

Kurtosis(X)=3−65n

Parametric Median

Median(X)=min+max2

Parametric Mode

Mode(X)=min+max2

Additional Information and Definitions

  • Computing an analytic expression for the inverse of the cumulative distribution function is not feasible. Nonetheless, it is possible to generate a random sample from the distribution.
  • X=min+(max−min)â‹…1n∑i=1nUi
  • y=nâ‹…(x−min)/(max−min)
  • n:Number of averaged uniforms (Irwin-Hall order)
  • min:Lower bound of the support
  • max:Upper bound of the support
  • (nk):Binomial coefficient
  • Ui:Uniform[0,1] random varible

Spreadsheet Documents