Uncertainty Propagation (Forward UQ)
Theory: carrying input scatter to the output
Overview
My inputs have scatter, yet the analysis gives a single value. How do I show a range?
That's uncertainty propagation, or forward UQ. Represent scatter in properties, loads and dimensions as probability distributions and find how much scatter they create in the result. The simple approach computes the result's sensitivity to each input and combines them to first order (FOSM). The other is Monte Carlo: vary inputs randomly hundreds or thousands of times and build the result's distribution directly. The choice depends on whether you want mean and scatter, or the probability of exceeding a limit.
First order (FOSM)
For independent inputs, output variance is approximated by the sum of squared sensitivity times input variance. For cantilever deflection, the coefficients of variation $c$ of load, modulus and thickness give deflection's; thickness enters cubed, so its coefficient is tripled.
Monte Carlo
The standard error of an exceedance-probability estimate falls with the square root of the run count $N$; smaller probabilities need more runs for the same relative accuracy.
The name ‘Monte Carlo’
Monte Carlo methods were devised in the 1940s at Los Alamos by Ulam, von Neumann and others to compute neutron diffusion. Ulam, recovering from illness, pondered the odds of winning a solitaire game and realised that trying many times was faster than solving it analytically. The name comes from the Monaco casino his uncle reportedly frequented. Run on the early ENIAC computer, the method is now widely used in uncertainty propagation, radiation transport, finance and statistical physics.
Worked example: cantilever tip deflection
A cantilever 1 m long and 50 mm wide. Load 500 N (CoV 10%), modulus 200 GPa (5%) and thickness 20 mm (2%), all normal; tip deflection (nominal 25.0 mm) and the probability of exceeding a 30 mm limit were computed:
| Method | Mean | Std dev | P(δ > 30 mm) |
|---|---|---|---|
| First order (FOSM) | 25.00 mm | 3.17 mm | 5.75% |
| Monte Carlo (10⁶ runs) | 25.12 mm | 3.20 mm | 6.91% |
Variance contributions: load 62%, thickness 22%, modulus 16%. Thickness, despite only 2% CoV, ranks second because it enters cubed.
The standard deviations nearly match, yet the exceedance probabilities differ by 20%.
Deflection varies inversely with thickness cubed and with modulus, so its distribution stretches slightly to the right (skewness 0.25). First order assumes a normal distribution and underestimates that right tail; even the mean is off by 0.5%. First order suffices for the size of scatter, but tail values such as failure probability need Monte Carlo or higher-order methods — especially when probabilities fall below 1%.
Example 2: sample count and scatter
Repeating each estimate 200 times gave the scatter (1σ) of the estimates:
| Runs | Std estimate (MC) | Exceedance (MC) | Exceedance (LHS) |
|---|---|---|---|
| 100 | 3.19 ± 0.23 mm | 7.2 ± 2.4% | 6.9 ± 1.9% |
| 1,000 | 3.20 ± 0.07 mm | 6.9 ± 0.8% | 7.0 ± 0.7% |
| 10,000 | 3.20 ± 0.02 mm | 6.9 ± 0.27% | 7.0 ± 0.20% |
Analysis workflow
- Select uncertain inputs and set distribution shape and size from test data or standards.
- Use first order to get sensitivities and variance shares, narrowing to important inputs.
- If tails such as exceedance probability are needed, build the distribution with Monte Carlo or Latin hypercube.
- For expensive analyses, build a surrogate (polynomial chaos, kriging) and sample it heavily.
- Report the scatter of the estimates too (sampling error).
“We thought 100 runs was enough”
A component's strength was assessed with 100 Monte Carlo runs and reported a 0% failure probability. Rerunning with 10,000 gave 0.3%. With 100 runs a 0.3% event occurs only 0.3 times on average, so zero is typical. A probability estimated by counting isn't trustworthy until the event occurs tens of times. For small probabilities, increase the run count or use techniques such as importance sampling.
Common mistakes
Mistakes and fixes
| Mistake | Effect | Fix |
|---|---|---|
| Tail probabilities by first order | Probability underestimated | Check with Monte Carlo etc. |
| Too few runs | Small probabilities show as zero | Enough runs for tens of events |
| Ignoring input correlation | Scatter misjudged | Sample with correlation |
| Arbitrary distribution shapes | Tail probability shifts | Choose from data |
| Not reporting estimate error | Overconfidence | Show confidence intervals |
I'd like to learn related topics.
Try the uncertainty propagation calculator and Monte Carlo statistics simulator. Related methods include Latin hypercube sampling, Sobol sensitivity analysis, polynomial chaos expansion and kriging surrogates; for kinds of uncertainty, see epistemic and aleatory uncertainty.
Related Topics
Experience the theory firsthand with the interactive simulator for this field
All Simulators