pert {mc2d} | R Documentation |
Density, distribution function, quantile function and random generation for the PERT (aka Beta PERT) distribution with minimum equals to min, mode equals to mode and maximum equals to max.
dpert(x, min=-1, mode=0, max=1, shape=4, log=FALSE) ppert(q, min=-1, mode=0, max=1, shape=4, lower.tail=TRUE, log.p=FALSE) qpert(p, min=-1, mode=0, max=1, shape=4, lower.tail=TRUE, log.p=FALSE) rpert(n, min=-1, mode=0, max=1, shape=4)
x,q |
Vector of quantiles. |
p |
Vector of probabilities. |
n |
Number of observations. If length(n) > 1, the length is taken to be the number required. |
min |
Vector of minima. |
mode |
Vector of modes. |
max |
Vector of maxima. |
shape |
Vector of scaling parameters. Default value: 4. |
log, log.p |
Logical; if TRUE, probabilities p are given as log(p). |
lower.tail |
Logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]. |
The PERT distribution is a beta distribution extended to the domain [min, max] with mean
mu = (min + shape * mode + max)/(shape + 2)
The underlying beta distribution is specified by shape1 and shape2 defined as
shape1=(mu - min)*(2 mode-min-max)/((mode-mu)*(max - min))
shape2=shape1*(max - mu)/(mu - min)
If mu=mode, shape1 is set to 1+shape/2.
David Vose (See reference) proposed a modified PERT distribution with a shape parameter different from 4.
The PERT distribution is frequently used (with the triangular distribution) to translate expert estimates of the min, max and mode of a random variable in a smooth parametric distribution.
dpert gives the density, ppert gives the distribution function, qpert gives the quantile function, and rpert generates random deviates.
Regis Pouillot and Matthew Wiener
Vose D. Risk Analysis - A Quantitative Guide (2nd and 3rd editions, John Wiley and Sons, 2000, 2008).
curve(dpert(x, min=3, mode=5, max=10, shape=6), from = 2, to = 11, lty=3) curve(dpert(x, min=3, mode=5, max=10), from = 2, to = 11, add=TRUE) curve(dpert(x, min=3, mode=5, max=10, shape=2), from = 2, to = 11, add=TRUE, lty=2) legend(x = 8, y = 2, c("Default", "shape:2", "shape:6"), lty=1:3)