Skip to content

MCDONALD DISTRIBUTION ​

Phitter implementation ​

Distribution Definition

python
import phitter

distribution = phitter.continuous.McDonald({"a": *, "b": *, "c": *, "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∼McDonald(a,b,c,min,max)

Distribution Domain

x∈(min,max)

Parameters Domain and Constraints

a∈R+,b∈R+,c∈R+,min∈R,max∈R

Cumulative Distribution Function

FX(x)=Iz(x)c(a,b)

Probability Density Function

fX(x)=c(max−min)Beta(a,b)z(x)ac−1(1−z(x)c)b−1

Percent Point Function / Sample

FX−1(u)=min+(max−min)[Iu−1(a,b)]1/c

Parametric Centered Moments

μ~k′=E[X~k]=Beta(a+kc,b)Beta(a,b)

Parametric Mean

Mean(X)=min+(max−min)×μ~1′

Parametric Variance

Variance(X)=(max−min)2(μ~2′−μ~1′2)

Parametric Skewness

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

Parametric Kurtosis

Kurtosis(X)=μ~4′−4μ~1′μ~3′+6μ~1′2μ~2′−3μ~1′4(μ~2′−μ~1′2)2

Parametric Median

Median(X)=min+(max−min)[I0.5−1(a,b)]1/c

Parametric Mode

Mode(X)=min+(max−min)(ac−1ac+bc−c−1)1/c

Additional Information and Definitions

  • X~∼McDonald(a,b,c,0,1)
  • If Xc∼Beta(a,b) then X∼McDonald(a,b,c)
  • z(x)=(x−min)/(max−min)
  • u:Uniform[0,1] random varible
  • Ix(a,b):Regularized incomplete beta function
  • Iu−1(a,b):Inverse of regularized incomplete beta function
  • Beta(a,b):Beta function
  • Mode formula valid when ac>1 and b>1

Spreadsheet Documents