Skip to content

PERT DISTRIBUTION

Phitter implementation

Distribution Definition

python
import phitter

distribution = phitter.continuous.Pert({"a": *, "b": *, "c": *})

💡 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

XPert(a,b,c)

Distribution Domain

x[a,c]

Parameters Domain and Constraints

aR,bR,cR,a<b<c

Cumulative Distribution Function

FX(x)=I(z(x),α1,α2)

Probability Density Function

fX(x)=(xa)α11(cx)α21Beta(α1,α2)(ca)α1+α21

Percent Point Function / Sample

FX1(u)=a+(ca)I1(u,α1,α2)

Parametric Centered Moments

μk=E[Xk]=acxkfX(x)dx

Parametric Mean

Mean(X)=μ1=a+4b+c6

Parametric Variance

Variance(X)=μ2μ12=(Mean(X)a)(cMean(X))7

Parametric Skewness

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

Parametric Kurtosis

Kurtosis(X)=μ44μ1μ3+6μ12μ23μ14(μ2μ12)2=6[(α1α2)2(α1+α2+1)α1α2(α1+α2+2)]α1α2(α1+α2+2)(α1+α2+3)+3

Parametric Median

Median(X)=a+(ca)I1(12,α1,α2)

Parametric Mode

Mode(X)=b

Additional Information and Definitions

  • z(x)=(xa)/(ca)
  • u:Uniform[0,1] random varible
  • α1=4b+c5aca,α2=5ca4bca
  • I(x,a,b):Regularized incomplete beta function
  • I1(x,a,b):Inverse of regularized incomplete beta function
  • Beta(x,y):Beta function

Spreadsheet Documents