decompose_uncertainty
Split a model output's uncertainty into epistemic (reducible with more data) and aleatory (natural variability) components using two simulation runs, to identify whether to collect more data or manage variability.
Instructions
ModelRisk: Split an output's uncertainty into EPISTEMIC (parameter / knowledge uncertainty — reducible with more data) and ALEATORY (natural variability — irreducible), via the law of total variance. ModelRisk has no two-dimensional-simulation worksheet function, so this approximates it from two runs you provide as two outputs: total_output from a full run (everything varying), and conditional_output from a run with the epistemic/parameter inputs FROZEN at point estimates (only natural variability left). Epistemic variance = total - aleatory. Tells you whether collecting more data (cuts epistemic) or hedging variability (aleatory) is the lever.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_n | No | Max samples to read (default 100 000). | |
| total_output | Yes | Output name from the full run (all inputs varying). | |
| workbook_name | No | Workbook name. Omit for the active workbook. | |
| conditional_output | Yes | Output name from the run with epistemic inputs frozen. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| total_stdev | Yes | ||
| total_output | Yes | ||
| aleatory_share | Yes | Aleatory fraction of total variance (0-1). | |
| aleatory_stdev | Yes | ||
| interpretation | Yes | Which uncertainty dominates and what reduces it. | |
| total_variance | Yes | ||
| epistemic_share | Yes | Epistemic fraction of total variance (0-1). | |
| epistemic_stdev | Yes | sqrt(max(epistemic_variance, 0)). | |
| aleatory_variance | Yes | Variability remaining when epistemic (parameter) inputs are frozen. | |
| conditional_output | Yes | ||
| epistemic_variance | Yes | total - aleatory; the part driven by parameter uncertainty. |