Fitting PERT Distribution via MLE

Log-likelihood Function

The pdf of the PERT distribution for a ≤ x ≤ c is

PERT pdf

where

Beta function

Alpha and beta values

Now suppose we have a dataset x1, …, xn from the PERT distribution. The likelihood function is

Likelihood function PERT distribution

L PERT

Therefore, the log-likelihood function can be expressed by

Log-likelihood PERT distribution

Real Statistics Function: The Real Statistics Resource Pack provides the following worksheet function

PERT_MLE(R1, a, b, c): returns the log-likelihood estimate LL for the data in R1 based on a PERT distribution with parameters a, b, and c.

Fit using MLE

We can also estimate the parameter values by iterative search using the MLE approach in the same manner as we did for the method of moments. In this case, the goal is to find the PERT parameters that maximize LL instead of minimizing the sum of squares.

Real Statistics Function: The Real Statistics Resource Pack provides the following worksheet function that estimates the parameters of a PERT distribution that fits the data in R1 based on the method of moments.

PERT_FIT(R1, lab, lo, hi, iter, exta, extc, iterb, iterc): returns a column array with the estimated values of the parameters a, b, c; along with the mean, variance, and skewness based on the data in R1 and the distribution parameters; and finally the MLE and the sum of squares.

The arguments are exactly as for PERT_FITM (see MoM Support for PERT Distribution), except there is no version where iter <= 0.

Observation: Note that you can also use Solver, but in this case, you must use initial guesses that are close to the optimum parameter values. E.g. if your initial guesses are 1.1, 2.0, 3.8, then Solver will converge to a solution, but if your initial guesses are 1.0, 2.0, 3.8, then it won’t.

Example

Example 1: Fit the data in range B2:G11 of Figure 1 to a PERT distribution using the MLE approach.

PERT fit data

Figure 1 – Fitting a PERT distribution

We use the formula =PERT_FIT(B2:G11,TRUE) in O2:P12 of Figure 2. The default value for exta and extc are used, namely

exta = extc = (max – min)/2 =  (3.790572 – 1.134794)/2 = 1.327889

Also, since iter defaults to 100, the values of a and c are searched in increments of 1.327889/100 = .01327889  in the ranges

-.1931 = 1.134794 1.327889 = min – exta ≤ a < min  = 1.134794

3.790572 = max < c ≤ max + extc = 3.790572 + 1.327889 = 5. 118461

PERT fit via MLE

Figure 1 – Fitting a PERT distribution via MLE

In the second application of PERT_FIT, namely =PERT_FIT(B2:G11,TRUE,,,50,.02,.02), we restrict the range of a and c to

 1.114794 ≤ a <1.134794          3.790572 < c ≤ 3.810572

which includes the values a = 1.121516 (cell P2) and c = 3.81713 from the first application of PERT_FIT. Even though we use a smaller number of iterations, namely 50, the function uses a finer search since increments of .02/50 = .0001 are employed. We see that indeed that MLE increases from 120.1671 to 120.3717.

In the third application, we again use the default iter of 100 and see that MLE increases to 120.3876. The processing of this case is slower than the previous one (by a factor of about 2^3 = 8).

Finally, in the last example, we set a = 1.1253 and c = 3.8105. Thus, the function only needs to search for the value of b. We use iter = 1,000, to obtain a slightly better value of MLE, namely MLE =120.3908. This case is much faster than the previous case since there are 1,000 iterations instead of 100 × 100 × 100 = 100,000.

Examples Workbook

Click here to download the Excel workbook with the examples described on this webpage.

References

Rao, K. S., Viswam, N., Anjaneyulu, G. (2021) PERT distribution and its properties.
https://www.irjmets.com/uploadedfiles/paper/volume_3/issue_10_october_2021/16799/final/fin_irjmets1635145380.pdf

Rao, K. S., Viswam, N., Anjaneyulu, G. (2021) Estimation of parameters of PERT distribution by using maximum product of spacings method
https://ijcrt.org/papers/IJCRT2109281.pdf

Leave a Comment