UncertainLMH distribution

New in Analytica 5.0

UncertainLMH( xLow, xMedian, xHigh, pLow, lb, ub)

A simple and convenient way to specify a smooth probability distribution with three points, «xLow», «xMedian» and «xHigh». By default it assumes these parameters are the 10th, 50th, and 90th percentiles. Or you can specify the optional «pLow» probability percentile for «xLow», and it uses 1- «pLow» for «xHigh». For example,

UncertainLMH(10, 20, 30, pLow: 25%)

treats the first three parameters as the 25th, 50th, and 75th percentiles. «xMedian» is always the median.

You can set a lower bound, upper bound, or both: The distribution is unbounded below unless you specify a value for «lb» (lower bound). Similarly it is unbounded above unless you specify a value for «ub» (upper bound).

The result is a sample from a 3-term Keelin distribution, also known as a MetaLog, with a Symmetric Percentile Triplet (SPT), introduced in:

This SPT Keelin distribution is a convenient special case of the full Keelin distribution, also available in Analytica.

See #Analytic distribution functions below for functions that give exact values for the cumulative, inverse cumulative, and density functions.


The parameters must be ordered as «lb» < «xLow» < «xMedian» < «xHigh» < «ub». But, not all ordered parameters result in a valid 3-term Keelin distribution. Those combinations that are valid are called feasible, and parameter combinations that cannot be fit exactly are called infeasible. Infeasible combinations are typically very extreme. If the parameters are infeasible, an error message identifies the range of possible values for «xMedian» that would be feasible given the other parameters.

For the unbounded case, the parameter combination is feasible when (Keelin 2016, Proposition 2)

$ k < r < 1-k $


$ k = {1\over 2} ( 1 - 1.66711 ({1\over 2} - p_{low} ) $
$ r = {{x_{median} - x_{low}} \over { x_{high} - x_{low} } } $
k = 0.16658 in the 10-50-90 case.


An unbounded smooth continuous distribution with a 10% probability of being <= 8, a 50% probability of being <= 29, and a 90% probability of being less that 44. In other words, the 10-50-90 estimates are 8,29,44:

UncertainLMH(8, 29, 44)
UncertainLMH8-29-44 PDF.pngUncertainLMH8-29-44 CDF.png

A positive-only (semi-bounded) distribution with 10-50-90 percentiles of 8, 29 and 44:

UncertainLMH(8, 29, 44, lb:0)
UncertainLMH8-29-44lb PDF.pngUncertainLMH8-29-44lb CDF.png

A semi-bounded from above distribution with 10-50-90 percentiles of 8, 29, 44 and an upper bound of 60

UncertainLMH(8, 29, 44, ub:60)
UncertainLMH8-29-44ub PDF.pngUncertainLMH8-29-44ub CDF.png

A full bounded (between 0 and 60) distribution with 10-50-90 percentiles of 8, 29 and 44.

UncertainLMH(8, 29, 44, lb:0 ub:60)
UncertainLMH8-29-44lbub PDF.pngUncertainLMH8-29-44lbub CDF.png

Comparison of three unbounded distributions with different percentile levels. 5-50-95, 10-50-90 and 25-50-75. Notice that the CDF's value at X=8 is equal to the percentile level, that all three CDF curves pass through (29, 0.5), and that the CDF at x=44 is 1 minus the percentile level.

Index percentile := [5%, 10%, 25%] Do UncertainLMH(8, 29, 44, percentile)
UncertainLMH8-29-44 ps PDF.pngUncertainLMH8-29-44 ps CDF.png

Analytic distribution functions

These analytic distribution functions compute the exact metric at a point on a distribution with no sampling error:

DensUncertainLMH( x, xLow, xMedian, xHigh, pLow, lb, ub)

The probability density function. Returns the probability density at «x».

CumUncertainLMH( x, xLow, xMedian, xHigh, pLow, lb, ub)

The cumulative probability function, computes the probability that the true value (or a value sampled from the distribution) is less than or equal to «x».

CumUncertainLMHInv( p, xLow, xMedian, xHigh, pLow, lb, ub)

The inverse cumulative probability function, also called the quantile function. Returns the value x where there is a «p» probability of the true value (or a value sampled randomly from the distribution) being less than or equal to x.

See Also


You are not allowed to post comments.