In @Risk and Crystal Ball, we are allowed to define the probability distribution using percentile data. For example, we can define a log normal distribution just by inputting 3 data points, e.g. P10, P50 and P90 estimates. Then the software will come out with the PDF of the distribution. How is this actually done? Example in Matlab, Excel or Mathematica would be fine.
In the documentation, is not clearly stated how the software are doing it.
Starting with a log-normal distribution derived from a normal distribution with mean = 1 and standard deviation = 0.5, calculating the 10th, 50th and 90th percentiles.
μ = 1;
σ = 0.5;
p[n_] := Quantile[LogNormalDistribution[μ, σ], n]
p10 = p[0.1]
1.43222
p50 = p[0.5]
2.71828
p90 = p[0.9]
5.15917
Show[
Plot[PDF[LogNormalDistribution[μ, σ], x], {x, 0, 12}],
Plot[PDF[LogNormalDistribution[μ, σ], x], {x, 0, #},
PlotStyle -> None, Filling -> Axis] & /@ {p10, p50, p90},
Epilog -> MapThread[Inset[#1, {#2, 0.025}] &,
{{"p10", "p50", "p90"}, {p10, p50, p90}}]]

Now back-calculating μ and σ from only the percentiles as the OP's question requires.
Clear[μ, σ]
sol = Quiet@First@Solve[{
Quantile[LogNormalDistribution[μ, σ], 0.1] == p10,
Quantile[LogNormalDistribution[μ, σ], 0.5] == p50,
Quantile[LogNormalDistribution[μ, σ], 0.9] == p90}, {μ, σ}]
{μ -> 1., σ -> 0.5}
Log-normal mean and variance:
Mean[LogNormalDistribution[μ, σ]] /. sol
3.08022
Variance[LogNormalDistribution[μ, σ]] /. sol
2.69476
Examining symbolic evaluation and definitions to understand the calculations.

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With